summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_panel.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2021-09-23 23:01:04 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2021-09-30 11:18:32 +0300
commit082436068c19316d5153229fd1b48dceccd0efee (patch)
tree7641a142fa112ee194fba841c1b694aa84c38c8d /drivers/gpu/drm/i915/display/intel_panel.c
parentb58a88682093b3438dad66f2c3d3a4d0a20ee1e8 (diff)
downloadlinux-082436068c19316d5153229fd1b48dceccd0efee.tar.gz
linux-082436068c19316d5153229fd1b48dceccd0efee.tar.bz2
linux-082436068c19316d5153229fd1b48dceccd0efee.zip
drm/i915: Extract intel_panel_mode_valid()
Extract intel_panel_mode_valid() from the eDP code to a generic helper. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210923200109.4459-2-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_panel.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_panel.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i915/display/intel_panel.c
index 4804b6b86798..8a364bb1ce41 100644
--- a/drivers/gpu/drm/i915/display/intel_panel.c
+++ b/drivers/gpu/drm/i915/display/intel_panel.c
@@ -482,6 +482,24 @@ intel_panel_detect(struct drm_connector *connector, bool force)
return connector_status_connected;
}
+enum drm_mode_status
+intel_panel_mode_valid(struct intel_connector *connector,
+ const struct drm_display_mode *mode)
+{
+ const struct drm_display_mode *fixed_mode = connector->panel.fixed_mode;
+
+ if (!fixed_mode)
+ return MODE_OK;
+
+ if (mode->hdisplay != fixed_mode->hdisplay)
+ return MODE_PANEL;
+
+ if (mode->vdisplay != fixed_mode->vdisplay)
+ return MODE_PANEL;
+
+ return MODE_OK;
+}
+
int intel_panel_init(struct intel_panel *panel,
struct drm_display_mode *fixed_mode,
struct drm_display_mode *downclock_mode)