From f8ca7f0eab5be966fc096b8f115105333d020854 Mon Sep 17 00:00:00 2001 From: Peter Huewe Date: Sun, 3 Feb 2013 22:54:38 +0100 Subject: [PATCH] --- yaml --- r: 354358 b: refs/heads/master c: 06cc47b90b498dd4e6e33ec5fad276d1b1c68e43 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/xgifb/vb_setmode.c | 48 +++++++----------------- 2 files changed, 14 insertions(+), 36 deletions(-) diff --git a/[refs] b/[refs] index 79196ad19e32..d8c0e2da9db1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5d1c2a9b289d14ae96b98d33895571f9613ca4f6 +refs/heads/master: 06cc47b90b498dd4e6e33ec5fad276d1b1c68e43 diff --git a/trunk/drivers/staging/xgifb/vb_setmode.c b/trunk/drivers/staging/xgifb/vb_setmode.c index 1ff1178b196f..c5faa8984f1b 100644 --- a/trunk/drivers/staging/xgifb/vb_setmode.c +++ b/trunk/drivers/staging/xgifb/vb_setmode.c @@ -4683,44 +4683,22 @@ static unsigned char XGI_IsLCDON(struct vb_device_info *pVBInfo) return 0; } -/* --------------------------------------------------------------------- */ -/* Function : XGI_DisableChISLCD */ -/* Input : */ -/* Output : 0 -> Not LCD Mode */ -/* Description : */ -/* --------------------------------------------------------------------- */ -static unsigned char XGI_DisableChISLCD(struct vb_device_info *pVBInfo) -{ - unsigned short tempbx, tempah; - - tempbx = pVBInfo->SetFlag & (DisableChA | DisableChB); - tempah = ~((unsigned short) xgifb_reg_get(pVBInfo->Part1Port, 0x2E)); - - if (tempbx & (EnableChA | DisableChA)) { - if (!(tempah & 0x08)) /* Chk LCDA Mode */ - return 0; - } - - if (!(tempbx & (EnableChB | DisableChB))) - return 0; - - if (tempah & 0x01) /* Chk LCDB Mode */ - return 1; - - return 0; -} - /* --------------------------------------------------------------------- */ /* Function : XGI_EnableChISLCD */ /* Input : */ /* Output : 0 -> Not LCD mode */ -/* Description : */ +/* Description : if bool enable = true -> enable, else disable */ /* --------------------------------------------------------------------- */ -static unsigned char XGI_EnableChISLCD(struct vb_device_info *pVBInfo) +static unsigned char XGI_EnableChISLCD(struct vb_device_info *pVBInfo, + bool enable) { unsigned short tempbx, tempah; - tempbx = pVBInfo->SetFlag & (EnableChA | EnableChB); + if (enable) + tempbx = pVBInfo->SetFlag & (EnableChA | EnableChB); + else + tempbx = pVBInfo->SetFlag & (DisableChA | DisableChB); + tempah = ~((unsigned short) xgifb_reg_get(pVBInfo->Part1Port, 0x2E)); if (tempbx & (EnableChA | DisableChA)) { @@ -4772,9 +4750,9 @@ static void XGI_DisableBridge(struct xgifb_video_info *xgifb_info, if (pVBInfo->VBType & (VB_SIS302LV | VB_XGI301C)) { if (((pVBInfo->VBInfo & - (SetCRT2ToLCD | XGI_SetCRT2ToLCDA))) - || (XGI_DisableChISLCD(pVBInfo)) - || (XGI_IsLCDON(pVBInfo))) + (SetCRT2ToLCD | XGI_SetCRT2ToLCDA))) || + (XGI_EnableChISLCD(pVBInfo, false)) || + (XGI_IsLCDON(pVBInfo))) /* LVDS Driver power down */ xgifb_reg_or(pVBInfo->Part4Port, 0x30, 0x80); } @@ -5731,8 +5709,8 @@ static void XGI_EnableBridge(struct xgifb_video_info *xgifb_info, xgifb_reg_and_or(pVBInfo->Part2Port, 0x00, ~0xE0, 0x20); /* shampoo 0129 */ if (pVBInfo->VBType & (VB_SIS302LV | VB_XGI301C)) { - if (!XGI_DisableChISLCD(pVBInfo)) { - if (XGI_EnableChISLCD(pVBInfo) || + if (!XGI_EnableChISLCD(pVBInfo, false)) { + if (XGI_EnableChISLCD(pVBInfo, true) || (pVBInfo->VBInfo & (SetCRT2ToLCD | XGI_SetCRT2ToLCDA))) /* LVDS PLL power on */