xf86-video-amdgpu: Branch 'master' - 3 commits

Michel Dänzer daenzer at kemper.freedesktop.org
Tue Nov 3 19:24:43 PST 2015


 src/amdgpu_dri3.c |    6 +++---
 src/amdgpu_kms.c  |   11 +++++------
 2 files changed, 8 insertions(+), 9 deletions(-)

New commits:
commit 92e7c93d2f9c3036da1a17d7fccccb6f9e9eaa3d
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Nov 2 18:29:24 2015 +0900

    Move scrn/info declaration inside USE_GLAMOR in amdgpu_dri3_fd_from_pixmap
    
    Fixes warning when building with --disable-glamor:
    
    ../../src/amdgpu_dri3.c: In function 'amdgpu_dri3_fd_from_pixmap':
    ../../src/amdgpu_dri3.c:135:16: warning: unused variable 'info' [-Wunused-variable]
      AMDGPUInfoPtr info = AMDGPUPTR(scrn);
                    ^
    
    Reported-by: Jammy Zhou <Jammy.Zhou at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/amdgpu_dri3.c b/src/amdgpu_dri3.c
index 53871be..73a79ac 100644
--- a/src/amdgpu_dri3.c
+++ b/src/amdgpu_dri3.c
@@ -131,13 +131,13 @@ static int amdgpu_dri3_fd_from_pixmap(ScreenPtr screen,
 				      CARD16 *stride,
 				      CARD32 *size)
 {
-	ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
-	AMDGPUInfoPtr info = AMDGPUPTR(scrn);
 	struct amdgpu_buffer *bo;
 	struct amdgpu_bo_info bo_info;
 	uint32_t fd;
-
 #ifdef USE_GLAMOR
+	ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+	AMDGPUInfoPtr info = AMDGPUPTR(scrn);
+
 	if (info->use_glamor)
 		return glamor_fd_from_pixmap(screen, pixmap, stride, size);
 #endif
commit c9bd1399a13cea2e1331af2c826ca054b88db071
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Nov 2 18:21:50 2015 +0900

    Call AMDGPUFreeRec from AMDGPUFreeScreen_KMS even if info == NULL
    
    It's safe now.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 41f01b3..fd89ba2 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1031,15 +1031,10 @@ static Bool AMDGPUCloseScreen_KMS(CLOSE_SCREEN_ARGS_DECL)
 void AMDGPUFreeScreen_KMS(FREE_SCREEN_ARGS_DECL)
 {
 	SCRN_INFO_PTR(arg);
-	AMDGPUInfoPtr info = AMDGPUPTR(pScrn);
 
 	xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, AMDGPU_LOGLEVEL_DEBUG,
 		       "AMDGPUFreeScreen\n");
 
-	/* when server quits at PreInit, we don't need do this anymore */
-	if (!info)
-		return;
-
 	AMDGPUFreeRec(pScrn);
 }
 
commit fb8444e731765588c0ff1e9053c1c7b73f5f0907
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Nov 2 18:20:41 2015 +0900

    Don't use AMDGPUEntPriv in AMDGPUFreeRec
    
    It crashes if info == NULL.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 5e17525..41f01b3 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -107,7 +107,8 @@ static Bool AMDGPUGetRec(ScrnInfoPtr pScrn)
 /* Free our private AMDGPUInfoRec */
 static void AMDGPUFreeRec(ScrnInfoPtr pScrn)
 {
-	AMDGPUEntPtr pAMDGPUEnt = AMDGPUEntPriv(pScrn);
+	DevUnion *pPriv;
+	AMDGPUEntPtr pAMDGPUEnt;
 	AMDGPUInfoPtr info;
 
 	if (!pScrn)
@@ -117,6 +118,9 @@ static void AMDGPUFreeRec(ScrnInfoPtr pScrn)
 	if (info && info->fbcon_pixmap)
 		pScrn->pScreen->DestroyPixmap(info->fbcon_pixmap);
 
+	pPriv = xf86GetEntityPrivate(xf86GetEntityInfo(pScrn->entityList[pScrn->numEntities - 1])->index,
+				     gAMDGPUEntityIndex);
+	pAMDGPUEnt = pPriv->ptr;
 	if (pAMDGPUEnt->fd > 0) {
 		DevUnion *pPriv;
 		AMDGPUEntPtr pAMDGPUEnt;


More information about the xorg-commit mailing list