[PATCH v2] drm/exynos: use atomic helper commit
Inki Dae
inki.dae at samsung.com
Thu Jan 19 23:15:02 UTC 2017
2017년 01월 19일 20:53에 Gustavo Padovan 이(가) 쓴 글:
> Hi Inki,
>
> 2017-01-19 Inki Dae <inki.dae at samsung.com>:
>
>> This patch replaces specific atomic commit function
>> with atomic helper commit one.
>>
>> For this, it removes existing atomic commit function
>> and relevant code specific to Exynos DRM and makes
>> atomic helper commit to be used instead.
>>
>> Below are changes for the use of atomic helper commit:
>> - add atomic_commit_tail callback specific to Exynos DRM
>> . default implemention of atomic helper doesn't mesh well
>> with runtime PM so the device driver which supports runtime
>> PM should call drm_atomic_helper_commit_modeset_enables function
>> prior to drm_atomic_helper_commit_planes function call.
>> atomic_commit_tail callback implements this call ordering.
>> - allow plane commit only in case that CRTC device is enabled.
>> . for this, it calls atomic_helper_commit_planes function
>> with DRM_PLANE_COMMIT_ACTIVE_ONLY flag in atomic_commit_tail callback.
>>
>> Changelog v1:
>> - fix comment
>> - fix trivial things
>> - revive existing comment which explains why plane commit should be
>> called after crtc and encoder device are enabled.
>>
>> Signed-off-by: Inki Dae <inki.dae at samsung.com>
>> Reviewed-by: Gustavo Padovan <gustavo.padovan at collabora.com>
>> ---
>> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 10 ++-
>> drivers/gpu/drm/exynos/exynos_drm_drv.c | 109 -------------------------------
>> drivers/gpu/drm/exynos/exynos_drm_fb.c | 32 ++++++++-
>> 3 files changed, 40 insertions(+), 111 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> index 2530bf5..8f13bce 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> @@ -39,6 +39,14 @@ static void exynos_drm_crtc_disable(struct drm_crtc *crtc)
>>
>> if (exynos_crtc->ops->disable)
>> exynos_crtc->ops->disable(exynos_crtc);
>> +
>> + if (crtc->state->event && !crtc->state->active) {
>> + spin_lock_irq(&crtc->dev->event_lock);
>> + drm_crtc_send_vblank_event(crtc, crtc->state->event);
>> + spin_unlock_irq(&crtc->dev->event_lock);
>> +
>> + crtc->state->event = NULL;
>> + }
>> }
>>
>> static void
>> @@ -94,9 +102,9 @@ static void exynos_crtc_atomic_flush(struct drm_crtc *crtc,
>> drm_crtc_send_vblank_event(crtc, event);
>> spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
>> }
>> -
>> }
>>
>> +
>
> Please refrain from removing/adding random blank lines when working on your
Oops, sorry. I didn't check it. :(
> features, they polute the code review and git history. Actually your line
> addition here breaks the kernel coding styles rules. Please update the
> patch.
>
> Gustavo
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
More information about the dri-devel
mailing list