MA-10971 [8M-EVK]system cannot resume with mipi display
In andorid UI framework, we will send DRM_MODE_DPMS_OFF
to drm driver before we request kernel into suspend sate
And send DRM_MODE_DPMS_ON after we resume kernel. mxsfb_resume
should just recover the sate before kernel into suspend.
Otherwise the mxsfb->connector is reset for DRM_MODE_DPMS_OFF,
mxsfb drm driver have below kernel panic when resuming from suspend
Unable to handle kernel NULL pointer dereference at virtual address
000000f4
pgd =
ffff8000aa8ea000
[
000000f4] *pgd=
00000000ea8e9003, *pud=
00000000ea4d6003, *pmd=
0000000000000000
Internal error: Oops:
96000006 [#1] PREEMPT SMP
Modules linked in: ath10k_pci ath10k_core ath
CPU: 2 PID: 2693 Comm: system_server Not tainted
4.9.68-00922-g707b2da-dirty #35
Hardware name: Freescale i.MX8MQ EVK (DT)
task:
ffff8000b92d1b00 task.stack:
ffff8000aad60000
PC is at mxsfb_crtc_enable+0xa4/0x538
LR is at mxsfb_crtc_enable+0x4dc/0x538
[<
ffff00000871b5cc>] mxsfb_crtc_enable+0xa4/0x538
[<
ffff00000871a6fc>] mxsfb_resume+0x68/0x84
[<
ffff000008725f08>] platform_pm_resume+0x24/0x4c
[<
ffff00000873271c>] dpm_run_callback+0x40/0x1f0
[<
ffff0000087336b0>] device_resume+0xac/0x284
[<
ffff000008734bec>] dpm_resume+0x11c/0x374
[<
ffff00000873526c>] dpm_resume_end+0x14/0x28
[<
ffff00000811e558>] suspend_devices_and_enter+0x134/0x2f8
[<
ffff00000811ead0>] pm_suspend+0x3b4/0x678
[<
ffff00000811ceec>] state_store+0x80/0x9c
[<
ffff000008445068>] kobj_attr_store+0x14/0x24
[<
ffff0000082c51d8>] sysfs_kf_write+0x40/0x50
[<
ffff0000082c43e0>] kernfs_fop_write+0xb0/0x1e0
[<
ffff000008242708>] vfs_write+0xac/0x1d0
[<
ffff000008243be4>] SyS_write+0x50/0xb0
[<
ffff000008082ef0>] el0_svc_naked+0x24/0x28
Change-Id: Ia2c4d0ef42e4a2761209fd678ace35804b40a387
Signed-off-by: guoyin.chen <guoyin.chen@nxp.com>