mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
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>
This commit is contained in:
parent
b58a886820
commit
082436068c
|
|
@ -845,11 +845,9 @@ intel_dp_mode_valid(struct drm_connector *connector,
|
|||
return MODE_H_ILLEGAL;
|
||||
|
||||
if (intel_dp_is_edp(intel_dp) && fixed_mode) {
|
||||
if (mode->hdisplay != fixed_mode->hdisplay)
|
||||
return MODE_PANEL;
|
||||
|
||||
if (mode->vdisplay != fixed_mode->vdisplay)
|
||||
return MODE_PANEL;
|
||||
status = intel_panel_mode_valid(intel_connector, mode);
|
||||
if (status != MODE_OK)
|
||||
return status;
|
||||
|
||||
target_clock = fixed_mode->clock;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ intel_panel_detect(struct drm_connector *connector, bool force);
|
|||
bool intel_panel_use_ssc(struct drm_i915_private *i915);
|
||||
void intel_panel_fixed_mode(const struct drm_display_mode *fixed_mode,
|
||||
struct drm_display_mode *adjusted_mode);
|
||||
enum drm_mode_status
|
||||
intel_panel_mode_valid(struct intel_connector *connector,
|
||||
const struct drm_display_mode *mode);
|
||||
int intel_panel_fitting(struct intel_crtc_state *crtc_state,
|
||||
const struct drm_connector_state *conn_state);
|
||||
struct drm_display_mode *
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user