Merge "disp: msm: sde: turn off/on vblank callbacks as per crtc"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
8205140d9c
@@ -699,6 +699,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
|
||||
struct msm_kms *kms = NULL;
|
||||
int ret;
|
||||
struct sched_param param = { 0 };
|
||||
struct drm_crtc *crtc;
|
||||
|
||||
ddev = drm_dev_alloc(drv, dev);
|
||||
if (!ddev) {
|
||||
@@ -770,6 +771,9 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
drm_for_each_crtc(crtc, ddev)
|
||||
drm_crtc_vblank_reset(crtc);
|
||||
|
||||
if (kms) {
|
||||
pm_runtime_get_sync(dev);
|
||||
ret = drm_irq_install(ddev, platform_get_irq(pdev, 0));
|
||||
|
@@ -3812,6 +3812,7 @@ static void sde_crtc_reset(struct drm_crtc *crtc)
|
||||
|
||||
cstate->base.crtc = crtc;
|
||||
crtc->state = &cstate->base;
|
||||
drm_crtc_vblank_reset(crtc);
|
||||
}
|
||||
|
||||
static void sde_crtc_handle_power_event(u32 event_type, void *arg)
|
||||
@@ -3972,6 +3973,8 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
|
||||
|
||||
SDE_DEBUG("crtc%d\n", crtc->base.id);
|
||||
|
||||
drm_crtc_vblank_off(crtc);
|
||||
|
||||
if (sde_kms_is_suspend_state(crtc->dev))
|
||||
_sde_crtc_set_suspend(crtc, true);
|
||||
|
||||
@@ -4110,6 +4113,8 @@ static void sde_crtc_enable(struct drm_crtc *crtc,
|
||||
SDE_EVT32_VERBOSE(DRMID(crtc));
|
||||
sde_crtc = to_sde_crtc(crtc);
|
||||
|
||||
drm_crtc_vblank_on(crtc);
|
||||
|
||||
mutex_lock(&sde_crtc->crtc_lock);
|
||||
SDE_EVT32(DRMID(crtc), sde_crtc->enabled, sde_crtc->suspend,
|
||||
sde_crtc->vblank_requested);
|
||||
|
Reference in New Issue
Block a user