summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/display/intel_drrs.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2022-03-31 14:28:13 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2022-03-31 14:28:13 +0300
commitdb10c14a2523071369e87c24af854928d52dad34 (patch)
treec1b73cc1d4b1449ce790c1c0ac1b3d21557c5fdf /drivers/gpu/drm/i915/display/intel_drrs.c
parent1c05183a3709fbef6aea66cd50002e718aec2e95 (diff)
drm/i915: Put fixed modes directly onto the panel's fixed_modes list
Rather than having the connector init get the fixed mode back from intel_panel and then feed it straight back into intel_panel_init() let's just make the fixed mode lookup put the mode directly onto the panel's fixed_modes list. Avoids the pointless round trip and opens the door for further enhancements to the fixed mode handling. v2: Make the debug message correct by using intel_panel_drrs_type() (Jani) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220331112822.11462-3-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_drrs.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_drrs.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_drrs.c b/drivers/gpu/drm/i915/display/intel_drrs.c
index 1448c3029b8e..d04a9ff9e813 100644
--- a/drivers/gpu/drm/i915/display/intel_drrs.c
+++ b/drivers/gpu/drm/i915/display/intel_drrs.c
@@ -358,7 +358,6 @@ void intel_crtc_drrs_init(struct intel_crtc *crtc)
/**
* intel_drrs_init - Init DRRS for eDP connector
* @connector: eDP connector
- * @fixed_mode: preferred mode of panel
*
* This function is called only once at driver load to initialize
* DRRS support for the connector.
@@ -368,25 +367,14 @@ void intel_crtc_drrs_init(struct intel_crtc *crtc)
* DRRS support is determined by the presence of downclock mode (apart
* from VBT setting).
*/
-struct drm_display_mode *
-intel_drrs_init(struct intel_connector *connector,
- const struct drm_display_mode *fixed_mode)
+void intel_drrs_init(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct drm_display_mode *downclock_mode;
-
- downclock_mode = intel_panel_edid_downclock_mode(connector, fixed_mode);
- if (!downclock_mode) {
- drm_dbg_kms(&dev_priv->drm,
- "[CONNECTOR:%d:%s] DRRS not supported due to lack of downclock mode\n",
- connector->base.base.id, connector->base.name);
- return NULL;
- }
+
+ intel_panel_add_edid_downclock_mode(connector);
drm_dbg_kms(&dev_priv->drm,
- "[CONNECTOR:%d:%s] %s DRRS supported\n",
+ "[CONNECTOR:%d:%s] DRRS type: %s\n",
connector->base.base.id, connector->base.name,
- intel_drrs_type_str(dev_priv->vbt.drrs_type));
-
- return downclock_mode;
+ intel_drrs_type_str(intel_panel_drrs_type(connector)));
}