From c2a86e64173f7b6eb0928fbe6c0e0c633ad41515 Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Sun, 27 Nov 2011 23:03:10 +0200 Subject: [PATCH] --- yaml --- r: 281133 b: refs/heads/master c: 776115a0eb7d7e6ad3325c2ff1f09f8a5b09a807 h: refs/heads/master i: 281131: de02317eceb0d616b1f8e8cfbd6b0cd137a4643e v: v3 --- [refs] | 2 +- trunk/drivers/staging/xgifb/vb_setmode.c | 62 ++++++++++++------------ trunk/drivers/staging/xgifb/vb_setmode.h | 3 -- 3 files changed, 32 insertions(+), 35 deletions(-) diff --git a/[refs] b/[refs] index 0efa1226d0e0..8f170dfc049f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0ebf538b8ad274c621869b5008779b36c684609a +refs/heads/master: 776115a0eb7d7e6ad3325c2ff1f09f8a5b09a807 diff --git a/trunk/drivers/staging/xgifb/vb_setmode.c b/trunk/drivers/staging/xgifb/vb_setmode.c index abf89763fddb..259474f25846 100644 --- a/trunk/drivers/staging/xgifb/vb_setmode.c +++ b/trunk/drivers/staging/xgifb/vb_setmode.c @@ -3788,6 +3788,37 @@ static void XGI_XG21BLSignalVDD(unsigned short tempbh, unsigned short tempbl, xgifb_reg_set(pVBInfo->P3d4, 0x48, temp); } +static void XGI_XG27BLSignalVDD(unsigned short tempbh, unsigned short tempbl, + struct vb_device_info *pVBInfo) +{ + unsigned char CR4A, temp; + unsigned short tempbh0, tempbl0; + + tempbh0 = tempbh; + tempbl0 = tempbl; + tempbh0 &= 0x20; + tempbl0 &= 0x20; + tempbh0 >>= 3; + tempbl0 >>= 3; + + if (tempbh & 0x20) { + temp = (tempbl >> 4) & 0x02; + + /* CR B4[1] */ + xgifb_reg_and_or(pVBInfo->P3d4, 0xB4, ~0x02, temp); + + } + xgifb_reg_and_or(pVBInfo->P3d4, 0xB4, ~tempbh0, tempbl0); + + CR4A = xgifb_reg_get(pVBInfo->P3d4, 0x4A); + tempbh &= 0x03; + tempbl &= 0x03; + tempbh <<= 2; + tempbl <<= 2; /* GPIOC,GPIOD */ + xgifb_reg_and(pVBInfo->P3d4, 0x4A, ~tempbh); /* enable GPIO write */ + xgifb_reg_and_or(pVBInfo->P3d4, 0x48, ~tempbh, tempbl); +} + void XGI_DisplayOn(struct xgi_hw_device_info *pXGIHWDE, struct vb_device_info *pVBInfo) { @@ -5983,37 +6014,6 @@ static void XGI_DisableGatingCRT(struct xgi_hw_device_info *HwDeviceExtension, xgifb_reg_and_or(pVBInfo->P3d4, 0x63, 0xBF, 0x00); } -void XGI_XG27BLSignalVDD(unsigned short tempbh, unsigned short tempbl, - struct vb_device_info *pVBInfo) -{ - unsigned char CR4A, temp; - unsigned short tempbh0, tempbl0; - - tempbh0 = tempbh; - tempbl0 = tempbl; - tempbh0 &= 0x20; - tempbl0 &= 0x20; - tempbh0 >>= 3; - tempbl0 >>= 3; - - if (tempbh & 0x20) { - temp = (tempbl >> 4) & 0x02; - - /* CR B4[1] */ - xgifb_reg_and_or(pVBInfo->P3d4, 0xB4, ~0x02, temp); - - } - xgifb_reg_and_or(pVBInfo->P3d4, 0xB4, ~tempbh0, tempbl0); - - CR4A = xgifb_reg_get(pVBInfo->P3d4, 0x4A); - tempbh &= 0x03; - tempbl &= 0x03; - tempbh <<= 2; - tempbl <<= 2; /* GPIOC,GPIOD */ - xgifb_reg_and(pVBInfo->P3d4, 0x4A, ~tempbh); /* enable GPIO write */ - xgifb_reg_and_or(pVBInfo->P3d4, 0x48, ~tempbh, tempbl); -} - /* --------------------------------------------------------------------- */ unsigned short XGI_GetLVDSOEMTableIndex(struct vb_device_info *pVBInfo) { diff --git a/trunk/drivers/staging/xgifb/vb_setmode.h b/trunk/drivers/staging/xgifb/vb_setmode.h index 096646349dce..119884a31852 100644 --- a/trunk/drivers/staging/xgifb/vb_setmode.h +++ b/trunk/drivers/staging/xgifb/vb_setmode.h @@ -47,9 +47,6 @@ extern unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, unsigned short ModeNo, unsigned short ModeIdIndex, struct vb_device_info *); -extern void XGI_XG27BLSignalVDD(unsigned short tempbh, - unsigned short tempbl, - struct vb_device_info *pVBInfo); extern void XGI_XG21SetPanelDelay(unsigned short tempbl, struct vb_device_info *pVBInfo); extern unsigned char XGI_XG21CheckLVDSMode(unsigned short ModeNo,