[PATCH v3 02/32] drm/exynos: Merge overlay_ops into manager_ops
Sean Paul
seanpaul at chromium.org
Fri Nov 1 20:50:05 CET 2013
On Thu, Oct 31, 2013 at 7:39 PM, Tomasz Figa <tomasz.figa at gmail.com> wrote:
> Hi Sean,
>
> On Tuesday 29 of October 2013 12:12:48 Sean Paul wrote:
>> This patch merges overlay_ops into manager_ops. In all cases,
>> overlay_ops is implemented in the same place as manager ops, it doesn't
>> serve a functional purpose, and doesn't make things more clear.
>>
>> Signed-off-by: Sean Paul <seanpaul at chromium.org>
>> ---
>>
>> Changes in v2: None
>> Changes in v3: None
>>
>> drivers/gpu/drm/exynos/exynos_drm_drv.h | 29 +--
>> drivers/gpu/drm/exynos/exynos_drm_encoder.c | 26 +-
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 363
>> ++++++++++++++-------------- drivers/gpu/drm/exynos/exynos_drm_hdmi.c
>> | 36 ++-
>> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 29 +--
>> drivers/gpu/drm/exynos/exynos_mixer.c | 2 -
>> 6 files changed, 229 insertions(+), 256 deletions(-)
> [snip]
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index 868a14d..f271f22
>> 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>> @@ -181,185 +181,6 @@ static struct exynos_drm_display_ops
>> fimd_display_ops = { .power_on = fimd_display_power_on,
>> };
>>
>> -static void fimd_dpms(struct device *subdrv_dev, int mode)
>> -{
>> - struct fimd_context *ctx = get_fimd_context(subdrv_dev);
>> -
>> - DRM_DEBUG_KMS("%d\n", mode);
>> -
>> - mutex_lock(&ctx->lock);
>> -
>> - switch (mode) {
>> - case DRM_MODE_DPMS_ON:
>> - /*
>> - * enable fimd hardware only if suspended status.
>> - *
>> - * P.S. fimd_dpms function would be called at booting time
> so
>> - * clk_enable could be called double time.
>> - */
>> - if (ctx->suspended)
>> - pm_runtime_get_sync(subdrv_dev);
>> - break;
>> - case DRM_MODE_DPMS_STANDBY:
>> - case DRM_MODE_DPMS_SUSPEND:
>> - case DRM_MODE_DPMS_OFF:
>> - if (!ctx->suspended)
>> - pm_runtime_put_sync(subdrv_dev);
>> - break;
>> - default:
>> - DRM_DEBUG_KMS("unspecified mode %d\n", mode);
>> - break;
>> - }
>> -
>> - mutex_unlock(&ctx->lock);
>> -}
> [snip]
>> -static void fimd_wait_for_vblank(struct device *dev)
>> -{
>> - struct fimd_context *ctx = get_fimd_context(dev);
>> -
>> - if (ctx->suspended)
>> - return;
>> -
>> - atomic_set(&ctx->wait_vsync_event, 1);
>> -
>> - /*
>> - * wait for FIMD to signal VSYNC interrupt or return after
>> - * timeout which is set to 50ms (refresh rate of 20).
>> - */
>> - if (!wait_event_timeout(ctx->wait_vsync_queue,
>> - !atomic_read(&ctx->wait_vsync_event),
>> - DRM_HZ/20))
>> - DRM_DEBUG_KMS("vblank wait timed out.\n");
>> -}
>
> Do you need all the churn of moving all the functions above? I believe it
> would be enough to simply move the structure. This would greatly decrease
> the diffstat and chances of possible merge conflicts.
>
Hi Tomasz,
I've done as you suggest, I'll post a new version once we settle on
the other issues you brought up.
Sean
> Otherwise the patch looks good to me and improves things indeed.
>
> Best regards,
> Tomasz
>
More information about the dri-devel
mailing list