Merge branch 'drm-armada-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes
One small fix for Armada, where the clock prepare/enable counts were going awry. * 'drm-armada-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: drm/armada: fix clock counts
This commit is contained in:
Коммит
e947f03d93
|
@ -332,17 +332,19 @@ static void armada_drm_crtc_dpms(struct drm_crtc *crtc, int dpms)
|
|||
{
|
||||
struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
|
||||
|
||||
if (dcrtc->dpms != dpms) {
|
||||
dcrtc->dpms = dpms;
|
||||
if (!IS_ERR(dcrtc->clk) && !dpms_blanked(dpms))
|
||||
WARN_ON(clk_prepare_enable(dcrtc->clk));
|
||||
armada_drm_crtc_update(dcrtc);
|
||||
if (!IS_ERR(dcrtc->clk) && dpms_blanked(dpms))
|
||||
clk_disable_unprepare(dcrtc->clk);
|
||||
if (dpms_blanked(dcrtc->dpms) != dpms_blanked(dpms)) {
|
||||
if (dpms_blanked(dpms))
|
||||
armada_drm_vblank_off(dcrtc);
|
||||
else
|
||||
else if (!IS_ERR(dcrtc->clk))
|
||||
WARN_ON(clk_prepare_enable(dcrtc->clk));
|
||||
dcrtc->dpms = dpms;
|
||||
armada_drm_crtc_update(dcrtc);
|
||||
if (!dpms_blanked(dpms))
|
||||
drm_crtc_vblank_on(&dcrtc->crtc);
|
||||
else if (!IS_ERR(dcrtc->clk))
|
||||
clk_disable_unprepare(dcrtc->clk);
|
||||
} else if (dcrtc->dpms != dpms) {
|
||||
dcrtc->dpms = dpms;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче