[PATCH v1 23/35] drm/vc4: vec: Convert to the new TV mode property
Noralf Trønnes
noralf at tronnes.org
Sat Aug 20 10:22:48 PDT 2022
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 <maxime at 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;
> }
More information about the linux-amlogic
mailing list