Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gma500: kill bogus code

During the power split ups and work a chunk of code escaped into the
Poulsbo code path which it isn't for. On some devices such as the Dell
mini-10 this causes problems.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Alan Cox and committed by
Dave Airlie
2357f7e6 cd009355

-32
-32
drivers/gpu/drm/gma500/psb_device.c
··· 213 213 struct drm_psb_private *dev_priv = dev->dev_private; 214 214 struct drm_crtc *crtc; 215 215 struct drm_connector *connector; 216 - int pp_stat; 217 216 218 217 /* Display arbitration + watermarks */ 219 218 PSB_WVDC32(dev_priv->saveDSPARB, DSPARB); ··· 236 237 connector->funcs->restore(connector); 237 238 238 239 mutex_unlock(&dev->mode_config.mutex); 239 - 240 - if (dev_priv->iLVDS_enable) { 241 - /*shutdown the panel*/ 242 - PSB_WVDC32(0, PP_CONTROL); 243 - do { 244 - pp_stat = PSB_RVDC32(PP_STATUS); 245 - } while (pp_stat & 0x80000000); 246 - 247 - /* Turn off the plane */ 248 - PSB_WVDC32(0x58000000, DSPACNTR); 249 - PSB_WVDC32(0, DSPASURF);/*trigger the plane disable*/ 250 - /* Wait ~4 ticks */ 251 - msleep(4); 252 - /* Turn off pipe */ 253 - PSB_WVDC32(0x0, PIPEACONF); 254 - /* Wait ~8 ticks */ 255 - msleep(8); 256 - 257 - /* Turn off PLLs */ 258 - PSB_WVDC32(0, MRST_DPLL_A); 259 - } else { 260 - PSB_WVDC32(DPI_SHUT_DOWN, DPI_CONTROL_REG); 261 - PSB_WVDC32(0x0, PIPEACONF); 262 - PSB_WVDC32(0x2faf0000, BLC_PWM_CTL); 263 - while (REG_READ(0x70008) & 0x40000000) 264 - cpu_relax(); 265 - while ((PSB_RVDC32(GEN_FIFO_STAT_REG) & DPI_FIFO_EMPTY) 266 - != DPI_FIFO_EMPTY) 267 - cpu_relax(); 268 - PSB_WVDC32(0, DEVICE_READY_REG); 269 - } 270 240 return 0; 271 241 } 272 242