Den 29.07.2022 18.35, skrev Maxime Ripard:
> Now that the core can deal fine with analog TV modes, let's convert the vc4
> VEC driver to leverage those new features.
> 
> We've added some backward compatibility to support the old TV mode property
> and translate it into the new TV norm property.
> 
> Signed-off-by: Maxime Ripard <max...@cerno.tech>
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c

>  static int vc4_vec_connector_get_modes(struct drm_connector *connector)
>  {
> -     struct drm_connector_state *state = connector->state;
>       struct drm_display_mode *mode;
>  
> -     mode = drm_mode_duplicate(connector->dev,
> -                               vc4_vec_tv_modes[state->tv.mode].mode);
> +     mode = drm_mode_duplicate(connector->dev, &drm_mode_480i);
> +     if (!mode) {
> +             DRM_ERROR("Failed to create a new display mode\n");
> +             return -ENOMEM;
> +     }
> +
> +     drm_mode_probed_add(connector, mode);
> +
> +     mode = drm_mode_duplicate(connector->dev, &drm_mode_576i);

Maybe the mode that matches tv.norm should be marked as preferred so
userspace knows which one to pick?

Noralf.

>       if (!mode) {
>               DRM_ERROR("Failed to create a new display mode\n");
>               return -ENOMEM;
> @@ -277,21 +313,95 @@ static int vc4_vec_connector_get_modes(struct 
> drm_connector *connector)
>       return 1;
>  }

Reply via email to