Skip to content

Commit

Permalink
drm/i915: Drop pointless fixed_mode checks from dsi code
Browse files Browse the repository at this point in the history
We don't support dsi displays without a fixed mode, so drop
all the pointless checks.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210923200109.4459-7-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
  • Loading branch information
Ville Syrjälä committed Sep 30, 2021
1 parent f5b8c31 commit 7eadfbf
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 33 deletions.
15 changes: 6 additions & 9 deletions drivers/gpu/drm/i915/display/intel_dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,22 +61,19 @@ enum drm_mode_status intel_dsi_mode_valid(struct drm_connector *connector,
struct intel_connector *intel_connector = to_intel_connector(connector);
const struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
enum drm_mode_status status;

drm_dbg_kms(&dev_priv->drm, "\n");

if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
return MODE_NO_DBLESCAN;

if (fixed_mode) {
enum drm_mode_status status;
status = intel_panel_mode_valid(intel_connector, mode);
if (status != MODE_OK)
return status;

status = intel_panel_mode_valid(intel_connector, mode);
if (status != MODE_OK)
return status;

if (fixed_mode->clock > max_dotclk)
return MODE_CLOCK_HIGH;
}
if (fixed_mode->clock > max_dotclk)
return MODE_CLOCK_HIGH;

return intel_mode_valid_max_plane_size(dev_priv, mode, false);
}
Expand Down
41 changes: 17 additions & 24 deletions drivers/gpu/drm/i915/display/vlv_dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,22 +271,19 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder,
struct intel_dsi *intel_dsi = container_of(encoder, struct intel_dsi,
base);
struct intel_connector *intel_connector = intel_dsi->attached_connector;
const struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode;
struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
int ret;

drm_dbg_kms(&dev_priv->drm, "\n");
pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB;

if (fixed_mode) {
ret = intel_panel_compute_config(intel_connector, adjusted_mode);
if (ret)
return ret;
ret = intel_panel_compute_config(intel_connector, adjusted_mode);
if (ret)
return ret;

ret = intel_panel_fitting(pipe_config, conn_state);
if (ret)
return ret;
}
ret = intel_panel_fitting(pipe_config, conn_state);
if (ret)
return ret;

if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN)
return -EINVAL;
Expand Down Expand Up @@ -1633,25 +1630,21 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = {
static void vlv_dsi_add_properties(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
u32 allowed_scalers;

if (connector->panel.fixed_mode) {
u32 allowed_scalers;

allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | BIT(DRM_MODE_SCALE_FULLSCREEN);
if (!HAS_GMCH(dev_priv))
allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | BIT(DRM_MODE_SCALE_FULLSCREEN);
if (!HAS_GMCH(dev_priv))
allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);

drm_connector_attach_scaling_mode_property(&connector->base,
allowed_scalers);
drm_connector_attach_scaling_mode_property(&connector->base,
allowed_scalers);

connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;

drm_connector_set_panel_orientation_with_quirk(
&connector->base,
intel_dsi_get_panel_orientation(connector),
connector->panel.fixed_mode->hdisplay,
connector->panel.fixed_mode->vdisplay);
}
drm_connector_set_panel_orientation_with_quirk(&connector->base,
intel_dsi_get_panel_orientation(connector),
connector->panel.fixed_mode->hdisplay,
connector->panel.fixed_mode->vdisplay);
}

#define NS_KHZ_RATIO 1000000
Expand Down

0 comments on commit 7eadfbf

Please sign in to comment.