drm/panel: s6e63j0x03: Fix uninitialized power state
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Fri, 24 Oct 2014 07:24:53 +0000 (16:24 +0900)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 03:01:06 +0000 (12:01 +0900)
commit1928bb002a2154a7b7a6a105ba1d65a36a7f0263
tree526c44055e4e0411f7a90f41d1beb75f9688c312
parent9292ba6e397fe426a2a91d3526394f9054fc4d8c
drm/panel: s6e63j0x03: Fix uninitialized power state

Fix following DSI panel enable error (booted init=/bin/sh):

echo 0 > /sys/devices/platform/exynos-drm/graphics/fb0/blank
[   55.708859] exynos-dsi 11c80000.dsi: PLL input frequency: 24000000
[   55.709038] exynos-dsi 11c80000.dsi: PLL freq 250000000, (p 3, m 125, s 2)
[   55.709107] exynos-dsi 11c80000.dsi: band 4
[   55.709929] exynos-dsi 11c80000.dsi: PLL failed to stabilize
[   55.709987] exynos-dsi 11c80000.dsi: failed to configure DSI PLL
[   56.007706] exynos-dsi 11c80000.dsi: timeout waiting for reset
[   56.030676] exynos-dsi 11c80000.dsi: waiting for bus lanes timed out
[   56.030804] exynos-dsi 11c80000.dsi: < xfer df45fda8: tx len 3, done 0, rx len 0, done 0
[   56.127024] exynos-dsi 11c80000.dsi: xfer timed out: 03 00 f1 5a 5a
[   56.127125] panel_s6e63j0x03 11c80000.dsi.0: failed to dcs write: -110[f1 5a 5a]

The panel power state was initialized by devm_kzalloc() to 0 which means
FB_BLANK_UNBLANK. Request to unblank frame buffer from sysfs was
triggering a call to panel set_brightness(). This lead to starting DSI
transfers on disabled DSI/panel (no calls to exynos_dsi_enable, s6e63j0x03_prepare,
s6e63j0x03_enable)

Change-Id: I146d46c92c96112a6c616daf83edc57c5b889902
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/panel/panel-s6e63j0x03.c