All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH 11/15] drm/i915: Extract intel_attach_scaling_mode_property()
Date: Mon, 12 Sep 2022 14:18:10 +0300	[thread overview]
Message-ID: <20220912111814.17466-12-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20220912111814.17466-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Consolidate the scaling_mode property setup into a single
place.

The one slight complicateion here is that GMCH platforms can't
do the CENTER mode except on the LVDS port. But we can deal with
that by just checking the connector type.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/icl_dsi.c         | 10 +---------
 drivers/gpu/drm/i915/display/intel_connector.c | 18 ++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_connector.h |  1 +
 drivers/gpu/drm/i915/display/intel_dp.c        | 10 +---------
 drivers/gpu/drm/i915/display/intel_lvds.c      | 10 +---------
 drivers/gpu/drm/i915/display/vlv_dsi.c         | 11 +----------
 6 files changed, 23 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index ed4d93942dbd..59546cbcaeda 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -1974,16 +1974,8 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
 {
 	const struct drm_display_mode *fixed_mode =
 		intel_panel_preferred_fixed_mode(connector);
-	u32 allowed_scalers;
 
-	allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |
-			   BIT(DRM_MODE_SCALE_FULLSCREEN) |
-			   BIT(DRM_MODE_SCALE_CENTER);
-
-	drm_connector_attach_scaling_mode_property(&connector->base,
-						   allowed_scalers);
-
-	connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+	intel_attach_scaling_mode_property(&connector->base);
 
 	drm_connector_set_panel_orientation_with_quirk(&connector->base,
 						       intel_dsi_get_panel_orientation(connector),
diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
index 6d5cbeb8df4d..6205ddd3ded0 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -293,3 +293,21 @@ intel_attach_dp_colorspace_property(struct drm_connector *connector)
 	if (!drm_mode_create_dp_colorspace_property(connector))
 		drm_connector_attach_colorspace_property(connector);
 }
+
+void
+intel_attach_scaling_mode_property(struct drm_connector *connector)
+{
+	struct drm_i915_private *i915 = to_i915(connector->dev);
+	u32 scaling_modes;
+
+	scaling_modes = BIT(DRM_MODE_SCALE_ASPECT) |
+		BIT(DRM_MODE_SCALE_FULLSCREEN);
+
+	/* On GMCH platforms borders are only possible on the LVDS port */
+	if (!HAS_GMCH(i915) || connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
+		scaling_modes |= BIT(DRM_MODE_SCALE_CENTER);
+
+	drm_connector_attach_scaling_mode_property(connector, scaling_modes);
+
+	connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_connector.h b/drivers/gpu/drm/i915/display/intel_connector.h
index 661a37a3c6d8..7d7b588d2286 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.h
+++ b/drivers/gpu/drm/i915/display/intel_connector.h
@@ -32,5 +32,6 @@ void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
 void intel_attach_aspect_ratio_property(struct drm_connector *connector);
 void intel_attach_hdmi_colorspace_property(struct drm_connector *connector);
 void intel_attach_dp_colorspace_property(struct drm_connector *connector);
+void intel_attach_scaling_mode_property(struct drm_connector *connector);
 
 #endif /* __INTEL_CONNECTOR_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 049228a09364..ce74f6695cab 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5194,16 +5194,8 @@ intel_edp_add_properties(struct intel_dp *intel_dp)
 	struct drm_i915_private *i915 = to_i915(connector->base.dev);
 	const struct drm_display_mode *fixed_mode =
 		intel_panel_preferred_fixed_mode(connector);
-	u32 allowed_scalers;
 
-	allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |
-		BIT(DRM_MODE_SCALE_FULLSCREEN);
-	if (!HAS_GMCH(i915))
-		allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
-
-	drm_connector_attach_scaling_mode_property(&connector->base, allowed_scalers);
-
-	connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+	intel_attach_scaling_mode_property(&connector->base);
 
 	if (!fixed_mode)
 		return;
diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
index 7cadb548ad6c..951170af7bb3 100644
--- a/drivers/gpu/drm/i915/display/intel_lvds.c
+++ b/drivers/gpu/drm/i915/display/intel_lvds.c
@@ -816,15 +816,7 @@ static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder)
 
 static void intel_lvds_add_properties(struct drm_connector *connector)
 {
-	u32 allowed_scalers;
-
-	allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |
-		BIT(DRM_MODE_SCALE_FULLSCREEN) |
-		BIT(DRM_MODE_SCALE_CENTER);
-
-	drm_connector_attach_scaling_mode_property(connector, allowed_scalers);
-
-	connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+	intel_attach_scaling_mode_property(connector);
 }
 
 /**
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index b3f5ca280ef2..421ad02f8e9b 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -1659,19 +1659,10 @@ 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);
 	const struct drm_display_mode *fixed_mode =
 		intel_panel_preferred_fixed_mode(connector);
-	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);
-
-	drm_connector_attach_scaling_mode_property(&connector->base,
-						   allowed_scalers);
-
-	connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+	intel_attach_scaling_mode_property(&connector->base);
 
 	drm_connector_set_panel_orientation_with_quirk(&connector->base,
 						       intel_dsi_get_panel_orientation(connector),
-- 
2.35.1


  parent reply	other threads:[~2022-09-12 11:19 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-12 11:17 [Intel-gfx] [PATCH 00/15] drm/i915: Some house cleaning Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 01/15] drm/i915: Drop pointless middle man variable Ville Syrjala
2022-09-26 10:33   ` Luca Coelho
2022-09-26 10:43     ` Jani Nikula
2022-09-26 11:05       ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 02/15] drm/i915: Clean up transcoder_to_stream_enc_status() Ville Syrjala
2022-09-26 10:34   ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 03/15] drm/i915: Drop pointless 'budget' variable Ville Syrjala
2022-09-26 10:37   ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 04/15] drm/i915: Use BIT() when dealing with output types Ville Syrjala
2022-09-26 10:40   ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 05/15] drm/i915: Pass intel_encoder to to_lvds_encoder() Ville Syrjala
2022-09-26 10:46   ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 06/15] drm/i915: Extract intel_edp_backlight_setup() Ville Syrjala
2022-09-12 11:57   ` Jani Nikula
2022-09-26 10:58   ` Luca Coelho
2022-09-26 11:16     ` Ville Syrjälä
2022-09-26 11:33       ` Luca Coelho
2022-09-26 11:38         ` Luca Coelho
2022-09-12 11:18 ` [Intel-gfx] [PATCH 07/15] drm/i915: Extract intel_tv_add_properties() Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 08/15] drm/i915: Extract intel_dp_mst_add_properties() Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 09/15] drm/i915: Extract intel_lvds_add_properties() Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 10/15] drm/i915: Move eDP scaling_mode prop setup to the proper place Ville Syrjala
2022-09-12 11:18 ` Ville Syrjala [this message]
2022-09-12 11:18 ` [Intel-gfx] [PATCH 12/15] drm/i915: Clean up connector->*_allowed setup Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 13/15] drm/i915: Don't init eDP if we can't find a fixed mode Ville Syrjala
2022-09-12 12:02   ` Jani Nikula
2022-09-12 17:36     ` Ville Syrjälä
2022-09-12 11:18 ` [Intel-gfx] [PATCH 14/15] drm/i915: Finish s/intel_encoder/encoder/ rename Ville Syrjala
2022-09-12 11:18 ` [Intel-gfx] [PATCH 15/15] drm/i915: s/intel_connector/connector/ in init code Ville Syrjala
2022-09-12 17:56 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Some house cleaning Patchwork
2022-09-12 18:17 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-09-12 23:20 ` [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=20220912111814.17466-12-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.