diff options
author | 2010-05-19 23:03:01 +0200 | |
---|---|---|
committer | 2010-05-19 23:14:08 +0200 | |
commit | 81a3db27c33d87401b33362c58f26ad69e2d7b4e (patch) | |
tree | 9883b73f302109b63f3e2a9b6177aa9fe6314e57 /recipes/xorg-driver | |
parent | 9ea3fb75e6b04bfee8b8d17bbc0ea0d6a6ff41e9 (diff) | |
download | openembedded-81a3db27c33d87401b33362c58f26ad69e2d7b4e.tar.gz |
xf86-video-glamo: bump SRCREV, remove pushed patch and -pedantic removal (already in git)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes/xorg-driver')
-rw-r--r-- | recipes/xorg-driver/xf86-video-glamo/modesetting.patch | 184 | ||||
-rw-r--r-- | recipes/xorg-driver/xf86-video-glamo_git.bb | 10 |
2 files changed, 2 insertions, 192 deletions
diff --git a/recipes/xorg-driver/xf86-video-glamo/modesetting.patch b/recipes/xorg-driver/xf86-video-glamo/modesetting.patch deleted file mode 100644 index 99e11df352..0000000000 --- a/recipes/xorg-driver/xf86-video-glamo/modesetting.patch +++ /dev/null @@ -1,184 +0,0 @@ -From: Thomas White <taw@bitwiz.org.uk> -Date: Sun, 25 Apr 2010 21:19:16 +0000 (+0200) -Subject: Support newer modesetting callbacks to allow rotation -X-Git-Url: http://git.bitwiz.org.uk/?p=xf86-video-glamo.git;a=commitdiff_plain;h=cd91a3c251dfd0b9d4e1230b6f9dd498e46e8fb6;hp=77b6d1b7363d3ff28f063ed92c9ed47194f70b20 - -Support newer modesetting callbacks to allow rotation ---- - -diff --git a/src/glamo-kms-crtc.c b/src/glamo-kms-crtc.c -index e00c41e..4df6b87 100644 ---- a/src/glamo-kms-crtc.c -+++ b/src/glamo-kms-crtc.c -@@ -80,6 +80,118 @@ static void crtc_dpms(xf86CrtcPtr crtc, int mode) - } - - -+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) -+ -+ -+static Bool crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode, -+ Rotation rot, int x, int y) -+{ -+ ScrnInfoPtr scrn = crtc->scrn; -+ xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); -+ DisplayModeRec saved_mode; -+ int saved_x, saved_y; -+ Rotation saved_rotation; -+ GlamoPtr pGlamo = GlamoPTR(crtc->scrn); -+ Bool ret = FALSE; -+ int i; -+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(crtc->scrn); -+ xf86OutputPtr output = config->output[config->compat_output]; -+ drmModeConnectorPtr drm_connector = output->driver_private; -+ struct crtc_private *crtcp = crtc->driver_private; -+ drmModeCrtcPtr drm_crtc = crtcp->drm_crtc; -+ drmModeModeInfo drm_mode; -+ -+ crtc->enabled = xf86CrtcInUse (crtc); -+ -+ if ( !crtc->enabled ) return TRUE; -+ -+ saved_mode = crtc->mode; -+ saved_x = crtc->x; -+ saved_y = crtc->y; -+ saved_rotation = crtc->rotation; -+ -+ crtc->mode = *mode; -+ crtc->x = x; -+ crtc->y = y; -+ crtc->rotation = rot; -+ -+ crtc->funcs->dpms(crtc, DPMSModeOff); -+ for ( i=0; i<xf86_config->num_output; i++ ) { -+ xf86OutputPtr output = xf86_config->output[i]; -+ if (output->crtc != crtc)continue; -+ output->funcs->prepare(output); -+ } -+ -+ /* Set the mode... */ -+ drm_mode.clock = mode->Clock * 1000.0; -+ if ( (rot == RR_Rotate_0) || (rot == RR_Rotate_180) ) { -+ drm_mode.hdisplay = mode->HDisplay; -+ drm_mode.hsync_start = mode->HSyncStart; -+ drm_mode.hsync_end = mode->HSyncEnd; -+ drm_mode.htotal = mode->HTotal; -+ drm_mode.vdisplay = mode->VDisplay; -+ drm_mode.vsync_start = mode->VSyncStart; -+ drm_mode.vsync_end = mode->VSyncEnd; -+ drm_mode.vtotal = mode->VTotal; -+ } else if ( (rot == RR_Rotate_90) || (rot == RR_Rotate_270) ) { -+ drm_mode.hdisplay = mode->VDisplay; -+ drm_mode.hsync_start = mode->VSyncStart; -+ drm_mode.hsync_end = mode->VSyncEnd; -+ drm_mode.htotal = mode->VTotal; -+ drm_mode.vdisplay = mode->HDisplay; -+ drm_mode.vsync_start = mode->HSyncStart; -+ drm_mode.vsync_end = mode->HSyncEnd; -+ drm_mode.vtotal = mode->HTotal; -+ } else { -+ drm_mode.hdisplay = mode->HDisplay; -+ drm_mode.hsync_start = mode->HSyncStart; -+ drm_mode.hsync_end = mode->HSyncEnd; -+ drm_mode.htotal = mode->HTotal; -+ drm_mode.vdisplay = mode->VDisplay; -+ drm_mode.vsync_start = mode->VSyncStart; -+ drm_mode.vsync_end = mode->VSyncEnd; -+ drm_mode.vtotal = mode->VTotal; -+ ErrorF("Couldn't determine rotation\n"); -+ } -+ drm_mode.flags = mode->Flags; -+ drm_mode.hskew = mode->HSkew; -+ drm_mode.vscan = mode->VScan; -+ drm_mode.vrefresh = mode->VRefresh; -+ if ( !mode->name ) xf86SetModeDefaultName(mode); -+ strncpy(drm_mode.name, mode->name, DRM_DISPLAY_MODE_LEN); -+ drmModeSetCrtc(pGlamo->drm_fd, drm_crtc->crtc_id, pGlamo->fb_id, -+ x, y, &drm_connector->connector_id, 1, &drm_mode); -+ -+ crtc->funcs->dpms (crtc, DPMSModeOn); -+ for (i = 0; i < xf86_config->num_output; i++){ -+ xf86OutputPtr output = xf86_config->output[i]; -+ if (output->crtc == crtc) { -+ output->funcs->commit(output); -+#ifdef RANDR_12_INTERFACE -+ if (output->randr_output) { -+ RRPostPendingProperties (output->randr_output); -+ } -+#endif -+ } -+ } -+ -+ ret = TRUE; -+ if ( scrn->pScreen ) xf86CrtcSetScreenSubpixelOrder(scrn->pScreen); -+ -+ if ( !ret ) { -+ crtc->x = saved_x; -+ crtc->y = saved_y; -+ crtc->rotation = saved_rotation; -+ crtc->mode = saved_mode; -+ } -+ -+ return ret; -+} -+ -+ -+#else /* XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) */ -+ -+ - static Bool crtc_lock(xf86CrtcPtr crtc) - { - return FALSE; -@@ -140,6 +252,8 @@ static void crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, - &drm_connector->connector_id, 1, &drm_mode); - } - -+#endif /* XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) */ -+ - - void crtc_load_lut(xf86CrtcPtr crtc) - { -@@ -185,12 +299,22 @@ static const xf86CrtcFuncsRec crtc_funcs = { - .dpms = crtc_dpms, - .save = NULL, - .restore = NULL, -+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) -+ .lock = NULL, -+ .unlock = NULL, -+ .mode_fixup = NULL, -+ .prepare = NULL, -+ .mode_set = NULL, -+ .commit = NULL, -+ .set_mode_major = crtc_set_mode_major, -+#else - .lock = crtc_lock, - .unlock = crtc_unlock, - .mode_fixup = crtc_mode_fixup, - .prepare = crtc_prepare, - .mode_set = crtc_mode_set, - .commit = crtc_commit, -+#endif - .gamma_set = crtc_gamma_set, - .shadow_create = crtc_shadow_create, - .shadow_allocate = crtc_shadow_allocate, -diff --git a/src/glamo-kms-driver.c b/src/glamo-kms-driver.c -index 1dce5d8..ce87caa 100644 ---- a/src/glamo-kms-driver.c -+++ b/src/glamo-kms-driver.c -@@ -133,10 +133,16 @@ void GlamoKMSAdjustFrame(int scrnIndex, int x, int y, int flags) - xf86CrtcPtr crtc = output->crtc; - - if (crtc && crtc->enabled) { -+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,5,0,0,0) -+ crtc->funcs->set_mode_major(crtc, pScrn->currentMode, -+ crtc->rotation, x, y); -+#else - crtc->funcs->mode_set(crtc, - pScrn->currentMode, - pScrn->currentMode, - x, y); -+ -+#endif - crtc->x = output->initial_x + x; - crtc->y = output->initial_y + y; - } diff --git a/recipes/xorg-driver/xf86-video-glamo_git.bb b/recipes/xorg-driver/xf86-video-glamo_git.bb index 6d95e8c32b..91fd549084 100644 --- a/recipes/xorg-driver/xf86-video-glamo_git.bb +++ b/recipes/xorg-driver/xf86-video-glamo_git.bb @@ -1,19 +1,13 @@ require xorg-driver-video.inc -SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;protocol=git;branch=master \ - file://modesetting.patch;patch=1" +SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;protocol=git;branch=master" S = "${WORKDIR}/git" -SRCREV = "77b6d1b7363d3ff28f063ed92c9ed47194f70b20" +SRCREV = "a5ef0525ab34d7d5590aba51651ae1a6f40858bc" PV = "1.0.0+gitr${SRCPV}" PE = "2" PR = "r5" -do_configure_prepend() { - # pedantic emits warning about GCC extension used in xserver header file edid.h (from version 1.8) and because of -Werror it fill fail - sed -i 's/ -pedantic / /g' ${S}/src/Makefile.am -} - RDEPENDS = "xserver-xorg-extension-dri xserver-xorg-extension-dri2 xserver-xorg-extension-glx mesa-dri" DEPENDS += "libdrm" |