[PATCH v2 5/8] drm/client: Stop using the legacy crtc->mode
Jani Nikula
jani.nikula at linux.intel.com
Wed Mar 12 14:44:59 UTC 2025
On Fri, 28 Feb 2025, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> crtc->mode is legacy junk and shouldn't really be used with
> atomic drivers.
>
> Most (all?) atomic drivers do end up still calling
> drm_atomic_helper_update_legacy_modeset_state() at some
> point, so crtc->mode does still get populated, and this
> does work for now. But now that the modes[] lifetime issues
> have been sorted out we can just switch over to the
> proper crtc->state->mode.
>
> v2: Rebase
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/drm_client_modeset.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> index ff034359f063..4c64535fb82c 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -733,20 +733,9 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>
> /* last resort: use current mode */
> if (!modes[i]) {
> - /*
> - * IMPORTANT: We want to use the adjusted mode (i.e.
> - * after the panel fitter upscaling) as the initial
> - * config, not the input mode, which is what crtc->mode
> - * usually contains. But since our current
> - * code puts a mode derived from the post-pfit timings
> - * into crtc->mode this works out correctly.
> - *
> - * This is crtc->mode and not crtc->state->mode for the
> - * fastboot check to work correctly.
> - */
> mode_type = "current";
> mode_replace(dev, &modes[i],
> - &connector->state->crtc->mode);
> + &new_crtc->state->mode);
> }
>
> /*
--
Jani Nikula, Intel
More information about the dri-devel
mailing list