diff options
author | Russell King <rmk_cubox@arm.linux.org.uk> | 2013-06-14 12:14:34 +0100 |
---|---|---|
committer | Russell King <rmk@arm.linux.org.uk> | 2013-06-14 13:07:26 +0100 |
commit | 457cc1fadb456c68a5226e67c95ccd0f1c5e6893 (patch) | |
tree | 781a78be8d6551acb53c592acc6e51247a171a01 | |
parent | 204ea08a1598909ae05c217e1e7ca709776efbde (diff) |
Initialize vivante drm_fd in vivante_ScreenInit
Move drm_fd out of the DRI2 code into the upper vivante layer.
Signed-off-by: Russell King <rmk_cubox@arm.linux.org.uk>
-rw-r--r-- | src/vivante.c | 4 | ||||
-rw-r--r-- | src/vivante_accel.h | 2 | ||||
-rw-r--r-- | src/vivante_dri2.c | 7 | ||||
-rw-r--r-- | src/vivante_dri2.h | 2 |
4 files changed, 7 insertions, 8 deletions
diff --git a/src/vivante.c b/src/vivante.c index d9bdb5c..bbc1c8d 100644 --- a/src/vivante.c +++ b/src/vivante.c @@ -558,7 +558,6 @@ vivante_Composite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, Bool vivante_ScreenInit(ScreenPtr pScreen, struct drm_armada_bufmgr *mgr) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - int drm_fd = GET_DRM_INFO(pScrn)->fd; #ifdef RENDER PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); #endif @@ -572,6 +571,7 @@ Bool vivante_ScreenInit(ScreenPtr pScreen, struct drm_armada_bufmgr *mgr) if (!vivante) return FALSE; + vivante->drm_fd = GET_DRM_INFO(pScrn)->fd; vivante->scrnIndex = pScrn->scrnIndex; list_init(&vivante->batch_list); vivante->bufmgr = mgr; @@ -609,7 +609,7 @@ Bool vivante_ScreenInit(ScreenPtr pScreen, struct drm_armada_bufmgr *mgr) vivante_set_screen_priv(pScreen, vivante); #ifdef HAVE_DRI2 - if (!vivante_dri2_ScreenInit(pScreen, drm_fd)) + if (!vivante_dri2_ScreenInit(pScreen)) goto fail; #endif diff --git a/src/vivante_accel.h b/src/vivante_accel.h index 1d1bb31..b1441e7 100644 --- a/src/vivante_accel.h +++ b/src/vivante_accel.h @@ -42,6 +42,7 @@ struct armada_drm_info; #define dbg(fmt...) fprintf(stderr, fmt) struct vivante { + int drm_fd; gcoOS os; gcoHAL hal; gco2D e2d; @@ -65,7 +66,6 @@ struct vivante { int scrnIndex; #ifdef HAVE_DRI2 struct vivante_dri2_info *dri2; - int drm_fd; #endif CloseScreenProcPtr CloseScreen; diff --git a/src/vivante_dri2.c b/src/vivante_dri2.c index 42c3876..2a6f0fe 100644 --- a/src/vivante_dri2.c +++ b/src/vivante_dri2.c @@ -674,7 +674,7 @@ vivante_dri2_ScheduleWaitMSC(ClientPtr client, DrawablePtr draw, static int dri2_server_generation; -Bool vivante_dri2_ScreenInit(ScreenPtr pScreen, int drm_fd) +Bool vivante_dri2_ScreenInit(ScreenPtr pScreen) { struct vivante *vivante = vivante_get_screen_priv(pScreen); struct vivante_dri2_info *dri; @@ -711,14 +711,13 @@ Bool vivante_dri2_ScreenInit(ScreenPtr pScreen, int drm_fd) } dri = xnfcalloc(1, sizeof *dri); - dri->devname = drmGetDeviceNameFromFd(drm_fd); + dri->devname = drmGetDeviceNameFromFd(vivante->drm_fd); vivante->dri2 = dri; - vivante->drm_fd = drm_fd; memset(&info, 0, sizeof(info)); info.version = 4; - info.fd = drm_fd; + info.fd = vivante->drm_fd; info.driverName = "galdri"; info.deviceName = dri->devname; diff --git a/src/vivante_dri2.h b/src/vivante_dri2.h index 615d528..ef2c39e 100644 --- a/src/vivante_dri2.h +++ b/src/vivante_dri2.h @@ -7,7 +7,7 @@ #ifndef VIVANTE_DRI2_H #define VIVANTE_DRI2_H -Bool vivante_dri2_ScreenInit(ScreenPtr pScreen, int drm_fd); +Bool vivante_dri2_ScreenInit(ScreenPtr pScreen); void vivante_dri2_CloseScreen(int scrnIndex, ScreenPtr pScreen); void vivante_dri2_vblank(int fd, unsigned frame, unsigned tv_sec, unsigned tv_usec, void *event); |