From: Austin Hu <[email protected]> If disable OSPM lock/unlock in ospm_power_using_hw_begin(), xterm can't display after launching xinit once or for several times on MRST.
So re-enable the OSPM lock/unlock, and verified that xinit can relaunch for several times on both MRST/MDFLD. And comment out "ospm_suspend_pci"/"ospm_resume_pci" kernel alerts. Signed-off-by: Austin Hu <[email protected]> --- drivers/staging/mrst/drv/psb_powermgmt.c | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/mrst/drv/psb_powermgmt.c b/drivers/staging/mrst/drv/psb_powermgmt.c index 41708f8..8d9a26d 100644 --- a/drivers/staging/mrst/drv/psb_powermgmt.c +++ b/drivers/staging/mrst/drv/psb_powermgmt.c @@ -1497,7 +1497,7 @@ static void ospm_suspend_pci(struct pci_dev *pdev) if (gbSuspended) return; - printk(KERN_ALERT "ospm_suspend_pci\n"); + /*printk(KERN_ALERT "ospm_suspend_pci\n");*/ pci_save_state(pdev); pci_read_config_dword(pci_gfx_root, 0x5C, &bsm); @@ -1529,7 +1529,7 @@ static bool ospm_resume_pci(struct pci_dev *pdev) if (!gbSuspended) return true; - printk(KERN_ALERT "ospm_resume_pci\n"); + /*printk(KERN_ALERT "ospm_resume_pci\n");*/ pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); @@ -1835,10 +1835,8 @@ bool ospm_power_using_hw_begin(int hw_island, bool force_on) struct pci_dev *pdev = gpDrmDevice->pdev; IMG_UINT32 deviceID = 0; -#if 0 /* conflict with X holding the lock*/ if (!b_atomic) mutex_lock(&g_ospm_mutex); -#endif island_is_off = hw_island & (OSPM_ALL_ISLANDS & ~g_hw_power_status_mask); @@ -1949,14 +1947,12 @@ bool ospm_power_using_hw_begin(int hw_island, bool force_on) atomic_inc(&g_display_access_count); break; } - //increment pm_runtime_refcount - pm_runtime_get(&pdev->dev); + /* increment pm_runtime_refcount */ + pm_runtime_get(&pdev->dev); } -#if 0 /* conflict with X holding the lock*/ if (!b_atomic) mutex_unlock(&g_ospm_mutex); -#endif return ret; } -- 1.7.1 _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
