[Intel-gfx] [PATCH v3 5/6] drm/i915: Tighten DRRS capability reporting
Jani Nikula
jani.nikula at linux.intel.com
Tue Oct 4 08:59:18 UTC 2022
On Mon, 03 Oct 2022, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Only report DRRS capability for the connector if its fixed_modes
> list contains at least two modes capable of seamless DRRS switch
> between them.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Makes sense,
Reviewed-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_panel.c | 19 +++++++++++++++++--
> 1 file changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c
> index 41cec9dc4223..d18c56cf957d 100644
> --- a/drivers/gpu/drm/i915/display/intel_panel.c
> +++ b/drivers/gpu/drm/i915/display/intel_panel.c
> @@ -147,10 +147,25 @@ int intel_panel_get_modes(struct intel_connector *connector)
> return num_modes;
> }
>
> +static bool has_drrs_modes(struct intel_connector *connector)
> +{
> + const struct drm_display_mode *mode1;
> +
> + list_for_each_entry(mode1, &connector->panel.fixed_modes, head) {
> + const struct drm_display_mode *mode2 = mode1;
> +
> + list_for_each_entry_continue(mode2, &connector->panel.fixed_modes, head) {
> + if (is_alt_drrs_mode(mode1, mode2))
> + return true;
> + }
> + }
> +
> + return false;
> +}
> +
> enum drrs_type intel_panel_drrs_type(struct intel_connector *connector)
> {
> - if (list_empty(&connector->panel.fixed_modes) ||
> - list_is_singular(&connector->panel.fixed_modes))
> + if (!has_drrs_modes(connector))
> return DRRS_TYPE_NONE;
>
> return connector->panel.vbt.drrs_type;
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list