From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH 6/6] drm/i915: Drop pointless fixed_mode checks from dsi code
Date: Thu, 23 Sep 2021 23:01:09 +0300 [thread overview]
Message-ID: <20210923200109.4459-7-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20210923200109.4459-1-ville.syrjala@linux.intel.com>
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
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>
---
drivers/gpu/drm/i915/display/intel_dsi.c | 15 ++++-----
drivers/gpu/drm/i915/display/vlv_dsi.c | 41 ++++++++++--------------
2 files changed, 23 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dsi.c b/drivers/gpu/drm/i915/display/intel_dsi.c
index 6f1171112a3a..6b0301ba046e 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi.c
@@ -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);
}
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index 260e852245e9..081b772bfe10 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -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;
@@ -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
--
2.32.0
next prev parent reply other threads:[~2021-09-23 20:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-23 20:01 [Intel-gfx] [PATCH 0/6] drm/i915: Reject bogus modes with fixed mode panels Ville Syrjala
2021-09-23 20:01 ` [Intel-gfx] [PATCH 1/6] drm/i915: Extract intel_panel_mode_valid() Ville Syrjala
2021-09-23 20:01 ` [Intel-gfx] [PATCH 2/6] drm/i915: Use intel_panel_mode_valid() for DSI/LVDS/DVO Ville Syrjala
2021-09-23 20:01 ` [Intel-gfx] [PATCH 3/6] drm/i915: Reject modes that don't match fixed_mode vrefresh Ville Syrjala
2021-09-23 20:01 ` [Intel-gfx] [PATCH 4/6] drm/i915: Introduce intel_panel_compute_config() Ville Syrjala
2021-09-24 12:41 ` Ville Syrjälä
2021-09-27 18:52 ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2021-09-23 20:01 ` [Intel-gfx] [PATCH 5/6] drm/i915: Reject user modes that don't match fixed mode's refresh rate Ville Syrjala
2021-09-27 18:52 ` [Intel-gfx] [PATCH v2 " Ville Syrjala
2021-09-29 18:45 ` [Intel-gfx] [PATCH v3 " Ville Syrjala
2021-09-23 20:01 ` Ville Syrjala [this message]
2021-09-23 22:18 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Reject bogus modes with fixed mode panels Patchwork
2021-09-24 3:26 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2021-09-24 10:48 ` [Intel-gfx] [PATCH 0/6] " Jani Nikula
2021-09-24 11:24 ` Ville Syrjälä
2021-09-27 21:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Reject bogus modes with fixed mode panels (rev3) Patchwork
2021-09-28 2:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-09-29 5:47 ` [Intel-gfx] [PATCH 0/6] drm/i915: Reject bogus modes with fixed mode panels Jani Nikula
2021-09-29 19:48 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Reject bogus modes with fixed mode panels (rev4) Patchwork
2021-09-29 22:45 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210923200109.4459-7-ville.syrjala@linux.intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox