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@xxxxxxxxxx> > > 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; > }