On 12.09.2017 14:31, Tobias Jakobi wrote:
> Hello Andrzej,
>
>
> Andrzej Hajda wrote:
>> Mode limitation checked in mixer driver affects only older HW.
>> Mixer in Exynos542x has no such limitations. While at it patch changes
>> validation callback to recently introduced mode_valid which is more
>> suitable for the check. Additionally little cleanup is performed.
> Reviewed-by: Tobias Jakobi <tjak...@math.uni-bielefeld.de>
>
> And some small suggestion below.
>
>
>> Signed-off-by: Andrzej Hajda <a.ha...@samsung.com>
>> ---
>>  drivers/gpu/drm/exynos/exynos_mixer.c | 24 +++++++++++-------------
>>  1 file changed, 11 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c 
>> b/drivers/gpu/drm/exynos/exynos_mixer.c
>> index a87f60b..d530c18 100644
>> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
>> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
>> @@ -1040,26 +1040,24 @@ static void mixer_disable(struct exynos_drm_crtc 
>> *crtc)
>>      clear_bit(MXR_BIT_POWERED, &ctx->flags);
>>  }
>>  
>> -/* Only valid for Mixer version 16.0.33.0 */
>> -static int mixer_atomic_check(struct exynos_drm_crtc *crtc,
>> -                   struct drm_crtc_state *state)
>> +static int mixer_mode_valid(struct exynos_drm_crtc *crtc,
>> +            const struct drm_display_mode *mode)
>>  {
>> -    struct drm_display_mode *mode = &state->adjusted_mode;
>> -    u32 w, h;
>> +    struct mixer_context *ctx = crtc->ctx;
>> +    u32 w = mode->hdisplay, h = mode->vdisplay;
>>  
>> -    w = mode->hdisplay;
>> -    h = mode->vdisplay;
>> +    DRM_DEBUG_KMS("xres=%d, yres=%d, refresh=%d, intl=%d\n", w, h,
>> +            mode->vrefresh, !!(mode->flags & DRM_MODE_FLAG_INTERLACE));
>>  
>> -    DRM_DEBUG_KMS("xres=%d, yres=%d, refresh=%d, intl=%d\n",
>> -            mode->hdisplay, mode->vdisplay, mode->vrefresh,
>> -            (mode->flags & DRM_MODE_FLAG_INTERLACE) ? 1 : 0);
>> +    if (ctx->mxr_ver == MXR_VER_128_0_0_184)
>> +            return MODE_OK;
>>  
>>      if ((w >= 464 && w <= 720 && h >= 261 && h <= 576) ||
>>              (w >= 1024 && w <= 1280 && h >= 576 && h <= 720) ||
>>              (w >= 1664 && w <= 1920 && h >= 936 && h <= 1080))
> I think it would be nice to have these aligned.

Yes, it should look better.

Regards
Andrzej


>
>
>> -            return 0;
>> +            return MODE_OK;
>>  
>> -    return -EINVAL;
>> +    return MODE_BAD;
>>  }
>>  
>>  static const struct exynos_drm_crtc_ops mixer_crtc_ops = {
>> @@ -1071,7 +1069,7 @@ static const struct exynos_drm_crtc_ops mixer_crtc_ops 
>> = {
>>      .update_plane           = mixer_update_plane,
>>      .disable_plane          = mixer_disable_plane,
>>      .atomic_flush           = mixer_atomic_flush,
>> -    .atomic_check           = mixer_atomic_check,
>> +    .mode_valid             = mixer_mode_valid,
>>  };
>>  
>>  static const struct mixer_drv_data exynos5420_mxr_drv_data = {
>>
>
>
>

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to