* [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co.
@ 2019-12-04 18:05 Ville Syrjala
2019-12-04 18:05 ` [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() Ville Syrjala
` (13 more replies)
0 siblings, 14 replies; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
A bunch of cleanup around intel_attached_encoder() and its cousins.
The main motivation is to make it easier to spot the remaining
legacy drm_connector->encoder uses from the attached encoder's
intel_connector->encoder. I'm working towards neutering the former
in favor of using proper atomic state(s).
Ville Syrjälä (9):
drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
drm/i915: Pass intel_connector to intel_attached_*()
drm/i915: Pass intel_encoder to enc_to_*()
drm/i915: Use the passed in encoder
drm/i915: Use intel_attached_encoder()
drm/i915: Relocate intel_attached_dp()
drm/i915: Use intel_attached_dp() instead of hand rolling it
drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
drm/i915/hdcp: Clean up local variables
drivers/gpu/drm/i915/display/icl_dsi.c | 58 +++++-----
drivers/gpu/drm/i915/display/intel_audio.c | 4 +-
.../gpu/drm/i915/display/intel_connector.c | 2 +-
drivers/gpu/drm/i915/display/intel_crt.c | 12 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 70 ++++++------
drivers/gpu/drm/i915/display/intel_display.c | 14 +--
.../drm/i915/display/intel_display_power.c | 6 +-
.../drm/i915/display/intel_display_types.h | 30 +++--
drivers/gpu/drm/i915/display/intel_dp.c | 74 ++++++------
.../drm/i915/display/intel_dp_aux_backlight.c | 15 +--
drivers/gpu/drm/i915/display/intel_dp_mst.c | 28 ++---
drivers/gpu/drm/i915/display/intel_dpio_phy.c | 18 +--
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 4 +-
drivers/gpu/drm/i915/display/intel_dsi.h | 6 +-
.../i915/display/intel_dsi_dcs_backlight.c | 12 +-
drivers/gpu/drm/i915/display/intel_dvo.c | 8 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 108 ++++++++----------
drivers/gpu/drm/i915/display/intel_hdcp.h | 5 +-
drivers/gpu/drm/i915/display/intel_hdmi.c | 70 ++++++------
drivers/gpu/drm/i915/display/intel_hdmi.h | 2 +-
drivers/gpu/drm/i915/display/intel_hotplug.c | 14 +--
drivers/gpu/drm/i915/display/intel_lspcon.c | 8 +-
drivers/gpu/drm/i915/display/intel_pipe_crc.c | 2 +-
drivers/gpu/drm/i915/display/intel_sdvo.c | 22 ++--
drivers/gpu/drm/i915/display/intel_tv.c | 6 +-
drivers/gpu/drm/i915/display/intel_vdsc.c | 4 +-
drivers/gpu/drm/i915/display/vlv_dsi.c | 38 +++---
drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 12 +-
drivers/gpu/drm/i915/i915_debugfs.c | 40 +++----
29 files changed, 339 insertions(+), 353 deletions(-)
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2019-12-05 9:33 ` Ramalingam C
2019-12-04 18:05 ` [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*() Ville Syrjala
` (12 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
intel_hdcp_transcoder_config() is clobbering some globally visible
state in .compute_config(). That is a big no no as .compute_config()
is supposed to have no visible side effects when either the commit
fails or it's just a TEST_ONLY commit.
Inline this stuff into intel_hdcp_enable() so that the state only
gets modified when we actually commit the state to the hardware.
Cc: Ramalingam C <ramalingam.c@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Uma Shankar <uma.shankar@intel.com>
Fixes: 39e2df090c3c ("drm/i915/hdcp: update current transcoder into intel_hdcp")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_ddi.c | 5 ++++-
drivers/gpu/drm/i915/display/intel_dp.c | 3 ---
drivers/gpu/drm/i915/display/intel_hdcp.c | 26 +++++++----------------
drivers/gpu/drm/i915/display/intel_hdcp.h | 5 ++---
drivers/gpu/drm/i915/display/intel_hdmi.c | 3 ---
5 files changed, 14 insertions(+), 28 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index ebcc7302706b..e692c0b28559 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4026,6 +4026,7 @@ static void intel_enable_ddi(struct intel_encoder *encoder,
if (conn_state->content_protection ==
DRM_MODE_CONTENT_PROTECTION_DESIRED)
intel_hdcp_enable(to_intel_connector(conn_state->connector),
+ crtc_state->cpu_transcoder,
(u8)conn_state->hdcp_content_type);
}
@@ -4129,7 +4130,9 @@ static void intel_ddi_update_pipe(struct intel_encoder *encoder,
if (conn_state->content_protection ==
DRM_MODE_CONTENT_PROTECTION_DESIRED ||
content_protection_type_changed)
- intel_hdcp_enable(connector, (u8)conn_state->hdcp_content_type);
+ intel_hdcp_enable(connector,
+ crtc_state->cpu_transcoder,
+ (u8)conn_state->hdcp_content_type);
}
static void
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 5c406a0fd045..0f496115c345 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2425,9 +2425,6 @@ intel_dp_compute_config(struct intel_encoder *encoder,
intel_psr_compute_config(intel_dp, pipe_config);
- intel_hdcp_transcoder_config(intel_connector,
- pipe_config->cpu_transcoder);
-
return 0;
}
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 001ce27d7029..0fdbd39f6641 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1821,23 +1821,6 @@ enum mei_fw_tc intel_get_mei_fw_tc(enum transcoder cpu_transcoder)
}
}
-void intel_hdcp_transcoder_config(struct intel_connector *connector,
- enum transcoder cpu_transcoder)
-{
- struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_hdcp *hdcp = &connector->hdcp;
-
- if (!hdcp->shim)
- return;
-
- if (INTEL_GEN(dev_priv) >= 12) {
- mutex_lock(&hdcp->mutex);
- hdcp->cpu_transcoder = cpu_transcoder;
- hdcp->port_data.fw_tc = intel_get_mei_fw_tc(cpu_transcoder);
- mutex_unlock(&hdcp->mutex);
- }
-}
-
static inline int initialize_hdcp_port_data(struct intel_connector *connector,
const struct intel_hdcp_shim *shim)
{
@@ -1959,8 +1942,10 @@ int intel_hdcp_init(struct intel_connector *connector,
return 0;
}
-int intel_hdcp_enable(struct intel_connector *connector, u8 content_type)
+int intel_hdcp_enable(struct intel_connector *connector,
+ enum transcoder cpu_transcoder, u8 content_type)
{
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
unsigned long check_link_interval = DRM_HDCP_CHECK_PERIOD_MS;
int ret = -EINVAL;
@@ -1972,6 +1957,11 @@ int intel_hdcp_enable(struct intel_connector *connector, u8 content_type)
WARN_ON(hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED);
hdcp->content_type = content_type;
+ if (INTEL_GEN(dev_priv) >= 12) {
+ hdcp->cpu_transcoder = cpu_transcoder;
+ hdcp->port_data.fw_tc = intel_get_mei_fw_tc(cpu_transcoder);
+ }
+
/*
* Considering that HDCP2.2 is more secure than HDCP1.4, If the setup
* is capable of HDCP2.2, it is preferred to use HDCP2.2.
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.h b/drivers/gpu/drm/i915/display/intel_hdcp.h
index 41c1053d9e38..f3c3272e712a 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.h
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.h
@@ -21,11 +21,10 @@ enum transcoder;
void intel_hdcp_atomic_check(struct drm_connector *connector,
struct drm_connector_state *old_state,
struct drm_connector_state *new_state);
-void intel_hdcp_transcoder_config(struct intel_connector *connector,
- enum transcoder cpu_transcoder);
int intel_hdcp_init(struct intel_connector *connector,
const struct intel_hdcp_shim *hdcp_shim);
-int intel_hdcp_enable(struct intel_connector *connector, u8 content_type);
+int intel_hdcp_enable(struct intel_connector *connector,
+ enum transcoder cpu_transcoder, u8 content_type);
int intel_hdcp_disable(struct intel_connector *connector);
bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
bool intel_hdcp_capable(struct intel_connector *connector);
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index 29a174af5314..a89a09b25260 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -2490,9 +2490,6 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
return -EINVAL;
}
- intel_hdcp_transcoder_config(intel_hdmi->attached_connector,
- pipe_config->cpu_transcoder);
-
return 0;
}
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
2019-12-04 18:05 ` [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2020-01-09 7:28 ` Kahola, Mika
2019-12-04 18:05 ` [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*() Ville Syrjala
` (11 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Life is usually easier when we pass around intel_ types instead
of drm_ types. In this case it might not be, but I think being
consistent is a good thing anyway. Also some of this might get
cleaned up a bit more later as we keep propagating the intel_
types further.
@find@
identifier F =~ "^intel_attached_.*";
identifier C;
@@
F(struct drm_connector *C)
{
...
}
@@
identifier find.F;
identifier find.C;
@@
F(
- struct drm_connector *C
+ struct intel_connector *connector
)
{
<...
- C
+ &connector->base
...>
}
@@
identifier find.F;
expression C;
@@
- F(C)
+ F(to_intel_connector(C))
@@
expression C;
@@
- to_intel_connector(&C->base)
+ C
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_crt.c | 12 +++++-----
drivers/gpu/drm/i915/display/intel_display.c | 8 +++----
.../drm/i915/display/intel_display_types.h | 6 ++---
drivers/gpu/drm/i915/display/intel_dp.c | 16 +++++++-------
drivers/gpu/drm/i915/display/intel_dvo.c | 8 +++----
drivers/gpu/drm/i915/display/intel_hdmi.c | 16 +++++++-------
drivers/gpu/drm/i915/display/intel_sdvo.c | 22 +++++++++----------
drivers/gpu/drm/i915/display/intel_tv.c | 6 ++---
drivers/gpu/drm/i915/i915_debugfs.c | 14 ++++++------
9 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_crt.c b/drivers/gpu/drm/i915/display/intel_crt.c
index 7a2d36905155..47fceecea9f8 100644
--- a/drivers/gpu/drm/i915/display/intel_crt.c
+++ b/drivers/gpu/drm/i915/display/intel_crt.c
@@ -65,7 +65,7 @@ static struct intel_crt *intel_encoder_to_crt(struct intel_encoder *encoder)
return container_of(encoder, struct intel_crt, base);
}
-static struct intel_crt *intel_attached_crt(struct drm_connector *connector)
+static struct intel_crt *intel_attached_crt(struct intel_connector *connector)
{
return intel_encoder_to_crt(intel_attached_encoder(connector));
}
@@ -422,7 +422,7 @@ static int hsw_crt_compute_config(struct intel_encoder *encoder,
static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
- struct intel_crt *crt = intel_attached_crt(connector);
+ struct intel_crt *crt = intel_attached_crt(to_intel_connector(connector));
struct drm_i915_private *dev_priv = to_i915(dev);
u32 adpa;
bool ret;
@@ -469,7 +469,7 @@ static bool intel_ironlake_crt_detect_hotplug(struct drm_connector *connector)
static bool valleyview_crt_detect_hotplug(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
- struct intel_crt *crt = intel_attached_crt(connector);
+ struct intel_crt *crt = intel_attached_crt(to_intel_connector(connector));
struct drm_i915_private *dev_priv = to_i915(dev);
bool reenable_hpd;
u32 adpa;
@@ -601,7 +601,7 @@ static int intel_crt_ddc_get_modes(struct drm_connector *connector,
static bool intel_crt_detect_ddc(struct drm_connector *connector)
{
- struct intel_crt *crt = intel_attached_crt(connector);
+ struct intel_crt *crt = intel_attached_crt(to_intel_connector(connector));
struct drm_i915_private *dev_priv = to_i915(crt->base.base.dev);
struct edid *edid;
struct i2c_adapter *i2c;
@@ -787,7 +787,7 @@ intel_crt_detect(struct drm_connector *connector,
bool force)
{
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_crt *crt = intel_attached_crt(connector);
+ struct intel_crt *crt = intel_attached_crt(to_intel_connector(connector));
struct intel_encoder *intel_encoder = &crt->base;
intel_wakeref_t wakeref;
int status, ret;
@@ -878,7 +878,7 @@ static int intel_crt_get_modes(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_crt *crt = intel_attached_crt(connector);
+ struct intel_crt *crt = intel_attached_crt(to_intel_connector(connector));
struct intel_encoder *intel_encoder = &crt->base;
intel_wakeref_t wakeref;
struct i2c_adapter *i2c;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index eb0505a66ea8..99abc553a8ab 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -6197,7 +6197,7 @@ intel_connector_primary_encoder(struct intel_connector *connector)
if (connector->mst_port)
return &dp_to_dig_port(connector->mst_port)->base;
- encoder = intel_attached_encoder(&connector->base);
+ encoder = intel_attached_encoder(connector);
WARN_ON(!encoder);
return encoder;
@@ -11376,7 +11376,7 @@ int intel_get_load_detect_pipe(struct drm_connector *connector,
{
struct intel_crtc *intel_crtc;
struct intel_encoder *intel_encoder =
- intel_attached_encoder(connector);
+ intel_attached_encoder(to_intel_connector(connector));
struct drm_crtc *possible_crtc;
struct drm_encoder *encoder = &intel_encoder->base;
struct drm_crtc *crtc = NULL;
@@ -11530,7 +11530,7 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
struct drm_modeset_acquire_ctx *ctx)
{
struct intel_encoder *intel_encoder =
- intel_attached_encoder(connector);
+ intel_attached_encoder(to_intel_connector(connector));
struct drm_encoder *encoder = &intel_encoder->base;
struct drm_atomic_state *state = old->restore_state;
int ret;
@@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
if (conn_state->crtc == &crtc->base)
break;
}
- intel_dp = enc_to_intel_dp(&intel_attached_encoder(conn)->base);
+ intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(conn))->base);
intel_dp_stop_link_train(intel_dp);
}
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 83ea04149b77..4d89de5a4964 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1435,9 +1435,9 @@ struct intel_load_detect_pipe {
};
static inline struct intel_encoder *
-intel_attached_encoder(struct drm_connector *connector)
+intel_attached_encoder(struct intel_connector *connector)
{
- return to_intel_connector(connector)->encoder;
+ return connector->encoder;
}
static inline bool intel_encoder_is_dig_port(struct intel_encoder *encoder)
@@ -1468,7 +1468,7 @@ enc_to_dig_port(struct drm_encoder *encoder)
static inline struct intel_digital_port *
conn_to_dig_port(struct intel_connector *connector)
{
- return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
+ return enc_to_dig_port(&intel_attached_encoder(connector)->base);
}
static inline struct intel_dp_mst_encoder *
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0f496115c345..668b636fcfaa 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -146,7 +146,7 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
return intel_dig_port->base.type == INTEL_OUTPUT_EDP;
}
-static struct intel_dp *intel_attached_dp(struct drm_connector *connector)
+static struct intel_dp *intel_attached_dp(struct intel_connector *connector)
{
return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
}
@@ -614,7 +614,7 @@ static enum drm_mode_status
intel_dp_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
- struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
struct intel_connector *intel_connector = to_intel_connector(connector);
struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode;
struct drm_i915_private *dev_priv = to_i915(connector->dev);
@@ -2996,7 +2996,7 @@ void intel_edp_backlight_off(const struct drm_connector_state *old_conn_state)
static void intel_edp_backlight_power(struct intel_connector *connector,
bool enable)
{
- struct intel_dp *intel_dp = intel_attached_dp(&connector->base);
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
intel_wakeref_t wakeref;
bool is_enabled;
@@ -5611,7 +5611,7 @@ intel_dp_detect(struct drm_connector *connector,
bool force)
{
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
struct intel_encoder *encoder = &dig_port->base;
enum drm_connector_status status;
@@ -5715,7 +5715,7 @@ intel_dp_detect(struct drm_connector *connector,
static void
intel_dp_force(struct drm_connector *connector)
{
- struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
struct intel_encoder *intel_encoder = &dig_port->base;
struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
@@ -5750,7 +5750,7 @@ static int intel_dp_get_modes(struct drm_connector *connector)
}
/* if eDP has no EDID, fall back to fixed mode */
- if (intel_dp_is_edp(intel_attached_dp(connector)) &&
+ if (intel_dp_is_edp(intel_attached_dp(to_intel_connector(connector))) &&
intel_connector->panel.fixed_mode) {
struct drm_display_mode *mode;
@@ -5768,7 +5768,7 @@ static int intel_dp_get_modes(struct drm_connector *connector)
static int
intel_dp_connector_register(struct drm_connector *connector)
{
- struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
int ret;
ret = intel_connector_register(connector);
@@ -5790,7 +5790,7 @@ intel_dp_connector_register(struct drm_connector *connector)
static void
intel_dp_connector_unregister(struct drm_connector *connector)
{
- struct intel_dp *intel_dp = intel_attached_dp(connector);
+ struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
drm_dp_cec_unregister_connector(&intel_dp->aux);
drm_dp_aux_unregister(&intel_dp->aux);
diff --git a/drivers/gpu/drm/i915/display/intel_dvo.c b/drivers/gpu/drm/i915/display/intel_dvo.c
index a74dc5b915d1..86a337c9d85d 100644
--- a/drivers/gpu/drm/i915/display/intel_dvo.c
+++ b/drivers/gpu/drm/i915/display/intel_dvo.c
@@ -125,7 +125,7 @@ static struct intel_dvo *enc_to_dvo(struct intel_encoder *encoder)
return container_of(encoder, struct intel_dvo, base);
}
-static struct intel_dvo *intel_attached_dvo(struct drm_connector *connector)
+static struct intel_dvo *intel_attached_dvo(struct intel_connector *connector)
{
return enc_to_dvo(intel_attached_encoder(connector));
}
@@ -134,7 +134,7 @@ static bool intel_dvo_connector_get_hw_state(struct intel_connector *connector)
{
struct drm_device *dev = connector->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_dvo *intel_dvo = intel_attached_dvo(&connector->base);
+ struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
u32 tmp;
tmp = I915_READ(intel_dvo->dev.dvo_reg);
@@ -220,7 +220,7 @@ static enum drm_mode_status
intel_dvo_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
- struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
+ struct intel_dvo *intel_dvo = intel_attached_dvo(to_intel_connector(connector));
const struct drm_display_mode *fixed_mode =
to_intel_connector(connector)->panel.fixed_mode;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
@@ -311,7 +311,7 @@ static void intel_dvo_pre_enable(struct intel_encoder *encoder,
static enum drm_connector_status
intel_dvo_detect(struct drm_connector *connector, bool force)
{
- struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
+ struct intel_dvo *intel_dvo = intel_attached_dvo(to_intel_connector(connector));
DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
connector->base.id, connector->name);
return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev);
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index a89a09b25260..a8deb4789f04 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -92,7 +92,7 @@ struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
return &intel_dig_port->hdmi;
}
-static struct intel_hdmi *intel_attached_hdmi(struct drm_connector *connector)
+static struct intel_hdmi *intel_attached_hdmi(struct intel_connector *connector)
{
return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base);
}
@@ -2160,7 +2160,7 @@ static enum drm_mode_status
intel_hdmi_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
- struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *hdmi = intel_attached_hdmi(to_intel_connector(connector));
struct drm_device *dev = intel_hdmi_to_dev(hdmi);
struct drm_i915_private *dev_priv = to_i915(dev);
enum drm_mode_status status;
@@ -2496,7 +2496,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
static void
intel_hdmi_unset_edid(struct drm_connector *connector)
{
- struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *intel_hdmi = intel_attached_hdmi(to_intel_connector(connector));
intel_hdmi->has_hdmi_sink = false;
intel_hdmi->has_audio = false;
@@ -2512,7 +2512,7 @@ static void
intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid)
{
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *hdmi = intel_attached_hdmi(to_intel_connector(connector));
enum port port = hdmi_to_dig_port(hdmi)->base.port;
struct i2c_adapter *adapter =
intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
@@ -2559,7 +2559,7 @@ static bool
intel_hdmi_set_edid(struct drm_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *intel_hdmi = intel_attached_hdmi(to_intel_connector(connector));
intel_wakeref_t wakeref;
struct edid *edid;
bool connected = false;
@@ -2600,7 +2600,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
{
enum drm_connector_status status = connector_status_disconnected;
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *intel_hdmi = intel_attached_hdmi(to_intel_connector(connector));
struct intel_encoder *encoder = &hdmi_to_dig_port(intel_hdmi)->base;
intel_wakeref_t wakeref;
@@ -2772,7 +2772,7 @@ static struct i2c_adapter *
intel_hdmi_get_i2c_adapter(struct drm_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->dev);
- struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
+ struct intel_hdmi *intel_hdmi = intel_attached_hdmi(to_intel_connector(connector));
return intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
}
@@ -2816,7 +2816,7 @@ intel_hdmi_connector_register(struct drm_connector *connector)
static void intel_hdmi_destroy(struct drm_connector *connector)
{
- struct cec_notifier *n = intel_attached_hdmi(connector)->cec_notifier;
+ struct cec_notifier *n = intel_attached_hdmi(to_intel_connector(connector))->cec_notifier;
cec_notifier_conn_unregister(n);
diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c b/drivers/gpu/drm/i915/display/intel_sdvo.c
index 8758ee2a4442..e8819fd21e03 100644
--- a/drivers/gpu/drm/i915/display/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
@@ -180,7 +180,7 @@ static struct intel_sdvo *to_sdvo(struct intel_encoder *encoder)
return container_of(encoder, struct intel_sdvo, base);
}
-static struct intel_sdvo *intel_attached_sdvo(struct drm_connector *connector)
+static struct intel_sdvo *intel_attached_sdvo(struct intel_connector *connector)
{
return to_sdvo(intel_attached_encoder(connector));
}
@@ -1551,7 +1551,7 @@ static bool intel_sdvo_connector_get_hw_state(struct intel_connector *connector)
{
struct intel_sdvo_connector *intel_sdvo_connector =
to_intel_sdvo_connector(&connector->base);
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(&connector->base);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
u16 active_outputs = 0;
intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs);
@@ -1823,7 +1823,7 @@ static enum drm_mode_status
intel_sdvo_mode_valid(struct drm_connector *connector,
struct drm_display_mode *mode)
{
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
struct intel_sdvo_connector *intel_sdvo_connector =
to_intel_sdvo_connector(connector);
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
@@ -1941,7 +1941,7 @@ intel_sdvo_multifunc_encoder(struct intel_sdvo *intel_sdvo)
static struct edid *
intel_sdvo_get_edid(struct drm_connector *connector)
{
- struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *sdvo = intel_attached_sdvo(to_intel_connector(connector));
return drm_get_edid(connector, &sdvo->ddc);
}
@@ -1959,7 +1959,7 @@ intel_sdvo_get_analog_edid(struct drm_connector *connector)
static enum drm_connector_status
intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
{
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
struct intel_sdvo_connector *intel_sdvo_connector =
to_intel_sdvo_connector(connector);
enum drm_connector_status status;
@@ -2028,7 +2028,7 @@ static enum drm_connector_status
intel_sdvo_detect(struct drm_connector *connector, bool force)
{
u16 response;
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
enum drm_connector_status ret;
@@ -2175,7 +2175,7 @@ static const struct drm_display_mode sdvo_tv_modes[] = {
static void intel_sdvo_get_tv_modes(struct drm_connector *connector)
{
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
const struct drm_connector_state *conn_state = connector->state;
struct intel_sdvo_sdtv_resolution_request tv_res;
u32 reply = 0, format_map = 0;
@@ -2215,7 +2215,7 @@ static void intel_sdvo_get_tv_modes(struct drm_connector *connector)
static void intel_sdvo_get_lvds_modes(struct drm_connector *connector)
{
- struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
struct drm_i915_private *dev_priv = to_i915(connector->dev);
struct drm_display_mode *newmode;
@@ -2379,7 +2379,7 @@ intel_sdvo_connector_atomic_set_property(struct drm_connector *connector,
static int
intel_sdvo_connector_register(struct drm_connector *connector)
{
- struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *sdvo = intel_attached_sdvo(to_intel_connector(connector));
int ret;
ret = intel_connector_register(connector);
@@ -2394,7 +2394,7 @@ intel_sdvo_connector_register(struct drm_connector *connector)
static void
intel_sdvo_connector_unregister(struct drm_connector *connector)
{
- struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
+ struct intel_sdvo *sdvo = intel_attached_sdvo(to_intel_connector(connector));
sysfs_remove_link(&connector->kdev->kobj,
sdvo->ddc.dev.kobj.name);
@@ -2932,7 +2932,7 @@ static void intel_sdvo_output_cleanup(struct intel_sdvo *intel_sdvo)
list_for_each_entry_safe(connector, tmp,
&dev->mode_config.connector_list, head) {
- if (intel_attached_encoder(connector) == &intel_sdvo->base) {
+ if (intel_attached_encoder(to_intel_connector(connector)) == &intel_sdvo->base) {
drm_connector_unregister(connector);
intel_connector_destroy(connector);
}
diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
index 50703536436c..5cd0719758d9 100644
--- a/drivers/gpu/drm/i915/display/intel_tv.c
+++ b/drivers/gpu/drm/i915/display/intel_tv.c
@@ -898,7 +898,7 @@ static struct intel_tv *enc_to_tv(struct intel_encoder *encoder)
return container_of(encoder, struct intel_tv, base);
}
-static struct intel_tv *intel_attached_tv(struct drm_connector *connector)
+static struct intel_tv *intel_attached_tv(struct intel_connector *connector)
{
return enc_to_tv(intel_attached_encoder(connector));
}
@@ -1662,7 +1662,7 @@ intel_tv_detect_type(struct intel_tv *intel_tv,
*/
static void intel_tv_find_better_format(struct drm_connector *connector)
{
- struct intel_tv *intel_tv = intel_attached_tv(connector);
+ struct intel_tv *intel_tv = intel_attached_tv(to_intel_connector(connector));
const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
int i;
@@ -1689,7 +1689,7 @@ intel_tv_detect(struct drm_connector *connector,
struct drm_modeset_acquire_ctx *ctx,
bool force)
{
- struct intel_tv *intel_tv = intel_attached_tv(connector);
+ struct intel_tv *intel_tv = intel_attached_tv(to_intel_connector(connector));
enum drm_connector_status status;
int type;
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index eb80a2c4b55b..4f543ccec15d 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
struct drm_connector *connector = m->private;
struct drm_i915_private *dev_priv = to_i915(connector->dev);
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(connector)->base);
+ enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
int ret;
if (!CAN_PSR(dev_priv)) {
@@ -3055,7 +3055,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused)
if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
continue;
- intel_encoder = intel_attached_encoder(connector);
+ intel_encoder = intel_attached_encoder(to_intel_connector(connector));
if (!intel_encoder || intel_encoder->type == INTEL_OUTPUT_DP_MST)
continue;
@@ -4185,7 +4185,7 @@ static int i915_drrs_ctl_set(void *data, u64 val)
drm_connector_mask(connector)))
continue;
- encoder = intel_attached_encoder(connector);
+ encoder = intel_attached_encoder(to_intel_connector(connector));
if (encoder->type != INTEL_OUTPUT_EDP)
continue;
@@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(connector)->base);
+ enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
u8 buf[16];
ssize_t err;
int i;
@@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(connector)->base);
+ enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
if (connector->status != connector_status_connected)
return -ENODEV;
@@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
} else if (ret) {
break;
}
- intel_dp = enc_to_intel_dp(&intel_attached_encoder(connector)->base);
+ intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
crtc_state = to_intel_crtc_state(crtc->state);
seq_printf(m, "DSC_Enabled: %s\n",
yesno(crtc_state->dsc.compression_enable));
@@ -4536,7 +4536,7 @@ static ssize_t i915_dsc_fec_support_write(struct file *file,
int ret;
struct drm_connector *connector =
((struct seq_file *)file->private_data)->private;
- struct intel_encoder *encoder = intel_attached_encoder(connector);
+ struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
if (len == 0)
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
2019-12-04 18:05 ` [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() Ville Syrjala
2019-12-04 18:05 ` [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2019-12-18 20:41 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder Ville Syrjala
` (10 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Lots of enc_to_foo(&encoder->base) around. Simplify by passing
in the intel_encoder instead.
@find@
identifier F =~ "^enc_to_.*";
identifier E;
@@
F(struct drm_encoder *E)
{
...
}
@@
identifier find.F;
identifier find.E;
@@
F(
- struct drm_encoder *E
+ struct intel_encoder *encoder
)
{
<...
- E
+ &encoder->base
...>
}
@@
identifier find.F;
expression E;
@@
- F(E)
+ F(to_intel_encoder(E))
@@
expression E;
@@
- to_intel_encoder(&E->base)
+ E
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/icl_dsi.c | 58 ++++++++---------
drivers/gpu/drm/i915/display/intel_ddi.c | 63 ++++++++++---------
drivers/gpu/drm/i915/display/intel_display.c | 4 +-
.../drm/i915/display/intel_display_power.c | 6 +-
.../drm/i915/display/intel_display_types.h | 19 +++---
drivers/gpu/drm/i915/display/intel_dp.c | 54 ++++++++--------
.../drm/i915/display/intel_dp_aux_backlight.c | 15 ++---
drivers/gpu/drm/i915/display/intel_dp_mst.c | 24 +++----
drivers/gpu/drm/i915/display/intel_dpio_phy.c | 18 +++---
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 4 +-
drivers/gpu/drm/i915/display/intel_dsi.h | 6 +-
.../i915/display/intel_dsi_dcs_backlight.c | 8 +--
drivers/gpu/drm/i915/display/intel_hdmi.c | 49 ++++++++-------
drivers/gpu/drm/i915/display/intel_hdmi.h | 2 +-
drivers/gpu/drm/i915/display/intel_hotplug.c | 4 +-
drivers/gpu/drm/i915/display/intel_lspcon.c | 8 +--
drivers/gpu/drm/i915/display/intel_pipe_crc.c | 2 +-
drivers/gpu/drm/i915/display/intel_vdsc.c | 4 +-
drivers/gpu/drm/i915/display/vlv_dsi.c | 36 +++++------
drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 12 ++--
drivers/gpu/drm/i915/i915_debugfs.c | 28 ++++-----
21 files changed, 214 insertions(+), 210 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index f688207932e0..7e774cd4a56c 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -76,7 +76,7 @@ static enum transcoder dsi_port_to_transcoder(enum port port)
static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct mipi_dsi_device *dsi;
enum port port;
enum transcoder dsi_trans;
@@ -201,7 +201,7 @@ static int dsi_send_pkt_payld(struct intel_dsi_host *host,
static void dsi_program_swing_and_deemphasis(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum phy phy;
u32 tmp;
int lane;
@@ -266,7 +266,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 dss_ctl1;
dss_ctl1 = I915_READ(DSS_CTL1);
@@ -304,7 +304,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
static void gen11_dsi_program_esc_clk_div(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
u32 afe_clk_khz; /* 8X Clock */
@@ -346,7 +346,7 @@ static void get_dsi_io_power_domains(struct drm_i915_private *dev_priv,
static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 tmp;
@@ -362,7 +362,7 @@ static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum phy phy;
for_each_dsi_phy(phy, intel_dsi->phys)
@@ -373,7 +373,7 @@ static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum phy phy;
u32 tmp;
int lane;
@@ -422,7 +422,7 @@ static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum phy phy;
@@ -474,7 +474,7 @@ static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum port port;
@@ -493,7 +493,7 @@ static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum port port;
enum phy phy;
@@ -559,7 +559,7 @@ static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum phy phy;
@@ -575,7 +575,7 @@ static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
static void gen11_dsi_ungate_clocks(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum phy phy;
@@ -592,7 +592,7 @@ static void gen11_dsi_map_pll(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct intel_shared_dpll *pll = crtc_state->shared_dpll;
enum phy phy;
u32 val;
@@ -624,7 +624,7 @@ gen11_dsi_configure_transcoder(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
enum pipe pipe = intel_crtc->pipe;
u32 tmp;
@@ -769,7 +769,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
const struct drm_display_mode *adjusted_mode =
&pipe_config->hw.adjusted_mode;
enum port port;
@@ -889,7 +889,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
enum transcoder dsi_trans;
u32 tmp;
@@ -910,7 +910,7 @@ static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
static void gen11_dsi_setup_timeouts(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
enum transcoder dsi_trans;
u32 tmp, hs_tx_timeout, lp_rx_timeout, ta_timeout, divisor, mul;
@@ -991,7 +991,7 @@ gen11_dsi_enable_port_and_phy(struct intel_encoder *encoder,
static void gen11_dsi_powerup_panel(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct mipi_dsi_device *dsi;
enum port port;
enum transcoder dsi_trans;
@@ -1042,7 +1042,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
/* step3b */
gen11_dsi_map_pll(encoder, pipe_config);
@@ -1067,7 +1067,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
enum transcoder dsi_trans;
u32 tmp;
@@ -1089,7 +1089,7 @@ static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF);
intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_ASSERT_RESET);
@@ -1102,7 +1102,7 @@ static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
enum transcoder dsi_trans;
u32 tmp;
@@ -1143,7 +1143,7 @@ static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
static void gen11_dsi_disable_port(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u32 tmp;
enum port port;
@@ -1165,7 +1165,7 @@ static void gen11_dsi_disable_port(struct intel_encoder *encoder)
static void gen11_dsi_disable_io_power(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 tmp;
@@ -1192,7 +1192,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
/* step1: turn off backlight */
intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_OFF);
@@ -1217,7 +1217,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
static void gen11_dsi_get_timings(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct drm_display_mode *adjusted_mode =
&pipe_config->hw.adjusted_mode;
@@ -1246,7 +1246,7 @@ static void gen11_dsi_get_config(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
/* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */
pipe_config->port_clock =
@@ -1296,14 +1296,14 @@ static void gen11_dsi_get_power_domains(struct intel_encoder *encoder,
struct intel_crtc_state *crtc_state)
{
get_dsi_io_power_domains(to_i915(encoder->base.dev),
- enc_to_intel_dsi(&encoder->base));
+ enc_to_intel_dsi(encoder));
}
static bool gen11_dsi_get_hw_state(struct intel_encoder *encoder,
enum pipe *pipe)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum transcoder dsi_trans;
intel_wakeref_t wakeref;
enum port port;
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index e692c0b28559..52d187db320f 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -1241,9 +1241,9 @@ void hsw_fdi_link_train(struct intel_crtc *crtc,
static void intel_ddi_init_dp_buf_reg(struct intel_encoder *encoder)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_digital_port *intel_dig_port =
- enc_to_dig_port(&encoder->base);
+ enc_to_dig_port(encoder);
intel_dp->DP = intel_dig_port->saved_port_bits |
DDI_BUF_CTL_ENABLE | DDI_BUF_TRANS_SELECT(0);
@@ -2221,7 +2221,7 @@ static void intel_ddi_get_power_domains(struct intel_encoder *encoder,
if (WARN_ON(intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST)))
return;
- dig_port = enc_to_dig_port(&encoder->base);
+ dig_port = enc_to_dig_port(encoder);
intel_display_power_get(dev_priv, dig_port->ddi_io_power_domain);
/*
@@ -2291,7 +2291,7 @@ static void _skl_ddi_set_iboost(struct drm_i915_private *dev_priv,
static void skl_ddi_set_iboost(struct intel_encoder *encoder,
int level, enum intel_output_type type)
{
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
enum port port = encoder->port;
u8 iboost;
@@ -2362,7 +2362,7 @@ static void bxt_ddi_vswing_sequence(struct intel_encoder *encoder,
u8 intel_ddi_dp_voltage_max(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
enum port port = encoder->port;
enum phy phy = intel_port_to_phy(dev_priv, port);
int n_entries;
@@ -2501,7 +2501,7 @@ static void cnl_ddi_vswing_sequence(struct intel_encoder *encoder,
width = 4;
rate = 0; /* Rate is always < than 6GHz for HDMI */
} else {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
width = intel_dp->lane_count;
rate = intel_dp->link_rate;
@@ -2627,7 +2627,7 @@ static void icl_combo_phy_ddi_vswing_sequence(struct intel_encoder *encoder,
width = 4;
/* Rate is always < than 6GHz for HDMI */
} else {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
width = intel_dp->lane_count;
rate = intel_dp->link_rate;
@@ -3316,7 +3316,7 @@ static void intel_ddi_enable_fec(struct intel_encoder *encoder,
if (!crtc_state->fec_enable)
return;
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
val = I915_READ(intel_dp->regs.dp_tp_ctl);
val |= DP_TP_CTL_FEC_ENABLE;
I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
@@ -3336,7 +3336,7 @@ static void intel_ddi_disable_fec_state(struct intel_encoder *encoder,
if (!crtc_state->fec_enable)
return;
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
val = I915_READ(intel_dp->regs.dp_tp_ctl);
val &= ~DP_TP_CTL_FEC_ENABLE;
I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
@@ -3427,10 +3427,10 @@ static void tgl_ddi_pre_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
int level = intel_ddi_dp_level(intel_dp);
enum transcoder transcoder = crtc_state->cpu_transcoder;
@@ -3583,11 +3583,11 @@ static void hsw_ddi_pre_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
enum port port = encoder->port;
enum phy phy = intel_port_to_phy(dev_priv, port);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
int level = intel_ddi_dp_level(intel_dp);
@@ -3673,12 +3673,12 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
enum port port = encoder->port;
int level = intel_ddi_hdmi_level(dev_priv, port);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
intel_dp_dual_mode_set_tmds_output(intel_hdmi, true);
intel_ddi_clk_select(encoder, crtc_state);
@@ -3745,12 +3745,12 @@ static void intel_ddi_pre_enable(struct intel_encoder *encoder,
intel_ddi_pre_enable_hdmi(encoder, crtc_state, conn_state);
} else {
struct intel_lspcon *lspcon =
- enc_to_intel_lspcon(&encoder->base);
+ enc_to_intel_lspcon(encoder);
intel_ddi_pre_enable_dp(encoder, crtc_state, conn_state);
if (lspcon->active) {
struct intel_digital_port *dig_port =
- enc_to_dig_port(&encoder->base);
+ enc_to_dig_port(encoder);
dig_port->set_infoframes(encoder,
crtc_state->has_infoframe,
@@ -3775,7 +3775,7 @@ static void intel_disable_ddi_buf(struct intel_encoder *encoder,
}
if (intel_crtc_has_dp_encoder(crtc_state)) {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
val = I915_READ(intel_dp->regs.dp_tp_ctl);
val &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK);
@@ -3795,7 +3795,7 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
const struct drm_connector_state *old_conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
struct intel_dp *intel_dp = &dig_port->dp;
bool is_mst = intel_crtc_has_type(old_crtc_state,
INTEL_OUTPUT_DP_MST);
@@ -3829,7 +3829,7 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
const struct drm_connector_state *old_conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
dig_port->set_infoframes(encoder, false,
@@ -3916,7 +3916,7 @@ static void intel_enable_ddi_dp(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
enum port port = encoder->port;
if (port == PORT_A && INTEL_GEN(dev_priv) < 9)
@@ -3957,7 +3957,7 @@ static void intel_enable_ddi_hdmi(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
struct drm_connector *connector = conn_state->connector;
enum port port = encoder->port;
@@ -4034,7 +4034,7 @@ static void intel_disable_ddi_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
intel_dp->link_trained = false;
@@ -4082,7 +4082,7 @@ static void intel_ddi_update_pipe_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
intel_ddi_set_dp_msa(crtc_state, conn_state);
@@ -4146,7 +4146,8 @@ intel_ddi_update_prepare(struct intel_atomic_state *state,
WARN_ON(crtc && crtc->active);
- intel_tc_port_get_link(enc_to_dig_port(&encoder->base), required_lanes);
+ intel_tc_port_get_link(enc_to_dig_port(encoder),
+ required_lanes);
if (crtc_state && crtc_state->hw.active)
intel_update_active_dpll(state, crtc, encoder);
}
@@ -4156,7 +4157,7 @@ intel_ddi_update_complete(struct intel_atomic_state *state,
struct intel_encoder *encoder,
struct intel_crtc *crtc)
{
- intel_tc_port_put_link(enc_to_dig_port(&encoder->base));
+ intel_tc_port_put_link(enc_to_dig_port(encoder));
}
static void
@@ -4165,7 +4166,7 @@ intel_ddi_pre_pll_enable(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
@@ -4193,7 +4194,7 @@ intel_ddi_post_pll_disable(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
@@ -4480,7 +4481,7 @@ static int intel_ddi_compute_config(struct intel_encoder *encoder,
static void intel_ddi_encoder_destroy(struct drm_encoder *encoder)
{
- struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
+ struct intel_digital_port *dig_port = enc_to_dig_port(to_intel_encoder(encoder));
intel_dp_encoder_flush_work(encoder);
@@ -4547,7 +4548,7 @@ static int intel_hdmi_reset_link(struct intel_encoder *encoder,
struct drm_modeset_acquire_ctx *ctx)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_hdmi *hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *hdmi = enc_to_intel_hdmi(encoder);
struct intel_connector *connector = hdmi->attached_connector;
struct i2c_adapter *adapter =
intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
@@ -4619,7 +4620,7 @@ intel_ddi_hotplug(struct intel_encoder *encoder,
struct intel_connector *connector,
bool irq_received)
{
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
struct drm_modeset_acquire_ctx ctx;
enum intel_hotplug_state state;
int ret;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 99abc553a8ab..45568a7c6579 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
if (conn_state->crtc == &crtc->base)
break;
}
- intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(conn))->base);
+ intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(conn)));
intel_dp_stop_link_train(intel_dp);
}
@@ -17763,7 +17763,7 @@ intel_modeset_setup_hw_state(struct drm_device *dev,
/* We need to sanitize only the MST primary port. */
if (encoder->type != INTEL_OUTPUT_DP_MST &&
intel_phy_is_tc(dev_priv, phy))
- intel_tc_port_sanitize(enc_to_dig_port(&encoder->base));
+ intel_tc_port_sanitize(enc_to_dig_port(encoder));
}
get_encoder_power_domains(dev_priv);
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index ce1b64f4dd44..7395cb0111a3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -519,7 +519,7 @@ static void icl_tc_port_assert_ref_held(struct drm_i915_private *dev_priv,
if (encoder->type == INTEL_OUTPUT_DP_MST)
continue;
- dig_port = enc_to_dig_port(&encoder->base);
+ dig_port = enc_to_dig_port(encoder);
if (WARN_ON(!dig_port))
continue;
@@ -1669,8 +1669,8 @@ void chv_phy_powergate_lanes(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct i915_power_domains *power_domains = &dev_priv->power_domains;
- enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(&encoder->base));
- enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
+ enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(encoder));
+ enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
mutex_lock(&power_domains->lock);
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 4d89de5a4964..79c7454ff510 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1454,12 +1454,12 @@ static inline bool intel_encoder_is_dig_port(struct intel_encoder *encoder)
}
static inline struct intel_digital_port *
-enc_to_dig_port(struct drm_encoder *encoder)
+enc_to_dig_port(struct intel_encoder *encoder)
{
- struct intel_encoder *intel_encoder = to_intel_encoder(encoder);
+ struct intel_encoder *intel_encoder = encoder;
if (intel_encoder_is_dig_port(intel_encoder))
- return container_of(encoder, struct intel_digital_port,
+ return container_of(&encoder->base, struct intel_digital_port,
base.base);
else
return NULL;
@@ -1468,16 +1468,17 @@ enc_to_dig_port(struct drm_encoder *encoder)
static inline struct intel_digital_port *
conn_to_dig_port(struct intel_connector *connector)
{
- return enc_to_dig_port(&intel_attached_encoder(connector)->base);
+ return enc_to_dig_port(intel_attached_encoder(connector));
}
static inline struct intel_dp_mst_encoder *
-enc_to_mst(struct drm_encoder *encoder)
+enc_to_mst(struct intel_encoder *encoder)
{
- return container_of(encoder, struct intel_dp_mst_encoder, base.base);
+ return container_of(&encoder->base, struct intel_dp_mst_encoder,
+ base.base);
}
-static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder)
+static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
{
return &enc_to_dig_port(encoder)->dp;
}
@@ -1490,14 +1491,14 @@ static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
return true;
case INTEL_OUTPUT_DDI:
/* Skip pure HDMI/DVI DDI encoders */
- return i915_mmio_reg_valid(enc_to_intel_dp(&encoder->base)->output_reg);
+ return i915_mmio_reg_valid(enc_to_intel_dp(encoder)->output_reg);
default:
return false;
}
}
static inline struct intel_lspcon *
-enc_to_intel_lspcon(struct drm_encoder *encoder)
+enc_to_intel_lspcon(struct intel_encoder *encoder)
{
return &enc_to_dig_port(encoder)->lspcon;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 668b636fcfaa..93f3d232fcb5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -148,7 +148,7 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
static struct intel_dp *intel_attached_dp(struct intel_connector *connector)
{
- return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
+ return enc_to_intel_dp(intel_attached_encoder(connector));
}
static void intel_dp_link_down(struct intel_encoder *encoder,
@@ -834,7 +834,7 @@ static enum pipe vlv_find_free_pps(struct drm_i915_private *dev_priv)
* Pick one that's not used by other ports.
*/
for_each_intel_dp(&dev_priv->drm, encoder) {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
if (encoder->type == INTEL_OUTPUT_EDP) {
WARN_ON(intel_dp->active_pipe != INVALID_PIPE &&
@@ -1031,7 +1031,7 @@ void intel_power_sequencer_reset(struct drm_i915_private *dev_priv)
*/
for_each_intel_dp(&dev_priv->drm, encoder) {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
WARN_ON(intel_dp->active_pipe != INVALID_PIPE);
@@ -2165,7 +2165,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
struct drm_connector_state *conn_state)
{
struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct link_config_limits limits;
int common_len;
int ret;
@@ -2326,8 +2326,8 @@ intel_dp_compute_config(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
- struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+ struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
enum port port = encoder->port;
struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
struct intel_connector *intel_connector = intel_dp->attached_connector;
@@ -2442,7 +2442,7 @@ static void intel_dp_prepare(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
enum port port = encoder->port;
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
@@ -2940,7 +2940,7 @@ static void _intel_edp_backlight_on(struct intel_dp *intel_dp)
void intel_edp_backlight_on(const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(conn_state->best_encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(conn_state->best_encoder));
if (!intel_dp_is_edp(intel_dp))
return;
@@ -2978,7 +2978,7 @@ static void _intel_edp_backlight_off(struct intel_dp *intel_dp)
/* Disable backlight PP control and backlight PWM. */
void intel_edp_backlight_off(const struct drm_connector_state *old_conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(old_conn_state->best_encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder));
if (!intel_dp_is_edp(intel_dp))
return;
@@ -3218,7 +3218,7 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
enum pipe *pipe)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
intel_wakeref_t wakeref;
bool ret;
@@ -3239,7 +3239,7 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
u32 tmp, flags = 0;
enum port port = encoder->port;
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
@@ -3323,7 +3323,7 @@ static void intel_disable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
intel_dp->link_trained = false;
@@ -3357,7 +3357,7 @@ static void g4x_post_disable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
enum port port = encoder->port;
/*
@@ -3508,7 +3508,7 @@ static void intel_enable_dp(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
u32 dp_reg = I915_READ(intel_dp->output_reg);
enum pipe pipe = crtc->pipe;
@@ -3568,7 +3568,7 @@ static void g4x_pre_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
enum port port = encoder->port;
intel_dp_prepare(encoder, pipe_config);
@@ -3618,7 +3618,7 @@ static void vlv_steal_power_sequencer(struct drm_i915_private *dev_priv,
lockdep_assert_held(&dev_priv->pps_mutex);
for_each_intel_dp(&dev_priv->drm, encoder) {
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
WARN(intel_dp->active_pipe == pipe,
"stealing pipe %c power sequencer from active [ENCODER:%d:%s]\n",
@@ -3641,7 +3641,7 @@ static void vlv_init_panel_power_sequencer(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
lockdep_assert_held(&dev_priv->pps_mutex);
@@ -4163,7 +4163,7 @@ intel_dp_link_down(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
enum port port = encoder->port;
u32 DP = intel_dp->DP;
@@ -5056,7 +5056,7 @@ int intel_dp_retrain_link(struct intel_encoder *encoder,
struct drm_modeset_acquire_ctx *ctx)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_connector *connector = intel_dp->attached_connector;
struct drm_connector_state *conn_state;
struct intel_crtc_state *crtc_state;
@@ -5496,7 +5496,7 @@ static bool intel_combo_phy_connected(struct drm_i915_private *dev_priv,
static bool icp_digital_port_connected(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
if (intel_phy_is_combo(dev_priv, phy))
@@ -5799,7 +5799,7 @@ intel_dp_connector_unregister(struct drm_connector *connector)
void intel_dp_encoder_flush_work(struct drm_encoder *encoder)
{
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(to_intel_encoder(encoder));
struct intel_dp *intel_dp = &intel_dig_port->dp;
intel_dp_mst_encoder_cleanup(intel_dig_port);
@@ -5828,12 +5828,12 @@ static void intel_dp_encoder_destroy(struct drm_encoder *encoder)
intel_dp_encoder_flush_work(encoder);
drm_encoder_cleanup(encoder);
- kfree(enc_to_dig_port(encoder));
+ kfree(enc_to_dig_port(to_intel_encoder(encoder)));
}
void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
intel_wakeref_t wakeref;
if (!intel_dp_is_edp(intel_dp))
@@ -5864,7 +5864,7 @@ static
int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
u8 *an)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&intel_dig_port->base.base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(&intel_dig_port->base.base));
static const struct drm_dp_aux_msg msg = {
.request = DP_AUX_NATIVE_WRITE,
.address = DP_AUX_HDCP_AKSV,
@@ -6474,7 +6474,7 @@ static enum pipe vlv_active_pipe(struct intel_dp *intel_dp)
void intel_dp_encoder_reset(struct drm_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(encoder));
struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp);
intel_wakeref_t wakeref;
@@ -7620,7 +7620,7 @@ void intel_dp_mst_suspend(struct drm_i915_private *dev_priv)
if (encoder->type != INTEL_OUTPUT_DDI)
continue;
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
if (!intel_dp->can_mst)
continue;
@@ -7641,7 +7641,7 @@ void intel_dp_mst_resume(struct drm_i915_private *dev_priv)
if (encoder->type != INTEL_OUTPUT_DDI)
continue;
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
if (!intel_dp->can_mst)
continue;
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
index 020422da2ae2..7c653f8c307f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
*/
static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
u8 read_val[2] = { 0x0 };
u16 level = 0;
@@ -82,7 +82,7 @@ static void
intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
u8 vals[2] = { 0x0 };
vals[0] = level;
@@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
u8 pn, pn_min, pn_max;
@@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
const struct drm_connector_state *conn_state)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
if (drm_dp_dpcd_readb(&intel_dp->aux,
@@ -222,13 +222,14 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state)
{
- set_aux_backlight_enable(enc_to_intel_dp(old_conn_state->best_encoder), false);
+ set_aux_backlight_enable(enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder)),
+ false);
}
static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
enum pipe pipe)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
struct intel_panel *panel = &connector->panel;
if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
@@ -247,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
static bool
intel_dp_aux_display_control_capable(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
/* Check the eDP Display control capabilities registers to determine if
* the panel can support backlight control over the aux channel
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index a1e4f4197a67..af7f6d670e07 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -43,7 +43,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder,
struct link_config_limits *limits)
{
struct drm_atomic_state *state = crtc_state->uapi.state;
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_dp *intel_dp = &intel_mst->primary->dp;
struct intel_connector *connector =
to_intel_connector(conn_state->connector);
@@ -92,7 +92,7 @@ static int intel_dp_mst_compute_config(struct intel_encoder *encoder,
struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_dp *intel_dp = &intel_mst->primary->dp;
struct intel_connector *connector =
to_intel_connector(conn_state->connector);
@@ -195,7 +195,7 @@ intel_dp_mst_atomic_check(struct drm_connector *connector,
return 0;
}
- mgr = &enc_to_mst(old_conn_state->best_encoder)->primary->dp.mst_mgr;
+ mgr = &enc_to_mst(to_intel_encoder(old_conn_state->best_encoder))->primary->dp.mst_mgr;
ret = drm_dp_atomic_release_vcpi_slots(state, mgr,
intel_connector->port);
@@ -206,7 +206,7 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct intel_connector *connector =
@@ -230,7 +230,7 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct intel_connector *connector =
@@ -267,7 +267,7 @@ static void intel_mst_pre_pll_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
@@ -280,7 +280,7 @@ static void intel_mst_post_pll_disable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
@@ -294,7 +294,7 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
@@ -352,7 +352,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
@@ -373,7 +373,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
enum pipe *pipe)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
*pipe = intel_mst->pipe;
if (intel_mst->connector)
return true;
@@ -383,7 +383,7 @@ static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
intel_ddi_get_config(&intel_dig_port->base, pipe_config);
@@ -491,7 +491,7 @@ static const struct drm_connector_helper_funcs intel_dp_mst_connector_helper_fun
static void intel_dp_mst_encoder_destroy(struct drm_encoder *encoder)
{
- struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
+ struct intel_dp_mst_encoder *intel_mst = enc_to_mst(to_intel_encoder(encoder));
drm_encoder_cleanup(encoder);
kfree(intel_mst);
diff --git a/drivers/gpu/drm/i915/display/intel_dpio_phy.c b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
index 704f38681c4b..6fb1f7a7364e 100644
--- a/drivers/gpu/drm/i915/display/intel_dpio_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
@@ -642,7 +642,7 @@ void chv_set_phy_signal_level(struct intel_encoder *encoder,
bool uniq_trans_scale)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
enum dpio_channel ch = vlv_dport_to_channel(dport);
enum pipe pipe = intel_crtc->pipe;
@@ -738,7 +738,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
bool reset)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
+ enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
enum pipe pipe = crtc->pipe;
u32 val;
@@ -781,7 +781,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
enum dpio_channel ch = vlv_dport_to_channel(dport);
@@ -861,7 +861,7 @@ void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
@@ -940,7 +940,7 @@ void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
void chv_phy_release_cl2_override(struct intel_encoder *encoder)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
if (dport->release_cl2_override) {
@@ -989,7 +989,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
enum dpio_channel port = vlv_dport_to_channel(dport);
enum pipe pipe = intel_crtc->pipe;
@@ -1014,7 +1014,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
enum dpio_channel port = vlv_dport_to_channel(dport);
@@ -1043,7 +1043,7 @@ void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
@@ -1073,7 +1073,7 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
void vlv_phy_reset_lanes(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
enum dpio_channel port = vlv_dport_to_channel(dport);
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
index 728a4b045de7..c75e34d87111 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
@@ -2972,8 +2972,8 @@ static void icl_update_active_dpll(struct intel_atomic_state *state,
enum icl_port_dpll_id port_dpll_id = ICL_PORT_DPLL_DEFAULT;
primary_port = encoder->type == INTEL_OUTPUT_DP_MST ?
- enc_to_mst(&encoder->base)->primary :
- enc_to_dig_port(&encoder->base);
+ enc_to_mst(encoder)->primary :
+ enc_to_dig_port(encoder);
if (primary_port &&
(primary_port->tc_mode == TC_PORT_DP_ALT ||
diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h
index b15be5814599..97b18ab69370 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi.h
+++ b/drivers/gpu/drm/i915/display/intel_dsi.h
@@ -141,9 +141,9 @@ static inline struct intel_dsi_host *to_intel_dsi_host(struct mipi_dsi_host *h)
#define for_each_dsi_phy(__phy, __phys_mask) \
for_each_phy_masked(__phy, __phys_mask)
-static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder)
+static inline struct intel_dsi *enc_to_intel_dsi(struct intel_encoder *encoder)
{
- return container_of(encoder, struct intel_dsi, base.base);
+ return container_of(&encoder->base, struct intel_dsi, base.base);
}
static inline bool is_vid_mode(struct intel_dsi *intel_dsi)
@@ -158,7 +158,7 @@ static inline bool is_cmd_mode(struct intel_dsi *intel_dsi)
static inline u16 intel_dsi_encoder_ports(struct intel_encoder *encoder)
{
- return enc_to_intel_dsi(&encoder->base)->ports;
+ return enc_to_intel_dsi(encoder)->ports;
}
/* icl_dsi.c */
diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
index bb3fd8b786a2..c87838843d0b 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
@@ -46,7 +46,7 @@
static u32 dcs_get_backlight(struct intel_connector *connector)
{
struct intel_encoder *encoder = connector->encoder;
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct mipi_dsi_device *dsi_device;
u8 data = 0;
enum port port;
@@ -64,7 +64,7 @@ static u32 dcs_get_backlight(struct intel_connector *connector)
static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32 level)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
struct mipi_dsi_device *dsi_device;
u8 data = level;
enum port port;
@@ -79,7 +79,7 @@ static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32
static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
struct mipi_dsi_device *dsi_device;
enum port port;
@@ -113,7 +113,7 @@ static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
static void dcs_enable_backlight(const struct intel_crtc_state *crtc_state,
const struct drm_connector_state *conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel;
struct mipi_dsi_device *dsi_device;
enum port port;
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index a8deb4789f04..e179ee046687 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -85,16 +85,17 @@ assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv,
"HDMI transcoder function enabled, expecting disabled\n");
}
-struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
+struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder)
{
struct intel_digital_port *intel_dig_port =
- container_of(encoder, struct intel_digital_port, base.base);
+ container_of(&encoder->base, struct intel_digital_port,
+ base.base);
return &intel_dig_port->hdmi;
}
static struct intel_hdmi *intel_attached_hdmi(struct intel_connector *connector)
{
- return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base);
+ return enc_to_intel_hdmi(intel_attached_encoder(connector));
}
static u32 g4x_infoframe_index(unsigned int type)
@@ -602,7 +603,7 @@ u32 intel_hdmi_infoframes_enabled(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
u32 val, ret = 0;
int i;
@@ -646,7 +647,7 @@ static void intel_write_infoframe(struct intel_encoder *encoder,
enum hdmi_infoframe_type type,
const union hdmi_infoframe *frame)
{
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
u8 buffer[VIDEO_DIP_DATA_SIZE];
ssize_t len;
@@ -675,7 +676,7 @@ void intel_read_infoframe(struct intel_encoder *encoder,
enum hdmi_infoframe_type type,
union hdmi_infoframe *frame)
{
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
u8 buffer[VIDEO_DIP_DATA_SIZE];
int ret;
@@ -855,7 +856,7 @@ static void g4x_set_infoframes(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
i915_reg_t reg = VIDEO_DIP_CTL;
u32 val = I915_READ(reg);
@@ -1038,7 +1039,7 @@ static void ibx_set_infoframes(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
u32 val = I915_READ(reg);
@@ -1097,7 +1098,7 @@ static void cpt_set_infoframes(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
u32 val = I915_READ(reg);
@@ -1146,7 +1147,7 @@ static void vlv_set_infoframes(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
i915_reg_t reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe);
u32 val = I915_READ(reg);
u32 port = VIDEO_DIP_PORT(encoder->port);
@@ -1737,7 +1738,7 @@ static void intel_hdmi_prepare(struct intel_encoder *encoder,
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
u32 hdmi_val;
@@ -1774,7 +1775,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
enum pipe *pipe)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
intel_wakeref_t wakeref;
bool ret;
@@ -1793,7 +1794,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
static void intel_hdmi_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
u32 tmp, flags = 0;
@@ -1874,7 +1875,7 @@ static void g4x_enable_hdmi(struct intel_encoder *encoder,
{
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
u32 temp;
temp = I915_READ(intel_hdmi->hdmi_reg);
@@ -1896,7 +1897,7 @@ static void ibx_enable_hdmi(struct intel_encoder *encoder,
{
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
u32 temp;
temp = I915_READ(intel_hdmi->hdmi_reg);
@@ -1947,7 +1948,7 @@ static void cpt_enable_hdmi(struct intel_encoder *encoder,
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
enum pipe pipe = crtc->pipe;
u32 temp;
@@ -2007,7 +2008,7 @@ static void intel_disable_hdmi(struct intel_encoder *encoder,
{
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
struct intel_digital_port *intel_dig_port =
hdmi_to_dig_port(intel_hdmi);
struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
@@ -2316,7 +2317,7 @@ static int intel_hdmi_compute_bpc(struct intel_encoder *encoder,
struct intel_crtc_state *crtc_state,
int clock, bool force_dvi)
{
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
int bpc;
for (bpc = 12; bpc >= 10; bpc -= 2) {
@@ -2334,7 +2335,7 @@ static int intel_hdmi_compute_clock(struct intel_encoder *encoder,
struct intel_crtc_state *crtc_state,
bool force_dvi)
{
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
const struct drm_display_mode *adjusted_mode =
&crtc_state->hw.adjusted_mode;
int bpc, clock = adjusted_mode->crtc_clock;
@@ -2404,7 +2405,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config,
struct drm_connector_state *conn_state)
{
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
struct drm_connector *connector = conn_state->connector;
@@ -2663,7 +2664,7 @@ static void intel_hdmi_pre_enable(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct intel_digital_port *intel_dig_port =
- enc_to_dig_port(&encoder->base);
+ enc_to_dig_port(encoder);
intel_hdmi_prepare(encoder, pipe_config);
@@ -2676,7 +2677,7 @@ static void vlv_hdmi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
vlv_phy_pre_encoder_enable(encoder, pipe_config);
@@ -2746,7 +2747,7 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dport = enc_to_dig_port(encoder);
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
@@ -2906,7 +2907,7 @@ bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
bool scrambling)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
struct drm_scrambling *sink_scrambling =
&connector->display_info.hdmi.scdc.scrambling;
struct i2c_adapter *adapter =
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h
index cf1ea5427639..d3659d0b408b 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.h
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.h
@@ -29,7 +29,7 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg,
enum port port);
void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
struct intel_connector *intel_connector);
-struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder);
+struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder);
int intel_hdmi_compute_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config,
struct drm_connector_state *conn_state);
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index fc29046d48ea..99d3a3c7989e 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -302,7 +302,7 @@ intel_encoder_hotplug(struct intel_encoder *encoder,
static bool intel_encoder_has_hpd_pulse(struct intel_encoder *encoder)
{
return intel_encoder_is_dig_port(encoder) &&
- enc_to_dig_port(&encoder->base)->hpd_pulse != NULL;
+ enc_to_dig_port(encoder)->hpd_pulse != NULL;
}
static void i915_digport_work_func(struct work_struct *work)
@@ -335,7 +335,7 @@ static void i915_digport_work_func(struct work_struct *work)
if (!long_hpd && !short_hpd)
continue;
- dig_port = enc_to_dig_port(&encoder->base);
+ dig_port = enc_to_dig_port(encoder);
ret = dig_port->hpd_pulse(dig_port, long_hpd);
if (ret == IRQ_NONE) {
diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
index 5145ff8b962b..d807c5648c87 100644
--- a/drivers/gpu/drm/i915/display/intel_lspcon.c
+++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
@@ -434,8 +434,8 @@ void lspcon_write_infoframe(struct intel_encoder *encoder,
const void *frame, ssize_t len)
{
bool ret;
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
- struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+ struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
/* LSPCON only needs AVI IF */
if (type != HDMI_INFOFRAME_TYPE_AVI)
@@ -472,7 +472,7 @@ void lspcon_set_infoframes(struct intel_encoder *encoder,
ssize_t ret;
union hdmi_infoframe frame;
u8 buf[VIDEO_DIP_DATA_SIZE];
- struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
struct intel_lspcon *lspcon = &dig_port->lspcon;
const struct drm_display_mode *adjusted_mode =
&crtc_state->hw.adjusted_mode;
@@ -522,7 +522,7 @@ u32 lspcon_infoframes_enabled(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config)
{
/* FIXME actually read this from the hw */
- return enc_to_intel_lspcon(&encoder->base)->active;
+ return enc_to_intel_lspcon(encoder)->active;
}
void lspcon_resume(struct intel_lspcon *lspcon)
diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
index 2746512f4466..520408e83681 100644
--- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
+++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
@@ -98,7 +98,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
break;
case INTEL_OUTPUT_DP:
case INTEL_OUTPUT_EDP:
- dig_port = enc_to_dig_port(&encoder->base);
+ dig_port = enc_to_dig_port(encoder);
switch (dig_port->base.port) {
case PORT_B:
*source = INTEL_PIPE_CRC_SOURCE_DP_B;
diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
index b23ba8d108db..075b6e4f66c6 100644
--- a/drivers/gpu/drm/i915/display/intel_vdsc.c
+++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
@@ -339,7 +339,7 @@ static const struct rc_parameters *get_rc_params(u16 compressed_bpp,
static int intel_dsc_dp_compute_params(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct drm_dsc_config *vdsc_cfg = &pipe_config->dsc.config;
u8 line_buf_depth;
@@ -904,7 +904,7 @@ static void intel_dsc_pps_configure(struct intel_encoder *encoder,
static void intel_dsc_dp_pps_write(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
const struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
struct drm_dsc_pps_infoframe dp_dsc_pps_sdp;
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index 8398a265b6a3..0c19064e42e0 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -319,7 +319,7 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder,
static bool glk_dsi_enable_io(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 tmp;
bool cold_boot = false;
@@ -367,7 +367,7 @@ static bool glk_dsi_enable_io(struct intel_encoder *encoder)
static void glk_dsi_device_ready(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -438,7 +438,7 @@ static void glk_dsi_device_ready(struct intel_encoder *encoder)
static void bxt_dsi_device_ready(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -465,7 +465,7 @@ static void bxt_dsi_device_ready(struct intel_encoder *encoder)
static void vlv_dsi_device_ready(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -516,7 +516,7 @@ static void intel_dsi_device_ready(struct intel_encoder *encoder)
static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -546,7 +546,7 @@ static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
static void glk_dsi_disable_mipi_io(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 tmp;
@@ -579,7 +579,7 @@ static void glk_dsi_clear_device_ready(struct intel_encoder *encoder)
static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
DRM_DEBUG_KMS("\n");
@@ -625,7 +625,7 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
@@ -681,7 +681,7 @@ static void intel_dsi_port_disable(struct intel_encoder *encoder)
{
struct drm_device *dev = encoder->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
for_each_dsi_port(port, intel_dsi->ports) {
@@ -745,7 +745,7 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct drm_crtc *crtc = pipe_config->uapi.crtc;
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
@@ -850,7 +850,7 @@ static void intel_dsi_disable(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state,
const struct drm_connector_state *old_conn_state)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
DRM_DEBUG_KMS("\n");
@@ -886,7 +886,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder,
const struct drm_connector_state *conn_state)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -956,7 +956,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
enum pipe *pipe)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
intel_wakeref_t wakeref;
enum port port;
bool active = false;
@@ -1035,7 +1035,7 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
&pipe_config->hw.adjusted_mode;
struct drm_display_mode *adjusted_mode_sw;
struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
unsigned int lane_count = intel_dsi->lane_count;
unsigned int bpp, fmt;
enum port port;
@@ -1228,7 +1228,7 @@ static void set_dsi_timings(struct drm_encoder *encoder,
{
struct drm_device *dev = encoder->dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
enum port port;
unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
unsigned int lane_count = intel_dsi->lane_count;
@@ -1316,7 +1316,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
struct drm_device *dev = encoder->dev;
struct drm_i915_private *dev_priv = to_i915(dev);
struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
enum port port;
unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
@@ -1506,7 +1506,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
static void intel_dsi_unprepare(struct intel_encoder *encoder)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
@@ -1533,7 +1533,7 @@ static void intel_dsi_unprepare(struct intel_encoder *encoder)
static void intel_dsi_encoder_destroy(struct drm_encoder *encoder)
{
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
/* dispose of the gpios */
if (intel_dsi->gpio_panel)
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
index 95f39cd0ce02..6b89e67b120f 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
@@ -117,7 +117,7 @@ int vlv_dsi_pll_compute(struct intel_encoder *encoder,
struct intel_crtc_state *config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
int ret;
u32 dsi_clk;
@@ -255,7 +255,7 @@ u32 vlv_dsi_get_pclk(struct intel_encoder *encoder,
struct intel_crtc_state *config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
u32 dsi_clock, pclk;
u32 pll_ctl, pll_div;
@@ -321,7 +321,7 @@ u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
u32 pclk;
u32 dsi_clk;
u32 dsi_ratio;
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
@@ -341,7 +341,7 @@ void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
{
u32 temp;
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
temp = I915_READ(MIPI_CTRL(port));
temp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
@@ -455,7 +455,7 @@ int bxt_dsi_pll_compute(struct intel_encoder *encoder,
struct intel_crtc_state *config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
u8 dsi_ratio, dsi_ratio_min, dsi_ratio_max;
u32 dsi_clk;
@@ -503,7 +503,7 @@ void bxt_dsi_pll_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *config)
{
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
- struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
+ struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
enum port port;
u32 val;
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 4f543ccec15d..3bc8d5c0e88a 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
struct drm_connector *connector = m->private;
struct drm_i915_private *dev_priv = to_i915(connector->dev);
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
+ enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
int ret;
if (!CAN_PSR(dev_priv)) {
@@ -2432,7 +2432,7 @@ static void intel_dp_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
struct intel_encoder *intel_encoder = intel_connector->encoder;
- struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
@@ -2452,7 +2452,7 @@ static void intel_dp_mst_info(struct seq_file *m,
{
struct intel_encoder *intel_encoder = intel_connector->encoder;
struct intel_dp_mst_encoder *intel_mst =
- enc_to_mst(&intel_encoder->base);
+ enc_to_mst(intel_encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
@@ -2465,7 +2465,7 @@ static void intel_hdmi_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
struct intel_encoder *intel_encoder = intel_connector->encoder;
- struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&intel_encoder->base);
+ struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
if (intel_connector->hdcp.shim) {
@@ -3059,7 +3059,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused)
if (!intel_encoder || intel_encoder->type == INTEL_OUTPUT_DP_MST)
continue;
- intel_dig_port = enc_to_dig_port(&intel_encoder->base);
+ intel_dig_port = enc_to_dig_port(intel_encoder);
if (!intel_dig_port->dp.can_mst)
continue;
@@ -3109,7 +3109,7 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
continue;
if (encoder && connector->status == connector_status_connected) {
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
status = kstrtoint(input_buffer, 10, &val);
if (status < 0)
break;
@@ -3153,7 +3153,7 @@ static int i915_displayport_test_active_show(struct seq_file *m, void *data)
continue;
if (encoder && connector->status == connector_status_connected) {
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
if (intel_dp->compliance.test_active)
seq_puts(m, "1");
else
@@ -3203,7 +3203,7 @@ static int i915_displayport_test_data_show(struct seq_file *m, void *data)
continue;
if (encoder && connector->status == connector_status_connected) {
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
if (intel_dp->compliance.test_type ==
DP_TEST_LINK_EDID_READ)
seq_printf(m, "%lx",
@@ -3247,7 +3247,7 @@ static int i915_displayport_test_type_show(struct seq_file *m, void *data)
continue;
if (encoder && connector->status == connector_status_connected) {
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
seq_printf(m, "%02lx", intel_dp->compliance.test_type);
} else
seq_puts(m, "0");
@@ -4192,7 +4192,7 @@ static int i915_drrs_ctl_set(void *data, u64 val)
DRM_DEBUG_DRIVER("Manually %sabling DRRS. %llu\n",
val ? "en" : "dis", val);
- intel_dp = enc_to_intel_dp(&encoder->base);
+ intel_dp = enc_to_intel_dp(encoder);
if (val)
intel_edp_drrs_enable(intel_dp,
crtc_state);
@@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
+ enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
u8 buf[16];
ssize_t err;
int i;
@@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
+ enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
if (connector->status != connector_status_connected)
return -ENODEV;
@@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
} else if (ret) {
break;
}
- intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
+ intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
crtc_state = to_intel_crtc_state(crtc->state);
seq_printf(m, "DSC_Enabled: %s\n",
yesno(crtc_state->dsc.compression_enable));
@@ -4537,7 +4537,7 @@ static ssize_t i915_dsc_fec_support_write(struct file *file,
struct drm_connector *connector =
((struct seq_file *)file->private_data)->private;
struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
- struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
if (len == 0)
return 0;
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (2 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2019-12-05 10:24 ` Ramalingam C
2019-12-04 18:05 ` [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() Ville Syrjala
` (9 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Just use the passed in encoder instead of digging it out via
the legacy drm_connector->encoder pointer (which we'll want to
stop using).
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
index 27710098d056..f9d7a77fbdbe 100644
--- a/drivers/gpu/drm/i915/display/intel_audio.c
+++ b/drivers/gpu/drm/i915/display/intel_audio.c
@@ -707,8 +707,8 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
connector->base.id,
connector->name,
- connector->encoder->base.id,
- connector->encoder->name);
+ encoder->base.base.id,
+ encoder->base.name);
connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (3 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2019-12-05 10:59 ` Ramalingam C
2020-01-21 15:49 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp() Ville Syrjala
` (8 subsequent siblings)
13 siblings, 2 replies; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
It's easy to confuse the drm_connector->encoder (legacy state
adjusted during modeset) and intel_connector->encoder (the statically
(sans. MST) attached encoder of the connector). For the latter
let's use intel_attached_encoder() consistently.
@@
identifier F !~ "^intel_attached_encoder$";
struct intel_connector *C;
expression E;
@@
F(...)
{
<...
(
C->encoder = E
|
- C->encoder
+ intel_attached_encoder(C)
)
...>
}
@@
identifier F !~ "^intel_attached_encoder$";
struct drm_connector *C;
expression E;
@@
F(...)
{
<...
(
to_intel_connector(C)->encoder = E
|
- to_intel_connector(C)->encoder
+ intel_attached_encoder(to_intel_connector(C))
)
...>
}
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_connector.c | 2 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 2 +-
drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
.../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++--
.../gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 4 ++--
drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
drivers/gpu/drm/i915/display/intel_hotplug.c | 10 +++++-----
drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +-
drivers/gpu/drm/i915/i915_debugfs.c | 6 +++---
10 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
index 1133c4e97bb4..54891a4ed2f3 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -153,7 +153,7 @@ void intel_connector_attach_encoder(struct intel_connector *connector,
bool intel_connector_get_hw_state(struct intel_connector *connector)
{
enum pipe pipe = 0;
- struct intel_encoder *encoder = connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(connector);
return encoder->get_hw_state(encoder, &pipe);
}
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 52d187db320f..3e46017150b4 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -2003,7 +2003,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
{
struct drm_device *dev = intel_connector->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_encoder *encoder = intel_connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
int type = intel_connector->base.connector_type;
enum port port = encoder->port;
enum transcoder cpu_transcoder;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 45568a7c6579..df1b80387106 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7279,7 +7279,7 @@ static void intel_connector_verify_state(struct intel_crtc_state *crtc_state,
connector->base.name);
if (connector->get_hw_state(connector)) {
- struct intel_encoder *encoder = connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(connector);
I915_STATE_WARN(!crtc_state,
"connector enabled without attached crtc\n");
@@ -17529,7 +17529,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
connector->base.dpms = DRM_MODE_DPMS_ON;
- encoder = connector->encoder;
+ encoder = intel_attached_encoder(connector);
connector->base.encoder = &encoder->base;
crtc = to_intel_crtc(encoder->base.crtc);
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
index 7c653f8c307f..771e22a0b2a4 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
*/
static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
u8 read_val[2] = { 0x0 };
u16 level = 0;
@@ -82,7 +82,7 @@ static void
intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
u8 vals[2] = { 0x0 };
vals[0] = level;
@@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
u8 pn, pn_min, pn_max;
@@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
const struct drm_connector_state *conn_state)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
if (drm_dp_dpcd_readb(&intel_dp->aux,
@@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
enum pipe pipe)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
struct intel_panel *panel = &connector->panel;
if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
@@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
static bool
intel_dp_aux_display_control_capable(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
/* Check the eDP Display control capabilities registers to determine if
* the panel can support backlight control over the aux channel
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index af7f6d670e07..1a7d69843c12 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -503,9 +503,9 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
{
- if (connector->encoder && connector->base.state->crtc) {
+ if (intel_attached_encoder(connector) && connector->base.state->crtc) {
enum pipe pipe;
- if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
+ if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
return false;
return true;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
index c87838843d0b..ac3eff26df12 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
@@ -45,7 +45,7 @@
static u32 dcs_get_backlight(struct intel_connector *connector)
{
- struct intel_encoder *encoder = connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(connector);
struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
struct mipi_dsi_device *dsi_device;
u8 data = 0;
@@ -160,7 +160,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
{
struct drm_device *dev = intel_connector->base.dev;
struct drm_i915_private *dev_priv = to_i915(dev);
- struct intel_encoder *encoder = intel_connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
struct intel_panel *panel = &intel_connector->panel;
if (dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_DSI_DCS)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 0fdbd39f6641..2859230671ae 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1527,7 +1527,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = connector->encoder->port;
+ enum port port = intel_attached_encoder(connector)->port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -1565,7 +1565,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = connector->encoder->port;
+ enum port port = intel_attached_encoder(connector)->port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -1676,7 +1676,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = connector->encoder->port;
+ enum port port = intel_attached_encoder(connector)->port;
enum transcoder cpu_transcoder;
int ret = 0;
@@ -1830,7 +1830,7 @@ static inline int initialize_hdcp_port_data(struct intel_connector *connector,
if (INTEL_GEN(dev_priv) < 12)
data->fw_ddi =
- intel_get_mei_fw_ddi_index(connector->encoder->port);
+ intel_get_mei_fw_ddi_index(intel_attached_encoder(connector)->port);
else
/*
* As per ME FW API expectation, for GEN 12+, fw_ddi is filled
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 99d3a3c7989e..c3a48af35997 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -200,7 +200,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
continue;
intel_connector = to_intel_connector(connector);
- intel_encoder = intel_connector->encoder;
+ intel_encoder = intel_attached_encoder(intel_connector);
if (!intel_encoder)
continue;
@@ -255,7 +255,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
/* Don't check MST ports, they don't have pins */
if (!intel_connector->mst_port &&
- intel_connector->encoder->hpd_pin == pin) {
+ intel_attached_encoder(intel_connector)->hpd_pin == pin) {
if (connector->polled != intel_connector->polled)
DRM_DEBUG_DRIVER("Reenabling HPD on connector %s\n",
connector->name);
@@ -389,9 +389,9 @@ static void i915_hotplug_work_func(struct work_struct *work)
u32 hpd_bit;
intel_connector = to_intel_connector(connector);
- if (!intel_connector->encoder)
+ if (!intel_attached_encoder(intel_connector))
continue;
- intel_encoder = intel_connector->encoder;
+ intel_encoder = intel_attached_encoder(intel_connector);
hpd_bit = BIT(intel_encoder->hpd_pin);
if ((hpd_event_bits | hpd_retry_bits) & hpd_bit) {
DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
@@ -621,7 +621,7 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
continue;
if (!connector->polled && I915_HAS_HOTPLUG(dev_priv) &&
- intel_connector->encoder->hpd_pin > HPD_NONE) {
+ intel_attached_encoder(intel_connector)->hpd_pin > HPD_NONE) {
connector->polled = enabled ?
DRM_CONNECTOR_POLL_CONNECT |
DRM_CONNECTOR_POLL_DISCONNECT :
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index 0c19064e42e0..535b332b067d 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -1567,7 +1567,7 @@ static enum drm_panel_orientation
vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_encoder *encoder = connector->encoder;
+ struct intel_encoder *encoder = intel_attached_encoder(connector);
enum intel_display_power_domain power_domain;
enum drm_panel_orientation orientation;
struct intel_plane *plane;
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 3bc8d5c0e88a..d8c2fa2672b5 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2431,7 +2431,7 @@ static void intel_hdcp_info(struct seq_file *m,
static void intel_dp_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
- struct intel_encoder *intel_encoder = intel_connector->encoder;
+ struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
@@ -2450,7 +2450,7 @@ static void intel_dp_info(struct seq_file *m,
static void intel_dp_mst_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
- struct intel_encoder *intel_encoder = intel_connector->encoder;
+ struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
struct intel_dp_mst_encoder *intel_mst =
enc_to_mst(intel_encoder);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
@@ -2464,7 +2464,7 @@ static void intel_dp_mst_info(struct seq_file *m,
static void intel_hdmi_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
- struct intel_encoder *intel_encoder = intel_connector->encoder;
+ struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (4 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2020-01-13 13:53 ` Kahola, Mika
2019-12-04 18:05 ` [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it Ville Syrjala
` (7 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
We have uses for intel_attached_dp() outside of intel_dp.c. Move
it to a header.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_display_types.h | 5 +++++
drivers/gpu/drm/i915/display/intel_dp.c | 5 -----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 79c7454ff510..92bd3d04ad80 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1483,6 +1483,11 @@ static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
return &enc_to_dig_port(encoder)->dp;
}
+static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector)
+{
+ return enc_to_intel_dp(intel_attached_encoder(connector));
+}
+
static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
{
switch (encoder->type) {
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 93f3d232fcb5..50b9b81d37db 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -146,11 +146,6 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
return intel_dig_port->base.type == INTEL_OUTPUT_EDP;
}
-static struct intel_dp *intel_attached_dp(struct intel_connector *connector)
-{
- return enc_to_intel_dp(intel_attached_encoder(connector));
-}
-
static void intel_dp_link_down(struct intel_encoder *encoder,
const struct intel_crtc_state *old_crtc_state);
static bool edp_panel_vdd_on(struct intel_dp *intel_dp);
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (5 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2020-01-21 14:46 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port() Ville Syrjala
` (6 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Replace the hand rolled intel_attached_dp() with the real thing.
@@
identifier F !~ "^intel_attached_dp$";
expression C;
@@
F(...)
{
<...
- enc_to_intel_dp(intel_attached_encoder(C))
+ intel_attached_dp(C)
...>
}
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 2 +-
.../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
drivers/gpu/drm/i915/i915_debugfs.c | 8 ++++----
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index df1b80387106..ec292ccb6eaf 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
if (conn_state->crtc == &crtc->base)
break;
}
- intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(conn)));
+ intel_dp = intel_attached_dp(to_intel_connector(conn));
intel_dp_stop_link_train(intel_dp);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
index 771e22a0b2a4..1e69c5bbe65b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
*/
static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
u8 read_val[2] = { 0x0 };
u16 level = 0;
@@ -82,7 +82,7 @@ static void
intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
u8 vals[2] = { 0x0 };
vals[0] = level;
@@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
u8 pn, pn_min, pn_max;
@@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
const struct drm_connector_state *conn_state)
{
struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
if (drm_dp_dpcd_readb(&intel_dp->aux,
@@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
enum pipe pipe)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
struct intel_panel *panel = &connector->panel;
if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
@@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
static bool
intel_dp_aux_display_control_capable(struct intel_connector *connector)
{
- struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
+ struct intel_dp *intel_dp = intel_attached_dp(connector);
/* Check the eDP Display control capabilities registers to determine if
* the panel can support backlight control over the aux channel
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index d8c2fa2672b5..5de5dacef394 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
struct drm_connector *connector = m->private;
struct drm_i915_private *dev_priv = to_i915(connector->dev);
struct intel_dp *intel_dp =
- enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
+ intel_attached_dp(to_intel_connector(connector));
int ret;
if (!CAN_PSR(dev_priv)) {
@@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
+ intel_attached_dp(to_intel_connector(connector));
u8 buf[16];
ssize_t err;
int i;
@@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
{
struct drm_connector *connector = m->private;
struct intel_dp *intel_dp =
- enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
+ intel_attached_dp(to_intel_connector(connector));
if (connector->status != connector_status_connected)
return -ENODEV;
@@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
} else if (ret) {
break;
}
- intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
+ intel_dp = intel_attached_dp(to_intel_connector(connector));
crtc_state = to_intel_crtc_state(crtc->state);
seq_printf(m, "DSC_Enabled: %s\n",
yesno(crtc_state->dsc.compression_enable));
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (6 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2020-01-21 14:46 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables Ville Syrjala
` (5 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Use the standard naming convention and rename conn_to_dig_port()
to intel_attached_dig_port().
@@
@@
- conn_to_dig_port
+ intel_attached_dig_port
(...)
{
...
}
@@
expression C;
@@
- conn_to_dig_port(C)
+ intel_attached_dig_port(C)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
.../drm/i915/display/intel_display_types.h | 2 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 32 +++++++++----------
drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +-
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 92bd3d04ad80..1f8f47c69502 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1466,7 +1466,7 @@ enc_to_dig_port(struct intel_encoder *encoder)
}
static inline struct intel_digital_port *
-conn_to_dig_port(struct intel_connector *connector)
+intel_attached_dig_port(struct intel_connector *connector)
{
return enc_to_dig_port(intel_attached_encoder(connector));
}
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 2859230671ae..4b73227644f0 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -64,7 +64,7 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
/* Is HDCP1.4 capable on Platform and Sink */
bool intel_hdcp_capable(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
bool capable = false;
u8 bksv[5];
@@ -86,7 +86,7 @@ bool intel_hdcp_capable(struct intel_connector *connector)
bool intel_hdcp2_capable(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
bool capable = false;
@@ -297,7 +297,7 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
const struct intel_hdcp_shim *shim,
u8 *ksv_fifo, u8 num_downstream, u8 *bstatus)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv;
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
enum port port = intel_dig_port->base.port;
@@ -513,7 +513,7 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
static
int intel_hdcp_auth_downstream(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
struct drm_device *dev = connector->base.dev;
u8 bstatus[2], num_downstream, *ksv_fifo;
@@ -592,7 +592,7 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
/* Implements Part 1 of the HDCP authorization procedure */
static int intel_hdcp_auth(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
struct drm_device *dev = connector->base.dev;
const struct intel_hdcp_shim *shim = hdcp->shim;
@@ -757,7 +757,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
{
struct intel_hdcp *hdcp = &connector->hdcp;
struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -838,7 +838,7 @@ static int intel_hdcp_check_link(struct intel_connector *connector)
{
struct intel_hdcp *hdcp = &connector->hdcp;
struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder;
int ret = 0;
@@ -1209,7 +1209,7 @@ static int hdcp2_deauthenticate_port(struct intel_connector *connector)
/* Authentication flow starts from here */
static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
struct drm_device *dev = connector->base.dev;
union {
@@ -1297,7 +1297,7 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
static int hdcp2_locality_check(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
union {
struct hdcp2_lc_init lc_init;
@@ -1333,7 +1333,7 @@ static int hdcp2_locality_check(struct intel_connector *connector)
static int hdcp2_session_key_exchange(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
struct hdcp2_ske_send_eks send_eks;
int ret;
@@ -1353,7 +1353,7 @@ static int hdcp2_session_key_exchange(struct intel_connector *connector)
static
int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
union {
struct hdcp2_rep_stream_manage stream_manage;
@@ -1404,7 +1404,7 @@ int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
static
int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
struct drm_device *dev = connector->base.dev;
union {
@@ -1475,7 +1475,7 @@ static int hdcp2_authenticate_repeater(struct intel_connector *connector)
static int hdcp2_authenticate_sink(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct intel_hdcp *hdcp = &connector->hdcp;
const struct intel_hdcp_shim *shim = hdcp->shim;
int ret;
@@ -1524,7 +1524,7 @@ static int hdcp2_authenticate_sink(struct intel_connector *connector)
static int hdcp2_enable_encryption(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_attached_encoder(connector)->port;
@@ -1562,7 +1562,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
static int hdcp2_disable_encryption(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_attached_encoder(connector)->port;
@@ -1673,7 +1673,7 @@ static int _intel_hdcp2_disable(struct intel_connector *connector)
/* Implements the Link Integrity Check for HDCP2.2 */
static int intel_hdcp2_check_link(struct intel_connector *connector)
{
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_attached_encoder(connector)->port;
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
index e179ee046687..53a32165c5ff 100644
--- a/drivers/gpu/drm/i915/display/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
@@ -1447,7 +1447,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
static int kbl_repositioning_enc_en_signal(struct intel_connector *connector)
{
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
+ struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_crtc *crtc = connector->base.state->crtc;
struct intel_crtc *intel_crtc = container_of(crtc,
struct intel_crtc, base);
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (7 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port() Ville Syrjala
@ 2019-12-04 18:05 ` Ville Syrjala
2019-12-05 10:22 ` Ramalingam C
2019-12-04 23:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co Patchwork
` (4 subsequent siblings)
13 siblings, 1 reply; 27+ messages in thread
From: Ville Syrjala @ 2019-12-04 18:05 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Eliminate the inconsistencies in the hdcp code local variables:
- use dev_priv over dev
- use to_i915() instead of dev->dev_private
- initialize variables when declaring them
- a bit of declaration suffling to make appease ocd
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_hdcp.c | 54 +++++++++++------------
1 file changed, 25 insertions(+), 29 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 4b73227644f0..3454a913dca8 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -85,8 +85,8 @@ bool intel_hdcp_capable(struct intel_connector *connector)
/* Is HDCP2.2 capable on Platform and Sink */
bool intel_hdcp2_capable(struct intel_connector *connector)
{
- struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
bool capable = false;
@@ -298,14 +298,12 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
u8 *ksv_fifo, u8 num_downstream, u8 *bstatus)
{
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
- struct drm_i915_private *dev_priv;
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
enum port port = intel_dig_port->base.port;
u32 vprime, sha_text, sha_leftovers, rep_ctl;
int ret, i, j, sha_idx;
- dev_priv = intel_dig_port->base.base.dev->dev_private;
-
/* Process V' values from the receiver */
for (i = 0; i < DRM_HDCP_V_PRIME_NUM_PARTS; i++) {
ret = shim->read_v_prime_part(intel_dig_port, i, &vprime);
@@ -514,8 +512,8 @@ static
int intel_hdcp_auth_downstream(struct intel_connector *connector)
{
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
const struct intel_hdcp_shim *shim = connector->hdcp.shim;
- struct drm_device *dev = connector->base.dev;
u8 bstatus[2], num_downstream, *ksv_fifo;
int ret, i, tries = 3;
@@ -558,7 +556,8 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
if (ret)
goto err;
- if (drm_hdcp_check_ksvs_revoked(dev, ksv_fifo, num_downstream)) {
+ if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, ksv_fifo,
+ num_downstream)) {
DRM_ERROR("Revoked Ksv(s) in ksv_fifo\n");
ret = -EPERM;
goto err;
@@ -593,12 +592,11 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
static int intel_hdcp_auth(struct intel_connector *connector)
{
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_device *dev = connector->base.dev;
const struct intel_hdcp_shim *shim = hdcp->shim;
- struct drm_i915_private *dev_priv;
enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
- enum port port;
+ enum port port = intel_dig_port->base.port;
unsigned long r0_prime_gen_start;
int ret, i, tries = 2;
union {
@@ -615,10 +613,6 @@ static int intel_hdcp_auth(struct intel_connector *connector)
} ri;
bool repeater_present, hdcp_capable;
- dev_priv = intel_dig_port->base.base.dev->dev_private;
-
- port = intel_dig_port->base.port;
-
/*
* Detects whether the display is HDCP capable. Although we check for
* valid Bksv below, the HDCP over DP spec requires that we check
@@ -664,7 +658,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
if (ret < 0)
return ret;
- if (drm_hdcp_check_ksvs_revoked(dev, bksv.shim, 1)) {
+ if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, bksv.shim, 1)) {
DRM_ERROR("BKSV is revoked\n");
return -EPERM;
}
@@ -755,9 +749,9 @@ static int intel_hdcp_auth(struct intel_connector *connector)
static int _intel_hdcp_disable(struct intel_connector *connector)
{
- struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
+ struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -786,8 +780,8 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
static int _intel_hdcp_enable(struct intel_connector *connector)
{
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
int i, ret, tries = 3;
DRM_DEBUG_KMS("[%s:%d] HDCP is being enabled...\n",
@@ -836,9 +830,9 @@ struct intel_connector *intel_hdcp_to_connector(struct intel_hdcp *hdcp)
/* Implements Part 3 of the HDCP authorization procedure */
static int intel_hdcp_check_link(struct intel_connector *connector)
{
- struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
+ struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder;
int ret = 0;
@@ -901,9 +895,9 @@ static void intel_hdcp_prop_work(struct work_struct *work)
struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp,
prop_work);
struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
- struct drm_device *dev = connector->base.dev;
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
+ drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
mutex_lock(&hdcp->mutex);
/*
@@ -916,7 +910,7 @@ static void intel_hdcp_prop_work(struct work_struct *work)
hdcp->value);
mutex_unlock(&hdcp->mutex);
- drm_modeset_unlock(&dev->mode_config.connection_mutex);
+ drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
}
bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port)
@@ -1210,8 +1204,8 @@ static int hdcp2_deauthenticate_port(struct intel_connector *connector)
static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
{
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_device *dev = connector->base.dev;
union {
struct hdcp2_ake_init ake_init;
struct hdcp2_ake_send_cert send_cert;
@@ -1248,7 +1242,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
hdcp->is_repeater = HDCP_2_2_RX_REPEATER(msgs.send_cert.rx_caps[2]);
- if (drm_hdcp_check_ksvs_revoked(dev, msgs.send_cert.cert_rx.receiver_id,
+ if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
+ msgs.send_cert.cert_rx.receiver_id,
1)) {
DRM_ERROR("Receiver ID is revoked\n");
return -EPERM;
@@ -1405,8 +1400,8 @@ static
int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
{
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- struct drm_device *dev = connector->base.dev;
union {
struct hdcp2_rep_send_receiverid_list recvid_list;
struct hdcp2_rep_send_ack rep_ack;
@@ -1441,7 +1436,8 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
device_cnt = (HDCP_2_2_DEV_COUNT_HI(rx_info[0]) << 4 |
HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
- if (drm_hdcp_check_ksvs_revoked(dev, msgs.recvid_list.receiver_ids,
+ if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
+ msgs.recvid_list.receiver_ids,
device_cnt)) {
DRM_ERROR("Revoked receiver ID(s) is in list\n");
return -EPERM;
@@ -1527,7 +1523,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = intel_attached_encoder(connector)->port;
+ enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -1565,7 +1561,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = intel_attached_encoder(connector)->port;
+ enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
int ret;
@@ -1676,7 +1672,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
struct intel_hdcp *hdcp = &connector->hdcp;
- enum port port = intel_attached_encoder(connector)->port;
+ enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder;
int ret = 0;
--
2.23.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co.
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (8 preceding siblings ...)
2019-12-04 18:05 ` [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables Ville Syrjala
@ 2019-12-04 23:48 ` Patchwork
2019-12-05 0:15 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
` (3 subsequent siblings)
13 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2019-12-04 23:48 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Cleanups around intel_attached_encoder() & co.
URL : https://patchwork.freedesktop.org/series/70456/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
199f293c61f6 drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
6802b68a8c89 drm/i915: Pass intel_connector to intel_attached_*()
-:557: WARNING:LONG_LINE: line over 100 characters
#557: FILE: drivers/gpu/drm/i915/i915_debugfs.c:4512:
+ intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
total: 0 errors, 1 warnings, 0 checks, 427 lines checked
de846135dcb9 drm/i915: Pass intel_encoder to enc_to_*()
-:520: ERROR:CODE_INDENT: code indent should use tabs where possible
#520: FILE: drivers/gpu/drm/i915/display/intel_ddi.c:4150:
+^I^I required_lanes);$
-:520: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#520: FILE: drivers/gpu/drm/i915/display/intel_ddi.c:4150:
+ intel_tc_port_get_link(enc_to_dig_port(encoder),
+ required_lanes);
-:1499: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "hpd_pulse"
#1499: FILE: drivers/gpu/drm/i915/display/intel_hotplug.c:305:
+ enc_to_dig_port(encoder)->hpd_pulse != NULL;
total: 1 errors, 0 warnings, 2 checks, 1610 lines checked
a6e6f85fd268 drm/i915: Use the passed in encoder
2912aa8e32ae drm/i915: Use intel_attached_encoder()
-:168: WARNING:LONG_LINE: line over 100 characters
#168: FILE: drivers/gpu/drm/i915/display/intel_dp_mst.c:508:
+ if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
total: 0 errors, 1 warnings, 0 checks, 206 lines checked
77f44059fe5c drm/i915: Relocate intel_attached_dp()
d36a4708c97f drm/i915: Use intel_attached_dp() instead of hand rolling it
994f883b2e7b drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
7cc295fc9aa0 drm/i915/hdcp: Clean up local variables
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Cleanups around intel_attached_encoder() & co.
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (9 preceding siblings ...)
2019-12-04 23:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co Patchwork
@ 2019-12-05 0:15 ` Patchwork
2019-12-05 11:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2) Patchwork
` (2 subsequent siblings)
13 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2019-12-05 0:15 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Cleanups around intel_attached_encoder() & co.
URL : https://patchwork.freedesktop.org/series/70456/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7485 -> Patchwork_15587
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_15587 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_15587, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_15587:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live_gem_contexts:
- fi-byt-j1900: [PASS][1] -> [DMESG-FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html
Known issues
------------
Here are the changes found in Patchwork_15587 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_blt:
- fi-ivb-3770: [PASS][3] -> [DMESG-FAIL][4] ([i915#563])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-ivb-3770/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-ivb-3770/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gem_contexts:
- fi-skl-lmem: [PASS][5] -> [INCOMPLETE][6] ([i915#424])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-skl-lmem/igt@i915_selftest@live_gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-skl-lmem/igt@i915_selftest@live_gem_contexts.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-icl-u2: [PASS][7] -> [DMESG-WARN][8] ([IGT#4] / [i915#263])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-icl-u2/igt@kms_chamelium@common-hpd-after-suspend.html
#### Possible fixes ####
* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [DMESG-WARN][9] ([i915#592]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live_blt:
- fi-byt-n2820: [DMESG-FAIL][11] -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-byt-n2820/igt@i915_selftest@live_blt.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-byt-n2820/igt@i915_selftest@live_blt.html
* igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3: [FAIL][13] ([i915#49]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
- fi-icl-u2: [FAIL][15] ([i915#49]) -> [PASS][16]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
#### Warnings ####
* igt@gem_exec_suspend@basic-s0:
- fi-kbl-x1275: [DMESG-WARN][17] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][18] ([i915#62] / [i915#92]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-kbl-x1275/igt@gem_exec_suspend@basic-s0.html
* igt@i915_selftest@live_blt:
- fi-hsw-4770: [DMESG-FAIL][19] ([i915#563]) -> [DMESG-FAIL][20] ([i915#683])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-hsw-4770/igt@i915_selftest@live_blt.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-hsw-4770/igt@i915_selftest@live_blt.html
* igt@kms_flip@basic-flip-vs-modeset:
- fi-kbl-x1275: [DMESG-WARN][21] ([i915#62] / [i915#92]) -> [DMESG-WARN][22] ([i915#62] / [i915#92] / [i915#95]) +7 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7485/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#4]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/4
[fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
[i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109
[i915#263]: https://gitlab.freedesktop.org/drm/intel/issues/263
[i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#563]: https://gitlab.freedesktop.org/drm/intel/issues/563
[i915#592]: https://gitlab.freedesktop.org/drm/intel/issues/592
[i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
[i915#683]: https://gitlab.freedesktop.org/drm/intel/issues/683
[i915#710]: https://gitlab.freedesktop.org/drm/intel/issues/710
[i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (54 -> 47)
------------------------------
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7485 -> Patchwork_15587
CI-20190529: 20190529
CI_DRM_7485: e0c1226aa69dcd3c47a7bb2bc0ae2be417f9e14e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5330: 2be94c2fba1cf9b6a3c1df093fa7289b1635b6fb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15587: 7cc295fc9aa0964a750efb734ff59eb12d7a1a19 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
7cc295fc9aa0 drm/i915/hdcp: Clean up local variables
994f883b2e7b drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
d36a4708c97f drm/i915: Use intel_attached_dp() instead of hand rolling it
77f44059fe5c drm/i915: Relocate intel_attached_dp()
2912aa8e32ae drm/i915: Use intel_attached_encoder()
a6e6f85fd268 drm/i915: Use the passed in encoder
de846135dcb9 drm/i915: Pass intel_encoder to enc_to_*()
6802b68a8c89 drm/i915: Pass intel_connector to intel_attached_*()
199f293c61f6 drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15587/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() Ville Syrjala
@ 2019-12-05 9:33 ` Ramalingam C
0 siblings, 0 replies; 27+ messages in thread
From: Ramalingam C @ 2019-12-05 9:33 UTC (permalink / raw)
To: Ville Syrjala; +Cc: Jani Nikula, intel-gfx
On 2019-12-04 at 20:05:41 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> intel_hdcp_transcoder_config() is clobbering some globally visible
> state in .compute_config(). That is a big no no as .compute_config()
> is supposed to have no visible side effects when either the commit
> fails or it's just a TEST_ONLY commit.
>
> Inline this stuff into intel_hdcp_enable() so that the state only
> gets modified when we actually commit the state to the hardware.
>
> Cc: Ramalingam C <ramalingam.c@intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Uma Shankar <uma.shankar@intel.com>
> Fixes: 39e2df090c3c ("drm/i915/hdcp: update current transcoder into intel_hdcp")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_ddi.c | 5 ++++-
> drivers/gpu/drm/i915/display/intel_dp.c | 3 ---
> drivers/gpu/drm/i915/display/intel_hdcp.c | 26 +++++++----------------
> drivers/gpu/drm/i915/display/intel_hdcp.h | 5 ++---
> drivers/gpu/drm/i915/display/intel_hdmi.c | 3 ---
> 5 files changed, 14 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index ebcc7302706b..e692c0b28559 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -4026,6 +4026,7 @@ static void intel_enable_ddi(struct intel_encoder *encoder,
> if (conn_state->content_protection ==
> DRM_MODE_CONTENT_PROTECTION_DESIRED)
> intel_hdcp_enable(to_intel_connector(conn_state->connector),
> + crtc_state->cpu_transcoder,
> (u8)conn_state->hdcp_content_type);
> }
>
> @@ -4129,7 +4130,9 @@ static void intel_ddi_update_pipe(struct intel_encoder *encoder,
> if (conn_state->content_protection ==
> DRM_MODE_CONTENT_PROTECTION_DESIRED ||
> content_protection_type_changed)
> - intel_hdcp_enable(connector, (u8)conn_state->hdcp_content_type);
> + intel_hdcp_enable(connector,
> + crtc_state->cpu_transcoder,
> + (u8)conn_state->hdcp_content_type);
> }
>
> static void
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 5c406a0fd045..0f496115c345 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2425,9 +2425,6 @@ intel_dp_compute_config(struct intel_encoder *encoder,
>
> intel_psr_compute_config(intel_dp, pipe_config);
>
> - intel_hdcp_transcoder_config(intel_connector,
> - pipe_config->cpu_transcoder);
> -
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 001ce27d7029..0fdbd39f6641 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1821,23 +1821,6 @@ enum mei_fw_tc intel_get_mei_fw_tc(enum transcoder cpu_transcoder)
> }
> }
>
> -void intel_hdcp_transcoder_config(struct intel_connector *connector,
> - enum transcoder cpu_transcoder)
> -{
> - struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_hdcp *hdcp = &connector->hdcp;
> -
> - if (!hdcp->shim)
> - return;
> -
> - if (INTEL_GEN(dev_priv) >= 12) {
> - mutex_lock(&hdcp->mutex);
> - hdcp->cpu_transcoder = cpu_transcoder;
> - hdcp->port_data.fw_tc = intel_get_mei_fw_tc(cpu_transcoder);
> - mutex_unlock(&hdcp->mutex);
> - }
> -}
> -
> static inline int initialize_hdcp_port_data(struct intel_connector *connector,
> const struct intel_hdcp_shim *shim)
> {
> @@ -1959,8 +1942,10 @@ int intel_hdcp_init(struct intel_connector *connector,
> return 0;
> }
>
> -int intel_hdcp_enable(struct intel_connector *connector, u8 content_type)
> +int intel_hdcp_enable(struct intel_connector *connector,
> + enum transcoder cpu_transcoder, u8 content_type)
> {
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> unsigned long check_link_interval = DRM_HDCP_CHECK_PERIOD_MS;
> int ret = -EINVAL;
> @@ -1972,6 +1957,11 @@ int intel_hdcp_enable(struct intel_connector *connector, u8 content_type)
> WARN_ON(hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED);
> hdcp->content_type = content_type;
>
> + if (INTEL_GEN(dev_priv) >= 12) {
> + hdcp->cpu_transcoder = cpu_transcoder;
> + hdcp->port_data.fw_tc = intel_get_mei_fw_tc(cpu_transcoder);
> + }
> +
> /*
> * Considering that HDCP2.2 is more secure than HDCP1.4, If the setup
> * is capable of HDCP2.2, it is preferred to use HDCP2.2.
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.h b/drivers/gpu/drm/i915/display/intel_hdcp.h
> index 41c1053d9e38..f3c3272e712a 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.h
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.h
> @@ -21,11 +21,10 @@ enum transcoder;
> void intel_hdcp_atomic_check(struct drm_connector *connector,
> struct drm_connector_state *old_state,
> struct drm_connector_state *new_state);
> -void intel_hdcp_transcoder_config(struct intel_connector *connector,
> - enum transcoder cpu_transcoder);
> int intel_hdcp_init(struct intel_connector *connector,
> const struct intel_hdcp_shim *hdcp_shim);
> -int intel_hdcp_enable(struct intel_connector *connector, u8 content_type);
> +int intel_hdcp_enable(struct intel_connector *connector,
> + enum transcoder cpu_transcoder, u8 content_type);
> int intel_hdcp_disable(struct intel_connector *connector);
> bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port);
> bool intel_hdcp_capable(struct intel_connector *connector);
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 29a174af5314..a89a09b25260 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -2490,9 +2490,6 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
> return -EINVAL;
> }
>
> - intel_hdcp_transcoder_config(intel_hdmi->attached_connector,
> - pipe_config->cpu_transcoder);
> -
> return 0;
> }
>
> --
> 2.23.0
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables
2019-12-04 18:05 ` [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables Ville Syrjala
@ 2019-12-05 10:22 ` Ramalingam C
0 siblings, 0 replies; 27+ messages in thread
From: Ramalingam C @ 2019-12-05 10:22 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
On 2019-12-04 at 20:05:49 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Eliminate the inconsistencies in the hdcp code local variables:
> - use dev_priv over dev
> - use to_i915() instead of dev->dev_private
> - initialize variables when declaring them
> - a bit of declaration suffling to make appease ocd
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_hdcp.c | 54 +++++++++++------------
> 1 file changed, 25 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 4b73227644f0..3454a913dca8 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -85,8 +85,8 @@ bool intel_hdcp_capable(struct intel_connector *connector)
> /* Is HDCP2.2 capable on Platform and Sink */
> bool intel_hdcp2_capable(struct intel_connector *connector)
> {
> - struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> bool capable = false;
>
> @@ -298,14 +298,12 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
> u8 *ksv_fifo, u8 num_downstream, u8 *bstatus)
> {
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> - struct drm_i915_private *dev_priv;
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
> enum port port = intel_dig_port->base.port;
> u32 vprime, sha_text, sha_leftovers, rep_ctl;
> int ret, i, j, sha_idx;
>
> - dev_priv = intel_dig_port->base.base.dev->dev_private;
> -
> /* Process V' values from the receiver */
> for (i = 0; i < DRM_HDCP_V_PRIME_NUM_PARTS; i++) {
> ret = shim->read_v_prime_part(intel_dig_port, i, &vprime);
> @@ -514,8 +512,8 @@ static
> int intel_hdcp_auth_downstream(struct intel_connector *connector)
> {
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> const struct intel_hdcp_shim *shim = connector->hdcp.shim;
> - struct drm_device *dev = connector->base.dev;
> u8 bstatus[2], num_downstream, *ksv_fifo;
> int ret, i, tries = 3;
>
> @@ -558,7 +556,8 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
> if (ret)
> goto err;
>
> - if (drm_hdcp_check_ksvs_revoked(dev, ksv_fifo, num_downstream)) {
> + if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, ksv_fifo,
> + num_downstream)) {
> DRM_ERROR("Revoked Ksv(s) in ksv_fifo\n");
> ret = -EPERM;
> goto err;
> @@ -593,12 +592,11 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
> static int intel_hdcp_auth(struct intel_connector *connector)
> {
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_device *dev = connector->base.dev;
> const struct intel_hdcp_shim *shim = hdcp->shim;
> - struct drm_i915_private *dev_priv;
> enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
> - enum port port;
> + enum port port = intel_dig_port->base.port;
> unsigned long r0_prime_gen_start;
> int ret, i, tries = 2;
> union {
> @@ -615,10 +613,6 @@ static int intel_hdcp_auth(struct intel_connector *connector)
> } ri;
> bool repeater_present, hdcp_capable;
>
> - dev_priv = intel_dig_port->base.base.dev->dev_private;
> -
> - port = intel_dig_port->base.port;
> -
> /*
> * Detects whether the display is HDCP capable. Although we check for
> * valid Bksv below, the HDCP over DP spec requires that we check
> @@ -664,7 +658,7 @@ static int intel_hdcp_auth(struct intel_connector *connector)
> if (ret < 0)
> return ret;
>
> - if (drm_hdcp_check_ksvs_revoked(dev, bksv.shim, 1)) {
> + if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm, bksv.shim, 1)) {
> DRM_ERROR("BKSV is revoked\n");
> return -EPERM;
> }
> @@ -755,9 +749,9 @@ static int intel_hdcp_auth(struct intel_connector *connector)
>
> static int _intel_hdcp_disable(struct intel_connector *connector)
> {
> - struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> + struct intel_hdcp *hdcp = &connector->hdcp;
> enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
> @@ -786,8 +780,8 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
>
> static int _intel_hdcp_enable(struct intel_connector *connector)
> {
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> int i, ret, tries = 3;
>
> DRM_DEBUG_KMS("[%s:%d] HDCP is being enabled...\n",
> @@ -836,9 +830,9 @@ struct intel_connector *intel_hdcp_to_connector(struct intel_hdcp *hdcp)
> /* Implements Part 3 of the HDCP authorization procedure */
> static int intel_hdcp_check_link(struct intel_connector *connector)
> {
> - struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> + struct intel_hdcp *hdcp = &connector->hdcp;
> enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder;
> int ret = 0;
> @@ -901,9 +895,9 @@ static void intel_hdcp_prop_work(struct work_struct *work)
> struct intel_hdcp *hdcp = container_of(work, struct intel_hdcp,
> prop_work);
> struct intel_connector *connector = intel_hdcp_to_connector(hdcp);
> - struct drm_device *dev = connector->base.dev;
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
>
> - drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
> + drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
> mutex_lock(&hdcp->mutex);
>
> /*
> @@ -916,7 +910,7 @@ static void intel_hdcp_prop_work(struct work_struct *work)
> hdcp->value);
>
> mutex_unlock(&hdcp->mutex);
> - drm_modeset_unlock(&dev->mode_config.connection_mutex);
> + drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
> }
>
> bool is_hdcp_supported(struct drm_i915_private *dev_priv, enum port port)
> @@ -1210,8 +1204,8 @@ static int hdcp2_deauthenticate_port(struct intel_connector *connector)
> static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> {
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_device *dev = connector->base.dev;
> union {
> struct hdcp2_ake_init ake_init;
> struct hdcp2_ake_send_cert send_cert;
> @@ -1248,7 +1242,8 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>
> hdcp->is_repeater = HDCP_2_2_RX_REPEATER(msgs.send_cert.rx_caps[2]);
>
> - if (drm_hdcp_check_ksvs_revoked(dev, msgs.send_cert.cert_rx.receiver_id,
> + if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
> + msgs.send_cert.cert_rx.receiver_id,
> 1)) {
> DRM_ERROR("Receiver ID is revoked\n");
> return -EPERM;
> @@ -1405,8 +1400,8 @@ static
> int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> {
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> + struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - struct drm_device *dev = connector->base.dev;
> union {
> struct hdcp2_rep_send_receiverid_list recvid_list;
> struct hdcp2_rep_send_ack rep_ack;
> @@ -1441,7 +1436,8 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
>
> device_cnt = (HDCP_2_2_DEV_COUNT_HI(rx_info[0]) << 4 |
> HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
> - if (drm_hdcp_check_ksvs_revoked(dev, msgs.recvid_list.receiver_ids,
> + if (drm_hdcp_check_ksvs_revoked(&dev_priv->drm,
> + msgs.recvid_list.receiver_ids,
> device_cnt)) {
> DRM_ERROR("Revoked receiver ID(s) is in list\n");
> return -EPERM;
> @@ -1527,7 +1523,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = intel_attached_encoder(connector)->port;
> + enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1565,7 +1561,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = intel_attached_encoder(connector)->port;
> + enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1676,7 +1672,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = intel_attached_encoder(connector)->port;
> + enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder;
> int ret = 0;
>
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder
2019-12-04 18:05 ` [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder Ville Syrjala
@ 2019-12-05 10:24 ` Ramalingam C
0 siblings, 0 replies; 27+ messages in thread
From: Ramalingam C @ 2019-12-05 10:24 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
On 2019-12-04 at 20:05:44 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Just use the passed in encoder instead of digging it out via
> the legacy drm_connector->encoder pointer (which we'll want to
> stop using).
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
LGTM
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
> index 27710098d056..f9d7a77fbdbe 100644
> --- a/drivers/gpu/drm/i915/display/intel_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
> @@ -707,8 +707,8 @@ void intel_audio_codec_enable(struct intel_encoder *encoder,
> DRM_DEBUG_DRIVER("ELD on [CONNECTOR:%d:%s], [ENCODER:%d:%s]\n",
> connector->base.id,
> connector->name,
> - connector->encoder->base.id,
> - connector->encoder->name);
> + encoder->base.base.id,
> + encoder->base.name);
>
> connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
>
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() Ville Syrjala
@ 2019-12-05 10:59 ` Ramalingam C
2019-12-05 11:04 ` Ramalingam C
2019-12-09 15:52 ` Ville Syrjälä
2020-01-21 15:49 ` Juha-Pekka Heikkila
1 sibling, 2 replies; 27+ messages in thread
From: Ramalingam C @ 2019-12-05 10:59 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
On 2019-12-04 at 20:05:45 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> It's easy to confuse the drm_connector->encoder (legacy state
> adjusted during modeset) and intel_connector->encoder (the statically
> (sans. MST) attached encoder of the connector). For the latter
> let's use intel_attached_encoder() consistently.
>
> @@
> identifier F !~ "^intel_attached_encoder$";
> struct intel_connector *C;
> expression E;
> @@
> F(...)
> {
> <...
> (
> C->encoder = E
> |
> - C->encoder
> + intel_attached_encoder(C)
You mean intel_attached_encoder(&C->base)
Need to pass the drm_connector *
So this is for readability!? This adds the line length beyond 80char
or to reduce that a extra local variable. I leave that to you.
> )
> ...>
> }
>
> @@
> identifier F !~ "^intel_attached_encoder$";
> struct drm_connector *C;
> expression E;
> @@
> F(...)
> {
> <...
> (
> to_intel_connector(C)->encoder = E
> |
> - to_intel_connector(C)->encoder
> + intel_attached_encoder(to_intel_connector(C))
> )
> ...>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_connector.c | 2 +-
> drivers/gpu/drm/i915/display/intel_ddi.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
> .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++--
> .../gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 4 ++--
> drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
> drivers/gpu/drm/i915/display/intel_hotplug.c | 10 +++++-----
> drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +-
> drivers/gpu/drm/i915/i915_debugfs.c | 6 +++---
> 10 files changed, 27 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
> index 1133c4e97bb4..54891a4ed2f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_connector.c
> +++ b/drivers/gpu/drm/i915/display/intel_connector.c
> @@ -153,7 +153,7 @@ void intel_connector_attach_encoder(struct intel_connector *connector,
> bool intel_connector_get_hw_state(struct intel_connector *connector)
> {
> enum pipe pipe = 0;
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
intel_attached_encoder takes drm_connector * instead of intel_connector.
Everywhere we need to change this.
>
> return encoder->get_hw_state(encoder, &pipe);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 52d187db320f..3e46017150b4 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2003,7 +2003,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
> {
> struct drm_device *dev = intel_connector->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_encoder *encoder = intel_connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
As you have done in previous series, could we rename this intel_connector
as connector
> int type = intel_connector->base.connector_type;
> enum port port = encoder->port;
> enum transcoder cpu_transcoder;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 45568a7c6579..df1b80387106 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7279,7 +7279,7 @@ static void intel_connector_verify_state(struct intel_crtc_state *crtc_state,
> connector->base.name);
>
> if (connector->get_hw_state(connector)) {
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
>
> I915_STATE_WARN(!crtc_state,
> "connector enabled without attached crtc\n");
> @@ -17529,7 +17529,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>
> connector->base.dpms = DRM_MODE_DPMS_ON;
>
> - encoder = connector->encoder;
> + encoder = intel_attached_encoder(connector);
> connector->base.encoder = &encoder->base;
>
> crtc = to_intel_crtc(encoder->base.crtc);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index 7c653f8c307f..771e22a0b2a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
> */
> static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 read_val[2] = { 0x0 };
> u16 level = 0;
>
> @@ -82,7 +82,7 @@ static void
> intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 vals[2] = { 0x0 };
>
> vals[0] = level;
> @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
> static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
> u8 pn, pn_min, pn_max;
>
> @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> const struct drm_connector_state *conn_state)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
>
> if (drm_dp_dpcd_readb(&intel_dp->aux,
> @@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
> static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> enum pipe pipe)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> struct intel_panel *panel = &connector->panel;
>
> if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> @@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> static bool
> intel_dp_aux_display_control_capable(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
>
> /* Check the eDP Display control capabilities registers to determine if
> * the panel can support backlight control over the aux channel
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index af7f6d670e07..1a7d69843c12 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -503,9 +503,9 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
>
> static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
> {
> - if (connector->encoder && connector->base.state->crtc) {
> + if (intel_attached_encoder(connector) && connector->base.state->crtc) {
> enum pipe pipe;
> - if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
> + if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
Do we prefer this way or with local var for attached encoder restricting
line to 80char?
> return false;
> return true;
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index c87838843d0b..ac3eff26df12 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -45,7 +45,7 @@
>
> static u32 dcs_get_backlight(struct intel_connector *connector)
> {
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct mipi_dsi_device *dsi_device;
> u8 data = 0;
> @@ -160,7 +160,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
> {
> struct drm_device *dev = intel_connector->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_encoder *encoder = intel_connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
s/intel_connector/connector ?
> struct intel_panel *panel = &intel_connector->panel;
>
> if (dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_DSI_DCS)
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 0fdbd39f6641..2859230671ae 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1527,7 +1527,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1565,7 +1565,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1676,7 +1676,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder;
> int ret = 0;
>
> @@ -1830,7 +1830,7 @@ static inline int initialize_hdcp_port_data(struct intel_connector *connector,
>
> if (INTEL_GEN(dev_priv) < 12)
> data->fw_ddi =
> - intel_get_mei_fw_ddi_index(connector->encoder->port);
> + intel_get_mei_fw_ddi_index(intel_attached_encoder(connector)->port);
could we wrap at 80char with var encoder?
> else
> /*
> * As per ME FW API expectation, for GEN 12+, fw_ddi is filled
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index 99d3a3c7989e..c3a48af35997 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -200,7 +200,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
> continue;
>
> intel_connector = to_intel_connector(connector);
> - intel_encoder = intel_connector->encoder;
> + intel_encoder = intel_attached_encoder(intel_connector);
> if (!intel_encoder)
> continue;
>
> @@ -255,7 +255,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>
> /* Don't check MST ports, they don't have pins */
> if (!intel_connector->mst_port &&
> - intel_connector->encoder->hpd_pin == pin) {
> + intel_attached_encoder(intel_connector)->hpd_pin == pin) {
> if (connector->polled != intel_connector->polled)
> DRM_DEBUG_DRIVER("Reenabling HPD on connector %s\n",
> connector->name);
> @@ -389,9 +389,9 @@ static void i915_hotplug_work_func(struct work_struct *work)
> u32 hpd_bit;
>
> intel_connector = to_intel_connector(connector);
> - if (!intel_connector->encoder)
> + if (!intel_attached_encoder(intel_connector))
> continue;
> - intel_encoder = intel_connector->encoder;
> + intel_encoder = intel_attached_encoder(intel_connector);
> hpd_bit = BIT(intel_encoder->hpd_pin);
> if ((hpd_event_bits | hpd_retry_bits) & hpd_bit) {
> DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
> @@ -621,7 +621,7 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
> continue;
>
> if (!connector->polled && I915_HAS_HOTPLUG(dev_priv) &&
> - intel_connector->encoder->hpd_pin > HPD_NONE) {
> + intel_attached_encoder(intel_connector)->hpd_pin > HPD_NONE) {
> connector->polled = enabled ?
> DRM_CONNECTOR_POLL_CONNECT |
> DRM_CONNECTOR_POLL_DISCONNECT :
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index 0c19064e42e0..535b332b067d 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -1567,7 +1567,7 @@ static enum drm_panel_orientation
> vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> enum intel_display_power_domain power_domain;
> enum drm_panel_orientation orientation;
> struct intel_plane *plane;
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 3bc8d5c0e88a..d8c2fa2672b5 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2431,7 +2431,7 @@ static void intel_hdcp_info(struct seq_file *m,
> static void intel_dp_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>
> seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
> @@ -2450,7 +2450,7 @@ static void intel_dp_info(struct seq_file *m,
> static void intel_dp_mst_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
s/intel_connector/connector ?
> struct intel_dp_mst_encoder *intel_mst =
> enc_to_mst(intel_encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> @@ -2464,7 +2464,7 @@ static void intel_dp_mst_info(struct seq_file *m,
> static void intel_hdmi_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
s/intel_connector/connector ?
-Ram
> struct intel_dp_mst_encoder *intel_mst =
> struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
>
> seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> --
> 2.23.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder()
2019-12-05 10:59 ` Ramalingam C
@ 2019-12-05 11:04 ` Ramalingam C
2019-12-09 15:52 ` Ville Syrjälä
1 sibling, 0 replies; 27+ messages in thread
From: Ramalingam C @ 2019-12-05 11:04 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx
On 2019-12-05 at 16:29:37 +0530, Ramalingam C wrote:
> On 2019-12-04 at 20:05:45 +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > It's easy to confuse the drm_connector->encoder (legacy state
> > adjusted during modeset) and intel_connector->encoder (the statically
> > (sans. MST) attached encoder of the connector). For the latter
> > let's use intel_attached_encoder() consistently.
> >
> > @@
> > identifier F !~ "^intel_attached_encoder$";
> > struct intel_connector *C;
> > expression E;
> > @@
> > F(...)
> > {
> > <...
> > (
> > C->encoder = E
> > |
> > - C->encoder
> > + intel_attached_encoder(C)
>
> You mean intel_attached_encoder(&C->base)
> Need to pass the drm_connector *
My bad! Seen the 2nd patch after 5th :) Ignore this comment.
-Ram
>
> So this is for readability!? This adds the line length beyond 80char
> or to reduce that a extra local variable. I leave that to you.
> > )
> > ...>
> > }
> >
> > @@
> > identifier F !~ "^intel_attached_encoder$";
> > struct drm_connector *C;
> > expression E;
> > @@
> > F(...)
> > {
> > <...
> > (
> > to_intel_connector(C)->encoder = E
> > |
> > - to_intel_connector(C)->encoder
> > + intel_attached_encoder(to_intel_connector(C))
> > )
> > ...>
> > }
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_connector.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_ddi.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
> > .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
> > drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++--
> > .../gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 4 ++--
> > drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
> > drivers/gpu/drm/i915/display/intel_hotplug.c | 10 +++++-----
> > drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +-
> > drivers/gpu/drm/i915/i915_debugfs.c | 6 +++---
> > 10 files changed, 27 insertions(+), 27 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
> > index 1133c4e97bb4..54891a4ed2f3 100644
> > --- a/drivers/gpu/drm/i915/display/intel_connector.c
> > +++ b/drivers/gpu/drm/i915/display/intel_connector.c
> > @@ -153,7 +153,7 @@ void intel_connector_attach_encoder(struct intel_connector *connector,
> > bool intel_connector_get_hw_state(struct intel_connector *connector)
> > {
> > enum pipe pipe = 0;
> > - struct intel_encoder *encoder = connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> intel_attached_encoder takes drm_connector * instead of intel_connector.
> Everywhere we need to change this.
> >
> > return encoder->get_hw_state(encoder, &pipe);
> > }
> > diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> > index 52d187db320f..3e46017150b4 100644
> > --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> > @@ -2003,7 +2003,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
> > {
> > struct drm_device *dev = intel_connector->base.dev;
> > struct drm_i915_private *dev_priv = to_i915(dev);
> > - struct intel_encoder *encoder = intel_connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
> As you have done in previous series, could we rename this intel_connector
> as connector
> > int type = intel_connector->base.connector_type;
> > enum port port = encoder->port;
> > enum transcoder cpu_transcoder;
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index 45568a7c6579..df1b80387106 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -7279,7 +7279,7 @@ static void intel_connector_verify_state(struct intel_crtc_state *crtc_state,
> > connector->base.name);
> >
> > if (connector->get_hw_state(connector)) {
> > - struct intel_encoder *encoder = connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> >
> > I915_STATE_WARN(!crtc_state,
> > "connector enabled without attached crtc\n");
> > @@ -17529,7 +17529,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
> >
> > connector->base.dpms = DRM_MODE_DPMS_ON;
> >
> > - encoder = connector->encoder;
> > + encoder = intel_attached_encoder(connector);
> > connector->base.encoder = &encoder->base;
> >
> > crtc = to_intel_crtc(encoder->base.crtc);
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> > index 7c653f8c307f..771e22a0b2a4 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> > @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
> > */
> > static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
> > {
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> > u8 read_val[2] = { 0x0 };
> > u16 level = 0;
> >
> > @@ -82,7 +82,7 @@ static void
> > intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> > {
> > struct intel_connector *connector = to_intel_connector(conn_state->connector);
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> > u8 vals[2] = { 0x0 };
> >
> > vals[0] = level;
> > @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
> > static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
> > {
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> > int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
> > u8 pn, pn_min, pn_max;
> >
> > @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> > const struct drm_connector_state *conn_state)
> > {
> > struct intel_connector *connector = to_intel_connector(conn_state->connector);
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> > u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
> >
> > if (drm_dp_dpcd_readb(&intel_dp->aux,
> > @@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
> > static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> > enum pipe pipe)
> > {
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> > struct intel_panel *panel = &connector->panel;
> >
> > if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> > @@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> > static bool
> > intel_dp_aux_display_control_capable(struct intel_connector *connector)
> > {
> > - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> > + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> >
> > /* Check the eDP Display control capabilities registers to determine if
> > * the panel can support backlight control over the aux channel
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > index af7f6d670e07..1a7d69843c12 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > @@ -503,9 +503,9 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
> >
> > static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
> > {
> > - if (connector->encoder && connector->base.state->crtc) {
> > + if (intel_attached_encoder(connector) && connector->base.state->crtc) {
> > enum pipe pipe;
> > - if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
> > + if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
> Do we prefer this way or with local var for attached encoder restricting
> line to 80char?
> > return false;
> > return true;
> > }
> > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > index c87838843d0b..ac3eff26df12 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > @@ -45,7 +45,7 @@
> >
> > static u32 dcs_get_backlight(struct intel_connector *connector)
> > {
> > - struct intel_encoder *encoder = connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> > struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> > struct mipi_dsi_device *dsi_device;
> > u8 data = 0;
> > @@ -160,7 +160,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
> > {
> > struct drm_device *dev = intel_connector->base.dev;
> > struct drm_i915_private *dev_priv = to_i915(dev);
> > - struct intel_encoder *encoder = intel_connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
> s/intel_connector/connector ?
> > struct intel_panel *panel = &intel_connector->panel;
> >
> > if (dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_DSI_DCS)
> > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > index 0fdbd39f6641..2859230671ae 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > @@ -1527,7 +1527,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> > int ret;
> >
> > @@ -1565,7 +1565,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> > int ret;
> >
> > @@ -1676,7 +1676,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder;
> > int ret = 0;
> >
> > @@ -1830,7 +1830,7 @@ static inline int initialize_hdcp_port_data(struct intel_connector *connector,
> >
> > if (INTEL_GEN(dev_priv) < 12)
> > data->fw_ddi =
> > - intel_get_mei_fw_ddi_index(connector->encoder->port);
> > + intel_get_mei_fw_ddi_index(intel_attached_encoder(connector)->port);
> could we wrap at 80char with var encoder?
> > else
> > /*
> > * As per ME FW API expectation, for GEN 12+, fw_ddi is filled
> > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> > index 99d3a3c7989e..c3a48af35997 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> > @@ -200,7 +200,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
> > continue;
> >
> > intel_connector = to_intel_connector(connector);
> > - intel_encoder = intel_connector->encoder;
> > + intel_encoder = intel_attached_encoder(intel_connector);
> > if (!intel_encoder)
> > continue;
> >
> > @@ -255,7 +255,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
> >
> > /* Don't check MST ports, they don't have pins */
> > if (!intel_connector->mst_port &&
> > - intel_connector->encoder->hpd_pin == pin) {
> > + intel_attached_encoder(intel_connector)->hpd_pin == pin) {
> > if (connector->polled != intel_connector->polled)
> > DRM_DEBUG_DRIVER("Reenabling HPD on connector %s\n",
> > connector->name);
> > @@ -389,9 +389,9 @@ static void i915_hotplug_work_func(struct work_struct *work)
> > u32 hpd_bit;
> >
> > intel_connector = to_intel_connector(connector);
> > - if (!intel_connector->encoder)
> > + if (!intel_attached_encoder(intel_connector))
> > continue;
> > - intel_encoder = intel_connector->encoder;
> > + intel_encoder = intel_attached_encoder(intel_connector);
> > hpd_bit = BIT(intel_encoder->hpd_pin);
> > if ((hpd_event_bits | hpd_retry_bits) & hpd_bit) {
> > DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
> > @@ -621,7 +621,7 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
> > continue;
> >
> > if (!connector->polled && I915_HAS_HOTPLUG(dev_priv) &&
> > - intel_connector->encoder->hpd_pin > HPD_NONE) {
> > + intel_attached_encoder(intel_connector)->hpd_pin > HPD_NONE) {
> > connector->polled = enabled ?
> > DRM_CONNECTOR_POLL_CONNECT |
> > DRM_CONNECTOR_POLL_DISCONNECT :
> > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> > index 0c19064e42e0..535b332b067d 100644
> > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> > @@ -1567,7 +1567,7 @@ static enum drm_panel_orientation
> > vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
> > {
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > - struct intel_encoder *encoder = connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> > enum intel_display_power_domain power_domain;
> > enum drm_panel_orientation orientation;
> > struct intel_plane *plane;
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 3bc8d5c0e88a..d8c2fa2672b5 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -2431,7 +2431,7 @@ static void intel_hdcp_info(struct seq_file *m,
> > static void intel_dp_info(struct seq_file *m,
> > struct intel_connector *intel_connector)
> > {
> > - struct intel_encoder *intel_encoder = intel_connector->encoder;
> > + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> > struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
> >
> > seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
> > @@ -2450,7 +2450,7 @@ static void intel_dp_info(struct seq_file *m,
> > static void intel_dp_mst_info(struct seq_file *m,
> > struct intel_connector *intel_connector)
> > {
> > - struct intel_encoder *intel_encoder = intel_connector->encoder;
> > + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> s/intel_connector/connector ?
> > struct intel_dp_mst_encoder *intel_mst =
> > enc_to_mst(intel_encoder);
> > struct intel_digital_port *intel_dig_port = intel_mst->primary;
> > @@ -2464,7 +2464,7 @@ static void intel_dp_mst_info(struct seq_file *m,
> > static void intel_hdmi_info(struct seq_file *m,
> > struct intel_connector *intel_connector)
> > {
> > - struct intel_encoder *intel_encoder = intel_connector->encoder;
> > + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> s/intel_connector/connector ?
>
> -Ram
> > struct intel_dp_mst_encoder *intel_mst =
> > struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
> >
> > seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> > --
> > 2.23.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (10 preceding siblings ...)
2019-12-05 0:15 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2019-12-05 11:58 ` Patchwork
2019-12-05 12:19 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2019-12-05 15:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
13 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2019-12-05 11:58 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
URL : https://patchwork.freedesktop.org/series/70456/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
832a1c55fe76 drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
170ec3b713ff drm/i915: Pass intel_connector to intel_attached_*()
-:557: WARNING:LONG_LINE: line over 100 characters
#557: FILE: drivers/gpu/drm/i915/i915_debugfs.c:4512:
+ intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
total: 0 errors, 1 warnings, 0 checks, 427 lines checked
38feb26c23df drm/i915: Pass intel_encoder to enc_to_*()
-:520: ERROR:CODE_INDENT: code indent should use tabs where possible
#520: FILE: drivers/gpu/drm/i915/display/intel_ddi.c:4150:
+^I^I required_lanes);$
-:520: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#520: FILE: drivers/gpu/drm/i915/display/intel_ddi.c:4150:
+ intel_tc_port_get_link(enc_to_dig_port(encoder),
+ required_lanes);
-:1499: CHECK:COMPARISON_TO_NULL: Comparison to NULL could be written "hpd_pulse"
#1499: FILE: drivers/gpu/drm/i915/display/intel_hotplug.c:305:
+ enc_to_dig_port(encoder)->hpd_pulse != NULL;
total: 1 errors, 0 warnings, 2 checks, 1610 lines checked
767c5765e403 drm/i915: Use the passed in encoder
424e6ca96e88 drm/i915: Use intel_attached_encoder()
-:168: WARNING:LONG_LINE: line over 100 characters
#168: FILE: drivers/gpu/drm/i915/display/intel_dp_mst.c:508:
+ if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
total: 0 errors, 1 warnings, 0 checks, 206 lines checked
27e677f40641 drm/i915: Relocate intel_attached_dp()
4e0931881e22 drm/i915: Use intel_attached_dp() instead of hand rolling it
420c21998dbc drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
838d626c5ada drm/i915/hdcp: Clean up local variables
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (11 preceding siblings ...)
2019-12-05 11:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2) Patchwork
@ 2019-12-05 12:19 ` Patchwork
2019-12-05 15:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
13 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2019-12-05 12:19 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
URL : https://patchwork.freedesktop.org/series/70456/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7489 -> Patchwork_15600
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/index.html
Known issues
------------
Here are the changes found in Patchwork_15600 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s0:
- fi-skl-6700k2: [PASS][1] -> [FAIL][2] ([fdo#103375])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-skl-6700k2/igt@gem_exec_suspend@basic-s0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-skl-6700k2/igt@gem_exec_suspend@basic-s0.html
* igt@i915_selftest@live_blt:
- fi-bsw-n3050: [PASS][3] -> [DMESG-FAIL][4] ([i915#723])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-bsw-n3050/igt@i915_selftest@live_blt.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-bsw-n3050/igt@i915_selftest@live_blt.html
* igt@i915_selftest@live_gem_contexts:
- fi-hsw-4770: [PASS][5] -> [DMESG-FAIL][6] ([i915#722])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-hsw-4770/igt@i915_selftest@live_gem_contexts.html
#### Possible fixes ####
* igt@gem_exec_gttfill@basic:
- {fi-tgl-guc}: [INCOMPLETE][7] ([fdo#111593]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-tgl-guc/igt@gem_exec_gttfill@basic.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-tgl-guc/igt@gem_exec_gttfill@basic.html
* igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq: [DMESG-WARN][9] ([i915#592]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live_blt:
- fi-byt-n2820: [DMESG-FAIL][11] ([i915#725]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-byt-n2820/igt@i915_selftest@live_blt.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-byt-n2820/igt@i915_selftest@live_blt.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-kbl-7500u: [FAIL][13] ([fdo#111096] / [i915#323]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
#### Warnings ####
* igt@kms_flip@basic-flip-vs-modeset:
- fi-kbl-x1275: [DMESG-WARN][15] ([i915#62] / [i915#92]) -> [DMESG-WARN][16] ([i915#62] / [i915#92] / [i915#95]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-kbl-x1275/igt@kms_flip@basic-flip-vs-modeset.html
* igt@kms_force_connector_basic@prune-stale-modes:
- fi-kbl-x1275: [DMESG-WARN][17] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][18] ([i915#62] / [i915#92]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/fi-kbl-x1275/igt@kms_force_connector_basic@prune-stale-modes.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/fi-kbl-x1275/igt@kms_force_connector_basic@prune-stale-modes.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
[fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593
[i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109
[i915#323]: https://gitlab.freedesktop.org/drm/intel/issues/323
[i915#592]: https://gitlab.freedesktop.org/drm/intel/issues/592
[i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
[i915#710]: https://gitlab.freedesktop.org/drm/intel/issues/710
[i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722
[i915#723]: https://gitlab.freedesktop.org/drm/intel/issues/723
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
Participating hosts (53 -> 47)
------------------------------
Additional (1): fi-hsw-4770r
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_7489 -> Patchwork_15600
CI-20190529: 20190529
CI_DRM_7489: 969b4daff0be9ed5dcefda656621bad5f9a06906 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5332: 59be90b3c76113d03a1bb095c4d4585e51058f4a @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_15600: 838d626c5adaaa4f964dbe24f6e26afc3e6e2f3a @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
838d626c5ada drm/i915/hdcp: Clean up local variables
420c21998dbc drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
4e0931881e22 drm/i915: Use intel_attached_dp() instead of hand rolling it
27e677f40641 drm/i915: Relocate intel_attached_dp()
424e6ca96e88 drm/i915: Use intel_attached_encoder()
767c5765e403 drm/i915: Use the passed in encoder
38feb26c23df drm/i915: Pass intel_encoder to enc_to_*()
170ec3b713ff drm/i915: Pass intel_connector to intel_attached_*()
832a1c55fe76 drm/i915/hdcp: Nuke intel_hdcp_transcoder_config()
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
` (12 preceding siblings ...)
2019-12-05 12:19 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2019-12-05 15:06 ` Patchwork
13 siblings, 0 replies; 27+ messages in thread
From: Patchwork @ 2019-12-05 15:06 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Cleanups around intel_attached_encoder() & co. (rev2)
URL : https://patchwork.freedesktop.org/series/70456/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_7489_full -> Patchwork_15600_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_15600_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_15600_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_15600_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_exec_parse_blt@allowed-all:
- shard-kbl: [PASS][1] -> [DMESG-WARN][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl2/igt@gem_exec_parse_blt@allowed-all.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl1/igt@gem_exec_parse_blt@allowed-all.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt:
- shard-skl: NOTRUN -> [DMESG-WARN][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt:
- shard-iclb: NOTRUN -> [DMESG-WARN][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt.html
Known issues
------------
Here are the changes found in Patchwork_15600_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_busy@extended-parallel-vcs1:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#112080]) +6 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb1/igt@gem_busy@extended-parallel-vcs1.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb6/igt@gem_busy@extended-parallel-vcs1.html
* igt@gem_ctx_persistence@vcs1-queued:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276] / [fdo#112080]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb2/igt@gem_ctx_persistence@vcs1-queued.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@gem_ctx_persistence@vcs1-queued.html
* igt@gem_eio@kms:
- shard-snb: [PASS][9] -> [INCOMPLETE][10] ([i915#82])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-snb1/igt@gem_eio@kms.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-snb6/igt@gem_eio@kms.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [PASS][11] -> [SKIP][12] ([fdo#110854])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb2/igt@gem_exec_balancer@smoke.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@fifo-bsd1:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109276]) +9 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb1/igt@gem_exec_schedule@fifo-bsd1.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb6/igt@gem_exec_schedule@fifo-bsd1.html
* igt@gem_exec_schedule@preempt-other-chain-bsd:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#112146]) +3 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb8/igt@gem_exec_schedule@preempt-other-chain-bsd.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html
* igt@gem_exec_suspend@basic-s3-devices:
- shard-tglb: [PASS][17] -> [INCOMPLETE][18] ([i915#456] / [i915#460])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb9/igt@gem_exec_suspend@basic-s3-devices.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb2/igt@gem_exec_suspend@basic-s3-devices.html
* igt@gem_persistent_relocs@forked-interruptible-thrash-inactive:
- shard-snb: [PASS][19] -> [TIMEOUT][20] ([i915#530])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-snb7/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-snb7/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html
* igt@gem_persistent_relocs@forked-thrashing:
- shard-snb: [PASS][21] -> [INCOMPLETE][22] ([i915#530] / [i915#82])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-snb2/igt@gem_persistent_relocs@forked-thrashing.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-snb2/igt@gem_persistent_relocs@forked-thrashing.html
- shard-iclb: [PASS][23] -> [TIMEOUT][24] ([i915#530])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb4/igt@gem_persistent_relocs@forked-thrashing.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb3/igt@gem_persistent_relocs@forked-thrashing.html
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-skl: [PASS][25] -> [FAIL][26] ([i915#644])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl3/igt@gem_ppgtt@flink-and-close-vma-leak.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl10/igt@gem_ppgtt@flink-and-close-vma-leak.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
- shard-snb: [PASS][27] -> [DMESG-WARN][28] ([fdo#111870]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-snb6/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
* igt@i915_pm_rpm@system-suspend:
- shard-tglb: [PASS][29] -> [INCOMPLETE][30] ([i915#435] / [i915#460])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb6/igt@i915_pm_rpm@system-suspend.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb8/igt@i915_pm_rpm@system-suspend.html
* igt@kms_big_fb@y-tiled-32bpp-rotate-90:
- shard-skl: [PASS][31] -> [INCOMPLETE][32] ([fdo#112347])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl6/igt@kms_big_fb@y-tiled-32bpp-rotate-90.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl8/igt@kms_big_fb@y-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- shard-kbl: [PASS][33] -> [INCOMPLETE][34] ([fdo#103665])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl4/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl3/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_ccs@pipe-a-crc-primary-basic:
- shard-iclb: [PASS][35] -> [INCOMPLETE][36] ([i915#140])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb1/igt@kms_ccs@pipe-a-crc-primary-basic.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb6/igt@kms_ccs@pipe-a-crc-primary-basic.html
* igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
- shard-skl: [PASS][37] -> [DMESG-WARN][38] ([i915#728]) +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl3/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl10/igt@kms_ccs@pipe-a-crc-sprite-planes-basic.html
* igt@kms_color@pipe-b-ctm-blue-to-red:
- shard-skl: [PASS][39] -> [FAIL][40] ([i915#129])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl3/igt@kms_color@pipe-b-ctm-blue-to-red.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl10/igt@kms_color@pipe-b-ctm-blue-to-red.html
* igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen:
- shard-hsw: [PASS][41] -> [DMESG-WARN][42] ([IGT#6])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-hsw6/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-hsw6/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
* igt@kms_cursor_crc@pipe-b-cursor-256x85-onscreen:
- shard-skl: [PASS][43] -> [FAIL][44] ([i915#54]) +2 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl6/igt@kms_cursor_crc@pipe-b-cursor-256x85-onscreen.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-256x85-onscreen.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-skl: [PASS][45] -> [FAIL][46] ([IGT#5])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-tglb: [PASS][47] -> [INCOMPLETE][48] ([i915#435] / [i915#456] / [i915#460])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb7/igt@kms_fbcon_fbt@fbc-suspend.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb3/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-skl: [PASS][49] -> [INCOMPLETE][50] ([i915#69]) +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl8/igt@kms_fbcon_fbt@psr-suspend.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl3/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-skl: [PASS][51] -> [FAIL][52] ([i915#79])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl8/igt@kms_flip@flip-vs-expired-vblank.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk: [PASS][53] -> [FAIL][54] ([i915#79])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-suspend:
- shard-apl: [PASS][55] -> [DMESG-WARN][56] ([i915#180])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-apl4/igt@kms_flip@flip-vs-suspend.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-apl1/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-tglb: [PASS][57] -> [INCOMPLETE][58] ([i915#456] / [i915#460] / [i915#516])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb9/igt@kms_flip@flip-vs-suspend-interruptible.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb8/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt:
- shard-kbl: [PASS][59] -> [DMESG-WARN][60] ([i915#728]) +3 similar issues
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-badstride:
- shard-tglb: [PASS][61] -> [FAIL][62] ([i915#49]) +1 similar issue
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb6/igt@kms_frontbuffer_tracking@fbc-badstride.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-badstride.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl: [PASS][63] -> [DMESG-WARN][64] ([i915#180]) +6 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite:
- shard-iclb: [PASS][65] -> [INCOMPLETE][66] ([i915#123] / [i915#140])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-tglb: [PASS][67] -> [DMESG-WARN][68] ([i915#728]) +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b:
- shard-skl: [PASS][69] -> [FAIL][70] ([i915#53])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl3/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl10/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html
* igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
- shard-skl: [PASS][71] -> [FAIL][72] ([fdo#108145])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl3/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [PASS][73] -> [FAIL][74] ([fdo#108145] / [i915#265])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr@psr2_cursor_render:
- shard-iclb: [PASS][75] -> [SKIP][76] ([fdo#109441])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@kms_psr@psr2_cursor_render.html
* igt@kms_vblank@pipe-d-ts-continuation-suspend:
- shard-tglb: [PASS][77] -> [INCOMPLETE][78] ([i915#460]) +2 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb6/igt@kms_vblank@pipe-d-ts-continuation-suspend.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb3/igt@kms_vblank@pipe-d-ts-continuation-suspend.html
* igt@perf_pmu@busy-no-semaphores-rcs0:
- shard-iclb: [PASS][79] -> [DMESG-WARN][80] ([i915#728]) +4 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb7/igt@perf_pmu@busy-no-semaphores-rcs0.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@perf_pmu@busy-no-semaphores-rcs0.html
#### Possible fixes ####
* igt@gem_busy@busy-vcs1:
- shard-iclb: [SKIP][81] ([fdo#112080]) -> [PASS][82] +8 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb3/igt@gem_busy@busy-vcs1.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb4/igt@gem_busy@busy-vcs1.html
* igt@gem_ctx_persistence@vcs1-hostile-preempt:
- shard-iclb: [SKIP][83] ([fdo#109276] / [fdo#112080]) -> [PASS][84]
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb3/igt@gem_ctx_persistence@vcs1-hostile-preempt.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb4/igt@gem_ctx_persistence@vcs1-hostile-preempt.html
* igt@gem_exec_create@forked:
- shard-tglb: [INCOMPLETE][85] ([fdo#108838] / [i915#435]) -> [PASS][86]
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb4/igt@gem_exec_create@forked.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb3/igt@gem_exec_create@forked.html
* igt@gem_exec_parallel@vcs0-contexts:
- shard-hsw: [FAIL][87] ([i915#676]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-hsw7/igt@gem_exec_parallel@vcs0-contexts.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-hsw6/igt@gem_exec_parallel@vcs0-contexts.html
* igt@gem_exec_schedule@in-order-bsd:
- shard-iclb: [SKIP][89] ([fdo#112146]) -> [PASS][90] +1 similar issue
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb2/igt@gem_exec_schedule@in-order-bsd.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@gem_exec_schedule@in-order-bsd.html
* igt@gem_exec_schedule@preempt-queue-contexts-bsd2:
- shard-tglb: [INCOMPLETE][91] ([fdo#111606] / [fdo#111677]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb6/igt@gem_exec_schedule@preempt-queue-contexts-bsd2.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb5/igt@gem_exec_schedule@preempt-queue-contexts-bsd2.html
* igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive:
- shard-hsw: [TIMEOUT][93] ([i915#530]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-hsw5/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-hsw1/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-iclb: [FAIL][95] ([i915#644]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb5/igt@gem_ppgtt@flink-and-close-vma-leak.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb1/igt@gem_ppgtt@flink-and-close-vma-leak.html
* igt@gem_sync@basic-each:
- shard-tglb: [INCOMPLETE][97] ([i915#472] / [i915#707]) -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb7/igt@gem_sync@basic-each.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb8/igt@gem_sync@basic-each.html
* igt@gem_userptr_blits@sync-unmap:
- shard-snb: [DMESG-WARN][99] ([fdo#111870]) -> [PASS][100]
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-snb6/igt@gem_userptr_blits@sync-unmap.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-snb4/igt@gem_userptr_blits@sync-unmap.html
* igt@i915_pm_backlight@fade_with_suspend:
- shard-tglb: [INCOMPLETE][101] ([i915#456] / [i915#460]) -> [PASS][102]
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb1/igt@i915_pm_backlight@fade_with_suspend.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb1/igt@i915_pm_backlight@fade_with_suspend.html
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [FAIL][103] ([i915#454]) -> [PASS][104]
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb5/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_suspend@sysfs-reader:
- shard-kbl: [DMESG-WARN][105] ([i915#180]) -> [PASS][106] +3 similar issues
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl3/igt@i915_suspend@sysfs-reader.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl2/igt@i915_suspend@sysfs-reader.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-0:
- shard-skl: [INCOMPLETE][107] ([fdo#112347]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl5/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl1/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
- shard-kbl: [INCOMPLETE][109] ([fdo#103665]) -> [PASS][110] +1 similar issue
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl6/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl2/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
* igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen:
- shard-kbl: [DMESG-WARN][111] ([IGT#6]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl3/igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl2/igt@kms_cursor_crc@pipe-b-cursor-64x21-onscreen.html
* igt@kms_cursor_crc@pipe-b-cursor-64x64-sliding:
- shard-skl: [FAIL][113] ([i915#54]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl4/igt@kms_cursor_crc@pipe-b-cursor-64x64-sliding.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-64x64-sliding.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk: [FAIL][115] ([i915#79]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-glk7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-skl: [INCOMPLETE][117] ([i915#221]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl7/igt@kms_flip@flip-vs-suspend-interruptible.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl9/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip_tiling@flip-x-tiled:
- shard-tglb: [FAIL][119] ([i915#699]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb5/igt@kms_flip_tiling@flip-x-tiled.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb9/igt@kms_flip_tiling@flip-x-tiled.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render:
- shard-iclb: [FAIL][121] ([i915#49]) -> [PASS][122] +1 similar issue
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
- shard-tglb: [DMESG-WARN][123] ([i915#728]) -> [PASS][124] +1 similar issue
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-tglb: [FAIL][125] ([i915#49]) -> [PASS][126] +3 similar issues
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
- shard-iclb: [DMESG-WARN][127] ([i915#728]) -> [PASS][128] +3 similar issues
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt:
- shard-skl: [DMESG-WARN][129] ([i915#728]) -> [PASS][130] +5 similar issues
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl9/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-apl: [DMESG-WARN][131] ([i915#180]) -> [PASS][132] +2 similar issues
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [SKIP][133] ([fdo#109441]) -> [PASS][134] +1 similar issue
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb8/igt@kms_psr@psr2_no_drrs.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
* igt@perf_pmu@busy-check-all-bcs0:
- shard-kbl: [DMESG-WARN][135] -> [PASS][136]
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl3/igt@perf_pmu@busy-check-all-bcs0.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl3/igt@perf_pmu@busy-check-all-bcs0.html
* igt@prime_busy@hang-bsd2:
- shard-iclb: [SKIP][137] ([fdo#109276]) -> [PASS][138] +15 similar issues
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb3/igt@prime_busy@hang-bsd2.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb4/igt@prime_busy@hang-bsd2.html
#### Warnings ####
* igt@gem_ctx_isolation@vcs1-nonpriv:
- shard-iclb: [FAIL][139] ([IGT#28]) -> [SKIP][140] ([fdo#109276] / [fdo#112080]) +1 similar issue
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-iclb8/igt@gem_ctx_isolation@vcs1-nonpriv.html
* igt@gem_ctx_isolation@vcs2-dirty-create:
- shard-tglb: [SKIP][141] ([fdo#111912] / [fdo#112080]) -> [SKIP][142] ([fdo#112080])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-tglb5/igt@gem_ctx_isolation@vcs2-dirty-create.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-tglb9/igt@gem_ctx_isolation@vcs2-dirty-create.html
* igt@gem_exec_parallel@contexts:
- shard-hsw: [FAIL][143] ([i915#676]) -> [TIMEOUT][144] ([i915#676])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-hsw5/igt@gem_exec_parallel@contexts.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-hsw1/igt@gem_exec_parallel@contexts.html
* igt@kms_flip@flip-vs-suspend:
- shard-kbl: [INCOMPLETE][145] ([fdo#103665] / [i915#600]) -> [DMESG-WARN][146] ([i915#180] / [i915#391])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl7/igt@kms_flip@flip-vs-suspend.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl1/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-kbl: [DMESG-WARN][147] ([i915#180] / [i915#391]) -> [DMESG-WARN][148] ([i915#180])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl3/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-kbl: [INCOMPLETE][149] ([fdo#103665]) -> [DMESG-WARN][150] ([i915#728])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-kbl1/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-kbl7/igt@kms_plane@pixel-format-pipe-a-planes-source-clamping.html
* igt@kms_plane@pixel-format-pipe-b-planes:
- shard-skl: [INCOMPLETE][151] ([fdo#112347] / [fdo#112391] / [i915#648]) -> [INCOMPLETE][152] ([i915#648])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl7/igt@kms_plane@pixel-format-pipe-b-planes.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl2/igt@kms_plane@pixel-format-pipe-b-planes.html
* igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
- shard-skl: [INCOMPLETE][153] ([fdo#112391] / [i915#648]) -> [INCOMPLETE][154] ([i915#648])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7489/shard-skl8/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/shard-skl6/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#28]: https://git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15600/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder()
2019-12-05 10:59 ` Ramalingam C
2019-12-05 11:04 ` Ramalingam C
@ 2019-12-09 15:52 ` Ville Syrjälä
1 sibling, 0 replies; 27+ messages in thread
From: Ville Syrjälä @ 2019-12-09 15:52 UTC (permalink / raw)
To: Ramalingam C; +Cc: intel-gfx
On Thu, Dec 05, 2019 at 04:29:37PM +0530, Ramalingam C wrote:
> On 2019-12-04 at 20:05:45 +0200, Ville Syrjala wrote:
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > index af7f6d670e07..1a7d69843c12 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> > @@ -503,9 +503,9 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
> >
> > static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
> > {
> > - if (connector->encoder && connector->base.state->crtc) {
> > + if (intel_attached_encoder(connector) && connector->base.state->crtc) {
> > enum pipe pipe;
> > - if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
> > + if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
> Do we prefer this way or with local var for attached encoder restricting
> line to 80char?
Can't be bothered too much about this half baked code. One day we
need to write a proper implementation of this.
> > return false;
> > return true;
> > }
> > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > index c87838843d0b..ac3eff26df12 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> > @@ -45,7 +45,7 @@
> >
> > static u32 dcs_get_backlight(struct intel_connector *connector)
> > {
> > - struct intel_encoder *encoder = connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(connector);
> > struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> > struct mipi_dsi_device *dsi_device;
> > u8 data = 0;
> > @@ -160,7 +160,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
> > {
> > struct drm_device *dev = intel_connector->base.dev;
> > struct drm_i915_private *dev_priv = to_i915(dev);
> > - struct intel_encoder *encoder = intel_connector->encoder;
> > + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
> s/intel_connector/connector ?
> > struct intel_panel *panel = &intel_connector->panel;
> >
> > if (dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_DSI_DCS)
> > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > index 0fdbd39f6641..2859230671ae 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> > @@ -1527,7 +1527,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> > int ret;
> >
> > @@ -1565,7 +1565,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> > int ret;
> >
> > @@ -1676,7 +1676,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
> > struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> > struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> > struct intel_hdcp *hdcp = &connector->hdcp;
> > - enum port port = connector->encoder->port;
> > + enum port port = intel_attached_encoder(connector)->port;
> > enum transcoder cpu_transcoder;
> > int ret = 0;
> >
> > @@ -1830,7 +1830,7 @@ static inline int initialize_hdcp_port_data(struct intel_connector *connector,
> >
> > if (INTEL_GEN(dev_priv) < 12)
> > data->fw_ddi =
> > - intel_get_mei_fw_ddi_index(connector->encoder->port);
> > + intel_get_mei_fw_ddi_index(intel_attached_encoder(connector)->port);
> could we wrap at 80char with var encoder?
Not in a cocci patch.
--
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*() Ville Syrjala
@ 2019-12-18 20:41 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 27+ messages in thread
From: Juha-Pekka Heikkila @ 2019-12-18 20:41 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Look ok to me.
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 4.12.2019 20.05, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Lots of enc_to_foo(&encoder->base) around. Simplify by passing
> in the intel_encoder instead.
>
> @find@
> identifier F =~ "^enc_to_.*";
> identifier E;
> @@
> F(struct drm_encoder *E)
> {
> ...
> }
>
> @@
> identifier find.F;
> identifier find.E;
> @@
> F(
> - struct drm_encoder *E
> + struct intel_encoder *encoder
> )
> {
> <...
> - E
> + &encoder->base
> ...>
> }
>
> @@
> identifier find.F;
> expression E;
> @@
> - F(E)
> + F(to_intel_encoder(E))
>
> @@
> expression E;
> @@
> - to_intel_encoder(&E->base)
> + E
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/icl_dsi.c | 58 ++++++++---------
> drivers/gpu/drm/i915/display/intel_ddi.c | 63 ++++++++++---------
> drivers/gpu/drm/i915/display/intel_display.c | 4 +-
> .../drm/i915/display/intel_display_power.c | 6 +-
> .../drm/i915/display/intel_display_types.h | 19 +++---
> drivers/gpu/drm/i915/display/intel_dp.c | 54 ++++++++--------
> .../drm/i915/display/intel_dp_aux_backlight.c | 15 ++---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 24 +++----
> drivers/gpu/drm/i915/display/intel_dpio_phy.c | 18 +++---
> drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 4 +-
> drivers/gpu/drm/i915/display/intel_dsi.h | 6 +-
> .../i915/display/intel_dsi_dcs_backlight.c | 8 +--
> drivers/gpu/drm/i915/display/intel_hdmi.c | 49 ++++++++-------
> drivers/gpu/drm/i915/display/intel_hdmi.h | 2 +-
> drivers/gpu/drm/i915/display/intel_hotplug.c | 4 +-
> drivers/gpu/drm/i915/display/intel_lspcon.c | 8 +--
> drivers/gpu/drm/i915/display/intel_pipe_crc.c | 2 +-
> drivers/gpu/drm/i915/display/intel_vdsc.c | 4 +-
> drivers/gpu/drm/i915/display/vlv_dsi.c | 36 +++++------
> drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 12 ++--
> drivers/gpu/drm/i915/i915_debugfs.c | 28 ++++-----
> 21 files changed, 214 insertions(+), 210 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index f688207932e0..7e774cd4a56c 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -76,7 +76,7 @@ static enum transcoder dsi_port_to_transcoder(enum port port)
> static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct mipi_dsi_device *dsi;
> enum port port;
> enum transcoder dsi_trans;
> @@ -201,7 +201,7 @@ static int dsi_send_pkt_payld(struct intel_dsi_host *host,
> static void dsi_program_swing_and_deemphasis(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum phy phy;
> u32 tmp;
> int lane;
> @@ -266,7 +266,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 dss_ctl1;
>
> dss_ctl1 = I915_READ(DSS_CTL1);
> @@ -304,7 +304,7 @@ static void configure_dual_link_mode(struct intel_encoder *encoder,
> static void gen11_dsi_program_esc_clk_div(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
> u32 afe_clk_khz; /* 8X Clock */
> @@ -346,7 +346,7 @@ static void get_dsi_io_power_domains(struct drm_i915_private *dev_priv,
> static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 tmp;
>
> @@ -362,7 +362,7 @@ static void gen11_dsi_enable_io_power(struct intel_encoder *encoder)
> static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum phy phy;
>
> for_each_dsi_phy(phy, intel_dsi->phys)
> @@ -373,7 +373,7 @@ static void gen11_dsi_power_up_lanes(struct intel_encoder *encoder)
> static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum phy phy;
> u32 tmp;
> int lane;
> @@ -422,7 +422,7 @@ static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder *encoder)
> static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum phy phy;
>
> @@ -474,7 +474,7 @@ static void gen11_dsi_voltage_swing_program_seq(struct intel_encoder *encoder)
> static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum port port;
>
> @@ -493,7 +493,7 @@ static void gen11_dsi_enable_ddi_buffer(struct intel_encoder *encoder)
> static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum port port;
> enum phy phy;
> @@ -559,7 +559,7 @@ static void gen11_dsi_setup_dphy_timings(struct intel_encoder *encoder)
> static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum phy phy;
>
> @@ -575,7 +575,7 @@ static void gen11_dsi_gate_clocks(struct intel_encoder *encoder)
> static void gen11_dsi_ungate_clocks(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum phy phy;
>
> @@ -592,7 +592,7 @@ static void gen11_dsi_map_pll(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct intel_shared_dpll *pll = crtc_state->shared_dpll;
> enum phy phy;
> u32 val;
> @@ -624,7 +624,7 @@ gen11_dsi_configure_transcoder(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
> enum pipe pipe = intel_crtc->pipe;
> u32 tmp;
> @@ -769,7 +769,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> const struct drm_display_mode *adjusted_mode =
> &pipe_config->hw.adjusted_mode;
> enum port port;
> @@ -889,7 +889,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,
> static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> enum transcoder dsi_trans;
> u32 tmp;
> @@ -910,7 +910,7 @@ static void gen11_dsi_enable_transcoder(struct intel_encoder *encoder)
> static void gen11_dsi_setup_timeouts(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> enum transcoder dsi_trans;
> u32 tmp, hs_tx_timeout, lp_rx_timeout, ta_timeout, divisor, mul;
> @@ -991,7 +991,7 @@ gen11_dsi_enable_port_and_phy(struct intel_encoder *encoder,
> static void gen11_dsi_powerup_panel(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct mipi_dsi_device *dsi;
> enum port port;
> enum transcoder dsi_trans;
> @@ -1042,7 +1042,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>
> /* step3b */
> gen11_dsi_map_pll(encoder, pipe_config);
> @@ -1067,7 +1067,7 @@ static void gen11_dsi_pre_enable(struct intel_encoder *encoder,
> static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> enum transcoder dsi_trans;
> u32 tmp;
> @@ -1089,7 +1089,7 @@ static void gen11_dsi_disable_transcoder(struct intel_encoder *encoder)
>
> static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>
> intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_OFF);
> intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_ASSERT_RESET);
> @@ -1102,7 +1102,7 @@ static void gen11_dsi_powerdown_panel(struct intel_encoder *encoder)
> static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> enum transcoder dsi_trans;
> u32 tmp;
> @@ -1143,7 +1143,7 @@ static void gen11_dsi_deconfigure_trancoder(struct intel_encoder *encoder)
> static void gen11_dsi_disable_port(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u32 tmp;
> enum port port;
>
> @@ -1165,7 +1165,7 @@ static void gen11_dsi_disable_port(struct intel_encoder *encoder)
> static void gen11_dsi_disable_io_power(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 tmp;
>
> @@ -1192,7 +1192,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>
> /* step1: turn off backlight */
> intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_OFF);
> @@ -1217,7 +1217,7 @@ static void gen11_dsi_disable(struct intel_encoder *encoder,
> static void gen11_dsi_get_timings(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct drm_display_mode *adjusted_mode =
> &pipe_config->hw.adjusted_mode;
>
> @@ -1246,7 +1246,7 @@ static void gen11_dsi_get_config(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>
> /* FIXME: adapt icl_ddi_clock_get() for DSI and use that? */
> pipe_config->port_clock =
> @@ -1296,14 +1296,14 @@ static void gen11_dsi_get_power_domains(struct intel_encoder *encoder,
> struct intel_crtc_state *crtc_state)
> {
> get_dsi_io_power_domains(to_i915(encoder->base.dev),
> - enc_to_intel_dsi(&encoder->base));
> + enc_to_intel_dsi(encoder));
> }
>
> static bool gen11_dsi_get_hw_state(struct intel_encoder *encoder,
> enum pipe *pipe)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum transcoder dsi_trans;
> intel_wakeref_t wakeref;
> enum port port;
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index e692c0b28559..52d187db320f 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -1241,9 +1241,9 @@ void hsw_fdi_link_train(struct intel_crtc *crtc,
>
> static void intel_ddi_init_dp_buf_reg(struct intel_encoder *encoder)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_digital_port *intel_dig_port =
> - enc_to_dig_port(&encoder->base);
> + enc_to_dig_port(encoder);
>
> intel_dp->DP = intel_dig_port->saved_port_bits |
> DDI_BUF_CTL_ENABLE | DDI_BUF_TRANS_SELECT(0);
> @@ -2221,7 +2221,7 @@ static void intel_ddi_get_power_domains(struct intel_encoder *encoder,
> if (WARN_ON(intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST)))
> return;
>
> - dig_port = enc_to_dig_port(&encoder->base);
> + dig_port = enc_to_dig_port(encoder);
> intel_display_power_get(dev_priv, dig_port->ddi_io_power_domain);
>
> /*
> @@ -2291,7 +2291,7 @@ static void _skl_ddi_set_iboost(struct drm_i915_private *dev_priv,
> static void skl_ddi_set_iboost(struct intel_encoder *encoder,
> int level, enum intel_output_type type)
> {
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> enum port port = encoder->port;
> u8 iboost;
> @@ -2362,7 +2362,7 @@ static void bxt_ddi_vswing_sequence(struct intel_encoder *encoder,
> u8 intel_ddi_dp_voltage_max(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> enum port port = encoder->port;
> enum phy phy = intel_port_to_phy(dev_priv, port);
> int n_entries;
> @@ -2501,7 +2501,7 @@ static void cnl_ddi_vswing_sequence(struct intel_encoder *encoder,
> width = 4;
> rate = 0; /* Rate is always < than 6GHz for HDMI */
> } else {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> width = intel_dp->lane_count;
> rate = intel_dp->link_rate;
> @@ -2627,7 +2627,7 @@ static void icl_combo_phy_ddi_vswing_sequence(struct intel_encoder *encoder,
> width = 4;
> /* Rate is always < than 6GHz for HDMI */
> } else {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> width = intel_dp->lane_count;
> rate = intel_dp->link_rate;
> @@ -3316,7 +3316,7 @@ static void intel_ddi_enable_fec(struct intel_encoder *encoder,
> if (!crtc_state->fec_enable)
> return;
>
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> val = I915_READ(intel_dp->regs.dp_tp_ctl);
> val |= DP_TP_CTL_FEC_ENABLE;
> I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
> @@ -3336,7 +3336,7 @@ static void intel_ddi_disable_fec_state(struct intel_encoder *encoder,
> if (!crtc_state->fec_enable)
> return;
>
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> val = I915_READ(intel_dp->regs.dp_tp_ctl);
> val &= ~DP_TP_CTL_FEC_ENABLE;
> I915_WRITE(intel_dp->regs.dp_tp_ctl, val);
> @@ -3427,10 +3427,10 @@ static void tgl_ddi_pre_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
> int level = intel_ddi_dp_level(intel_dp);
> enum transcoder transcoder = crtc_state->cpu_transcoder;
> @@ -3583,11 +3583,11 @@ static void hsw_ddi_pre_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> enum port port = encoder->port;
> enum phy phy = intel_port_to_phy(dev_priv, port);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> bool is_mst = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP_MST);
> int level = intel_ddi_dp_level(intel_dp);
>
> @@ -3673,12 +3673,12 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> enum port port = encoder->port;
> int level = intel_ddi_hdmi_level(dev_priv, port);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
>
> intel_dp_dual_mode_set_tmds_output(intel_hdmi, true);
> intel_ddi_clk_select(encoder, crtc_state);
> @@ -3745,12 +3745,12 @@ static void intel_ddi_pre_enable(struct intel_encoder *encoder,
> intel_ddi_pre_enable_hdmi(encoder, crtc_state, conn_state);
> } else {
> struct intel_lspcon *lspcon =
> - enc_to_intel_lspcon(&encoder->base);
> + enc_to_intel_lspcon(encoder);
>
> intel_ddi_pre_enable_dp(encoder, crtc_state, conn_state);
> if (lspcon->active) {
> struct intel_digital_port *dig_port =
> - enc_to_dig_port(&encoder->base);
> + enc_to_dig_port(encoder);
>
> dig_port->set_infoframes(encoder,
> crtc_state->has_infoframe,
> @@ -3775,7 +3775,7 @@ static void intel_disable_ddi_buf(struct intel_encoder *encoder,
> }
>
> if (intel_crtc_has_dp_encoder(crtc_state)) {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> val = I915_READ(intel_dp->regs.dp_tp_ctl);
> val &= ~(DP_TP_CTL_ENABLE | DP_TP_CTL_LINK_TRAIN_MASK);
> @@ -3795,7 +3795,7 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
> const struct drm_connector_state *old_conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> struct intel_dp *intel_dp = &dig_port->dp;
> bool is_mst = intel_crtc_has_type(old_crtc_state,
> INTEL_OUTPUT_DP_MST);
> @@ -3829,7 +3829,7 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
> const struct drm_connector_state *old_conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
>
> dig_port->set_infoframes(encoder, false,
> @@ -3916,7 +3916,7 @@ static void intel_enable_ddi_dp(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> enum port port = encoder->port;
>
> if (port == PORT_A && INTEL_GEN(dev_priv) < 9)
> @@ -3957,7 +3957,7 @@ static void intel_enable_ddi_hdmi(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> struct drm_connector *connector = conn_state->connector;
> enum port port = encoder->port;
>
> @@ -4034,7 +4034,7 @@ static void intel_disable_ddi_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> intel_dp->link_trained = false;
>
> @@ -4082,7 +4082,7 @@ static void intel_ddi_update_pipe_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> intel_ddi_set_dp_msa(crtc_state, conn_state);
>
> @@ -4146,7 +4146,8 @@ intel_ddi_update_prepare(struct intel_atomic_state *state,
>
> WARN_ON(crtc && crtc->active);
>
> - intel_tc_port_get_link(enc_to_dig_port(&encoder->base), required_lanes);
> + intel_tc_port_get_link(enc_to_dig_port(encoder),
> + required_lanes);
> if (crtc_state && crtc_state->hw.active)
> intel_update_active_dpll(state, crtc, encoder);
> }
> @@ -4156,7 +4157,7 @@ intel_ddi_update_complete(struct intel_atomic_state *state,
> struct intel_encoder *encoder,
> struct intel_crtc *crtc)
> {
> - intel_tc_port_put_link(enc_to_dig_port(&encoder->base));
> + intel_tc_port_put_link(enc_to_dig_port(encoder));
> }
>
> static void
> @@ -4165,7 +4166,7 @@ intel_ddi_pre_pll_enable(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
> bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
>
> @@ -4193,7 +4194,7 @@ intel_ddi_post_pll_disable(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
> bool is_tc_port = intel_phy_is_tc(dev_priv, phy);
>
> @@ -4480,7 +4481,7 @@ static int intel_ddi_compute_config(struct intel_encoder *encoder,
>
> static void intel_ddi_encoder_destroy(struct drm_encoder *encoder)
> {
> - struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> + struct intel_digital_port *dig_port = enc_to_dig_port(to_intel_encoder(encoder));
>
> intel_dp_encoder_flush_work(encoder);
>
> @@ -4547,7 +4548,7 @@ static int intel_hdmi_reset_link(struct intel_encoder *encoder,
> struct drm_modeset_acquire_ctx *ctx)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_hdmi *hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *hdmi = enc_to_intel_hdmi(encoder);
> struct intel_connector *connector = hdmi->attached_connector;
> struct i2c_adapter *adapter =
> intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> @@ -4619,7 +4620,7 @@ intel_ddi_hotplug(struct intel_encoder *encoder,
> struct intel_connector *connector,
> bool irq_received)
> {
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> struct drm_modeset_acquire_ctx ctx;
> enum intel_hotplug_state state;
> int ret;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 99abc553a8ab..45568a7c6579 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
> if (conn_state->crtc == &crtc->base)
> break;
> }
> - intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(conn))->base);
> + intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(conn)));
> intel_dp_stop_link_train(intel_dp);
> }
>
> @@ -17763,7 +17763,7 @@ intel_modeset_setup_hw_state(struct drm_device *dev,
> /* We need to sanitize only the MST primary port. */
> if (encoder->type != INTEL_OUTPUT_DP_MST &&
> intel_phy_is_tc(dev_priv, phy))
> - intel_tc_port_sanitize(enc_to_dig_port(&encoder->base));
> + intel_tc_port_sanitize(enc_to_dig_port(encoder));
> }
>
> get_encoder_power_domains(dev_priv);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index ce1b64f4dd44..7395cb0111a3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -519,7 +519,7 @@ static void icl_tc_port_assert_ref_held(struct drm_i915_private *dev_priv,
> if (encoder->type == INTEL_OUTPUT_DP_MST)
> continue;
>
> - dig_port = enc_to_dig_port(&encoder->base);
> + dig_port = enc_to_dig_port(encoder);
> if (WARN_ON(!dig_port))
> continue;
>
> @@ -1669,8 +1669,8 @@ void chv_phy_powergate_lanes(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct i915_power_domains *power_domains = &dev_priv->power_domains;
> - enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(&encoder->base));
> - enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
> + enum dpio_phy phy = vlv_dport_to_phy(enc_to_dig_port(encoder));
> + enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
>
> mutex_lock(&power_domains->lock);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 4d89de5a4964..79c7454ff510 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1454,12 +1454,12 @@ static inline bool intel_encoder_is_dig_port(struct intel_encoder *encoder)
> }
>
> static inline struct intel_digital_port *
> -enc_to_dig_port(struct drm_encoder *encoder)
> +enc_to_dig_port(struct intel_encoder *encoder)
> {
> - struct intel_encoder *intel_encoder = to_intel_encoder(encoder);
> + struct intel_encoder *intel_encoder = encoder;
>
> if (intel_encoder_is_dig_port(intel_encoder))
> - return container_of(encoder, struct intel_digital_port,
> + return container_of(&encoder->base, struct intel_digital_port,
> base.base);
> else
> return NULL;
> @@ -1468,16 +1468,17 @@ enc_to_dig_port(struct drm_encoder *encoder)
> static inline struct intel_digital_port *
> conn_to_dig_port(struct intel_connector *connector)
> {
> - return enc_to_dig_port(&intel_attached_encoder(connector)->base);
> + return enc_to_dig_port(intel_attached_encoder(connector));
> }
>
> static inline struct intel_dp_mst_encoder *
> -enc_to_mst(struct drm_encoder *encoder)
> +enc_to_mst(struct intel_encoder *encoder)
> {
> - return container_of(encoder, struct intel_dp_mst_encoder, base.base);
> + return container_of(&encoder->base, struct intel_dp_mst_encoder,
> + base.base);
> }
>
> -static inline struct intel_dp *enc_to_intel_dp(struct drm_encoder *encoder)
> +static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
> {
> return &enc_to_dig_port(encoder)->dp;
> }
> @@ -1490,14 +1491,14 @@ static inline bool intel_encoder_is_dp(struct intel_encoder *encoder)
> return true;
> case INTEL_OUTPUT_DDI:
> /* Skip pure HDMI/DVI DDI encoders */
> - return i915_mmio_reg_valid(enc_to_intel_dp(&encoder->base)->output_reg);
> + return i915_mmio_reg_valid(enc_to_intel_dp(encoder)->output_reg);
> default:
> return false;
> }
> }
>
> static inline struct intel_lspcon *
> -enc_to_intel_lspcon(struct drm_encoder *encoder)
> +enc_to_intel_lspcon(struct intel_encoder *encoder)
> {
> return &enc_to_dig_port(encoder)->lspcon;
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 668b636fcfaa..93f3d232fcb5 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -148,7 +148,7 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
>
> static struct intel_dp *intel_attached_dp(struct intel_connector *connector)
> {
> - return enc_to_intel_dp(&intel_attached_encoder(connector)->base);
> + return enc_to_intel_dp(intel_attached_encoder(connector));
> }
>
> static void intel_dp_link_down(struct intel_encoder *encoder,
> @@ -834,7 +834,7 @@ static enum pipe vlv_find_free_pps(struct drm_i915_private *dev_priv)
> * Pick one that's not used by other ports.
> */
> for_each_intel_dp(&dev_priv->drm, encoder) {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> if (encoder->type == INTEL_OUTPUT_EDP) {
> WARN_ON(intel_dp->active_pipe != INVALID_PIPE &&
> @@ -1031,7 +1031,7 @@ void intel_power_sequencer_reset(struct drm_i915_private *dev_priv)
> */
>
> for_each_intel_dp(&dev_priv->drm, encoder) {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> WARN_ON(intel_dp->active_pipe != INVALID_PIPE);
>
> @@ -2165,7 +2165,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
> struct drm_connector_state *conn_state)
> {
> struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct link_config_limits limits;
> int common_len;
> int ret;
> @@ -2326,8 +2326,8 @@ intel_dp_compute_config(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> - struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> + struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
> enum port port = encoder->port;
> struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
> struct intel_connector *intel_connector = intel_dp->attached_connector;
> @@ -2442,7 +2442,7 @@ static void intel_dp_prepare(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> enum port port = encoder->port;
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> @@ -2940,7 +2940,7 @@ static void _intel_edp_backlight_on(struct intel_dp *intel_dp)
> void intel_edp_backlight_on(const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(conn_state->best_encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(conn_state->best_encoder));
>
> if (!intel_dp_is_edp(intel_dp))
> return;
> @@ -2978,7 +2978,7 @@ static void _intel_edp_backlight_off(struct intel_dp *intel_dp)
> /* Disable backlight PP control and backlight PWM. */
> void intel_edp_backlight_off(const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(old_conn_state->best_encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder));
>
> if (!intel_dp_is_edp(intel_dp))
> return;
> @@ -3218,7 +3218,7 @@ static bool intel_dp_get_hw_state(struct intel_encoder *encoder,
> enum pipe *pipe)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> intel_wakeref_t wakeref;
> bool ret;
>
> @@ -3239,7 +3239,7 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> u32 tmp, flags = 0;
> enum port port = encoder->port;
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> @@ -3323,7 +3323,7 @@ static void intel_disable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> intel_dp->link_trained = false;
>
> @@ -3357,7 +3357,7 @@ static void g4x_post_disable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> enum port port = encoder->port;
>
> /*
> @@ -3508,7 +3508,7 @@ static void intel_enable_dp(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> u32 dp_reg = I915_READ(intel_dp->output_reg);
> enum pipe pipe = crtc->pipe;
> @@ -3568,7 +3568,7 @@ static void g4x_pre_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> enum port port = encoder->port;
>
> intel_dp_prepare(encoder, pipe_config);
> @@ -3618,7 +3618,7 @@ static void vlv_steal_power_sequencer(struct drm_i915_private *dev_priv,
> lockdep_assert_held(&dev_priv->pps_mutex);
>
> for_each_intel_dp(&dev_priv->drm, encoder) {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> WARN(intel_dp->active_pipe == pipe,
> "stealing pipe %c power sequencer from active [ENCODER:%d:%s]\n",
> @@ -3641,7 +3641,7 @@ static void vlv_init_panel_power_sequencer(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>
> lockdep_assert_held(&dev_priv->pps_mutex);
> @@ -4163,7 +4163,7 @@ intel_dp_link_down(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
> enum port port = encoder->port;
> u32 DP = intel_dp->DP;
> @@ -5056,7 +5056,7 @@ int intel_dp_retrain_link(struct intel_encoder *encoder,
> struct drm_modeset_acquire_ctx *ctx)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_connector *connector = intel_dp->attached_connector;
> struct drm_connector_state *conn_state;
> struct intel_crtc_state *crtc_state;
> @@ -5496,7 +5496,7 @@ static bool intel_combo_phy_connected(struct drm_i915_private *dev_priv,
> static bool icp_digital_port_connected(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> enum phy phy = intel_port_to_phy(dev_priv, encoder->port);
>
> if (intel_phy_is_combo(dev_priv, phy))
> @@ -5799,7 +5799,7 @@ intel_dp_connector_unregister(struct drm_connector *connector)
>
> void intel_dp_encoder_flush_work(struct drm_encoder *encoder)
> {
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(to_intel_encoder(encoder));
> struct intel_dp *intel_dp = &intel_dig_port->dp;
>
> intel_dp_mst_encoder_cleanup(intel_dig_port);
> @@ -5828,12 +5828,12 @@ static void intel_dp_encoder_destroy(struct drm_encoder *encoder)
> intel_dp_encoder_flush_work(encoder);
>
> drm_encoder_cleanup(encoder);
> - kfree(enc_to_dig_port(encoder));
> + kfree(enc_to_dig_port(to_intel_encoder(encoder)));
> }
>
> void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
> intel_wakeref_t wakeref;
>
> if (!intel_dp_is_edp(intel_dp))
> @@ -5864,7 +5864,7 @@ static
> int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *intel_dig_port,
> u8 *an)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&intel_dig_port->base.base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(&intel_dig_port->base.base));
> static const struct drm_dp_aux_msg msg = {
> .request = DP_AUX_NATIVE_WRITE,
> .address = DP_AUX_HDCP_AKSV,
> @@ -6474,7 +6474,7 @@ static enum pipe vlv_active_pipe(struct intel_dp *intel_dp)
> void intel_dp_encoder_reset(struct drm_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(encoder));
> struct intel_lspcon *lspcon = dp_to_lspcon(intel_dp);
> intel_wakeref_t wakeref;
>
> @@ -7620,7 +7620,7 @@ void intel_dp_mst_suspend(struct drm_i915_private *dev_priv)
> if (encoder->type != INTEL_OUTPUT_DDI)
> continue;
>
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
>
> if (!intel_dp->can_mst)
> continue;
> @@ -7641,7 +7641,7 @@ void intel_dp_mst_resume(struct drm_i915_private *dev_priv)
> if (encoder->type != INTEL_OUTPUT_DDI)
> continue;
>
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
>
> if (!intel_dp->can_mst)
> continue;
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index 020422da2ae2..7c653f8c307f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
> */
> static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> u8 read_val[2] = { 0x0 };
> u16 level = 0;
>
> @@ -82,7 +82,7 @@ static void
> intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> u8 vals[2] = { 0x0 };
>
> vals[0] = level;
> @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
> static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
> u8 pn, pn_min, pn_max;
>
> @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> const struct drm_connector_state *conn_state)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
>
> if (drm_dp_dpcd_readb(&intel_dp->aux,
> @@ -222,13 +222,14 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
>
> static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state)
> {
> - set_aux_backlight_enable(enc_to_intel_dp(old_conn_state->best_encoder), false);
> + set_aux_backlight_enable(enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder)),
> + false);
> }
>
> static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> enum pipe pipe)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> struct intel_panel *panel = &connector->panel;
>
> if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> @@ -247,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> static bool
> intel_dp_aux_display_control_capable(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&connector->encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
>
> /* Check the eDP Display control capabilities registers to determine if
> * the panel can support backlight control over the aux channel
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index a1e4f4197a67..af7f6d670e07 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -43,7 +43,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder,
> struct link_config_limits *limits)
> {
> struct drm_atomic_state *state = crtc_state->uapi.state;
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_dp *intel_dp = &intel_mst->primary->dp;
> struct intel_connector *connector =
> to_intel_connector(conn_state->connector);
> @@ -92,7 +92,7 @@ static int intel_dp_mst_compute_config(struct intel_encoder *encoder,
> struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_dp *intel_dp = &intel_mst->primary->dp;
> struct intel_connector *connector =
> to_intel_connector(conn_state->connector);
> @@ -195,7 +195,7 @@ intel_dp_mst_atomic_check(struct drm_connector *connector,
> return 0;
> }
>
> - mgr = &enc_to_mst(old_conn_state->best_encoder)->primary->dp.mst_mgr;
> + mgr = &enc_to_mst(to_intel_encoder(old_conn_state->best_encoder))->primary->dp.mst_mgr;
> ret = drm_dp_atomic_release_vcpi_slots(state, mgr,
> intel_connector->port);
>
> @@ -206,7 +206,7 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct intel_connector *connector =
> @@ -230,7 +230,7 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct intel_connector *connector =
> @@ -267,7 +267,7 @@ static void intel_mst_pre_pll_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
>
> @@ -280,7 +280,7 @@ static void intel_mst_post_pll_disable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
>
> @@ -294,7 +294,7 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> @@ -352,7 +352,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> @@ -373,7 +373,7 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
> enum pipe *pipe)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> *pipe = intel_mst->pipe;
> if (intel_mst->connector)
> return true;
> @@ -383,7 +383,7 @@ static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
> static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
>
> intel_ddi_get_config(&intel_dig_port->base, pipe_config);
> @@ -491,7 +491,7 @@ static const struct drm_connector_helper_funcs intel_dp_mst_connector_helper_fun
>
> static void intel_dp_mst_encoder_destroy(struct drm_encoder *encoder)
> {
> - struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder);
> + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(to_intel_encoder(encoder));
>
> drm_encoder_cleanup(encoder);
> kfree(intel_mst);
> diff --git a/drivers/gpu/drm/i915/display/intel_dpio_phy.c b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> index 704f38681c4b..6fb1f7a7364e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpio_phy.c
> @@ -642,7 +642,7 @@ void chv_set_phy_signal_level(struct intel_encoder *encoder,
> bool uniq_trans_scale)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
> enum dpio_channel ch = vlv_dport_to_channel(dport);
> enum pipe pipe = intel_crtc->pipe;
> @@ -738,7 +738,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
> bool reset)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(&encoder->base));
> + enum dpio_channel ch = vlv_dport_to_channel(enc_to_dig_port(encoder));
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> enum pipe pipe = crtc->pipe;
> u32 val;
> @@ -781,7 +781,7 @@ void chv_data_lane_soft_reset(struct intel_encoder *encoder,
> void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> enum dpio_channel ch = vlv_dport_to_channel(dport);
> @@ -861,7 +861,7 @@ void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
> void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> @@ -940,7 +940,7 @@ void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
>
> void chv_phy_release_cl2_override(struct intel_encoder *encoder)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>
> if (dport->release_cl2_override) {
> @@ -989,7 +989,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> enum dpio_channel port = vlv_dport_to_channel(dport);
> enum pipe pipe = intel_crtc->pipe;
>
> @@ -1014,7 +1014,7 @@ void vlv_set_phy_signal_level(struct intel_encoder *encoder,
> void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> enum dpio_channel port = vlv_dport_to_channel(dport);
> @@ -1043,7 +1043,7 @@ void vlv_phy_pre_pll_enable(struct intel_encoder *encoder,
> void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_digital_port *dport = dp_to_dig_port(intel_dp);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> @@ -1073,7 +1073,7 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder,
> void vlv_phy_reset_lanes(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
> enum dpio_channel port = vlv_dport_to_channel(dport);
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index 728a4b045de7..c75e34d87111 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -2972,8 +2972,8 @@ static void icl_update_active_dpll(struct intel_atomic_state *state,
> enum icl_port_dpll_id port_dpll_id = ICL_PORT_DPLL_DEFAULT;
>
> primary_port = encoder->type == INTEL_OUTPUT_DP_MST ?
> - enc_to_mst(&encoder->base)->primary :
> - enc_to_dig_port(&encoder->base);
> + enc_to_mst(encoder)->primary :
> + enc_to_dig_port(encoder);
>
> if (primary_port &&
> (primary_port->tc_mode == TC_PORT_DP_ALT ||
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h
> index b15be5814599..97b18ab69370 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/display/intel_dsi.h
> @@ -141,9 +141,9 @@ static inline struct intel_dsi_host *to_intel_dsi_host(struct mipi_dsi_host *h)
> #define for_each_dsi_phy(__phy, __phys_mask) \
> for_each_phy_masked(__phy, __phys_mask)
>
> -static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder)
> +static inline struct intel_dsi *enc_to_intel_dsi(struct intel_encoder *encoder)
> {
> - return container_of(encoder, struct intel_dsi, base.base);
> + return container_of(&encoder->base, struct intel_dsi, base.base);
> }
>
> static inline bool is_vid_mode(struct intel_dsi *intel_dsi)
> @@ -158,7 +158,7 @@ static inline bool is_cmd_mode(struct intel_dsi *intel_dsi)
>
> static inline u16 intel_dsi_encoder_ports(struct intel_encoder *encoder)
> {
> - return enc_to_intel_dsi(&encoder->base)->ports;
> + return enc_to_intel_dsi(encoder)->ports;
> }
>
> /* icl_dsi.c */
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index bb3fd8b786a2..c87838843d0b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -46,7 +46,7 @@
> static u32 dcs_get_backlight(struct intel_connector *connector)
> {
> struct intel_encoder *encoder = connector->encoder;
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct mipi_dsi_device *dsi_device;
> u8 data = 0;
> enum port port;
> @@ -64,7 +64,7 @@ static u32 dcs_get_backlight(struct intel_connector *connector)
>
> static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
> struct mipi_dsi_device *dsi_device;
> u8 data = level;
> enum port port;
> @@ -79,7 +79,7 @@ static void dcs_set_backlight(const struct drm_connector_state *conn_state, u32
>
> static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
> struct mipi_dsi_device *dsi_device;
> enum port port;
>
> @@ -113,7 +113,7 @@ static void dcs_disable_backlight(const struct drm_connector_state *conn_state)
> static void dcs_enable_backlight(const struct intel_crtc_state *crtc_state,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(conn_state->best_encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(conn_state->best_encoder));
> struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel;
> struct mipi_dsi_device *dsi_device;
> enum port port;
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index a8deb4789f04..e179ee046687 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -85,16 +85,17 @@ assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv,
> "HDMI transcoder function enabled, expecting disabled\n");
> }
>
> -struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
> +struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder)
> {
> struct intel_digital_port *intel_dig_port =
> - container_of(encoder, struct intel_digital_port, base.base);
> + container_of(&encoder->base, struct intel_digital_port,
> + base.base);
> return &intel_dig_port->hdmi;
> }
>
> static struct intel_hdmi *intel_attached_hdmi(struct intel_connector *connector)
> {
> - return enc_to_intel_hdmi(&intel_attached_encoder(connector)->base);
> + return enc_to_intel_hdmi(intel_attached_encoder(connector));
> }
>
> static u32 g4x_infoframe_index(unsigned int type)
> @@ -602,7 +603,7 @@ u32 intel_hdmi_infoframes_enabled(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> u32 val, ret = 0;
> int i;
>
> @@ -646,7 +647,7 @@ static void intel_write_infoframe(struct intel_encoder *encoder,
> enum hdmi_infoframe_type type,
> const union hdmi_infoframe *frame)
> {
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> u8 buffer[VIDEO_DIP_DATA_SIZE];
> ssize_t len;
>
> @@ -675,7 +676,7 @@ void intel_read_infoframe(struct intel_encoder *encoder,
> enum hdmi_infoframe_type type,
> union hdmi_infoframe *frame)
> {
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> u8 buffer[VIDEO_DIP_DATA_SIZE];
> int ret;
>
> @@ -855,7 +856,7 @@ static void g4x_set_infoframes(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
> i915_reg_t reg = VIDEO_DIP_CTL;
> u32 val = I915_READ(reg);
> @@ -1038,7 +1039,7 @@ static void ibx_set_infoframes(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct intel_digital_port *intel_dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *intel_dig_port = enc_to_dig_port(encoder);
> struct intel_hdmi *intel_hdmi = &intel_dig_port->hdmi;
> i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
> u32 val = I915_READ(reg);
> @@ -1097,7 +1098,7 @@ static void cpt_set_infoframes(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> i915_reg_t reg = TVIDEO_DIP_CTL(intel_crtc->pipe);
> u32 val = I915_READ(reg);
>
> @@ -1146,7 +1147,7 @@ static void vlv_set_infoframes(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> i915_reg_t reg = VLV_TVIDEO_DIP_CTL(intel_crtc->pipe);
> u32 val = I915_READ(reg);
> u32 port = VIDEO_DIP_PORT(encoder->port);
> @@ -1737,7 +1738,7 @@ static void intel_hdmi_prepare(struct intel_encoder *encoder,
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode;
> u32 hdmi_val;
>
> @@ -1774,7 +1775,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
> enum pipe *pipe)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> intel_wakeref_t wakeref;
> bool ret;
>
> @@ -1793,7 +1794,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder,
> static void intel_hdmi_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> u32 tmp, flags = 0;
> @@ -1874,7 +1875,7 @@ static void g4x_enable_hdmi(struct intel_encoder *encoder,
> {
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> u32 temp;
>
> temp = I915_READ(intel_hdmi->hdmi_reg);
> @@ -1896,7 +1897,7 @@ static void ibx_enable_hdmi(struct intel_encoder *encoder,
> {
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> u32 temp;
>
> temp = I915_READ(intel_hdmi->hdmi_reg);
> @@ -1947,7 +1948,7 @@ static void cpt_enable_hdmi(struct intel_encoder *encoder,
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> enum pipe pipe = crtc->pipe;
> u32 temp;
>
> @@ -2007,7 +2008,7 @@ static void intel_disable_hdmi(struct intel_encoder *encoder,
> {
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> struct intel_digital_port *intel_dig_port =
> hdmi_to_dig_port(intel_hdmi);
> struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
> @@ -2316,7 +2317,7 @@ static int intel_hdmi_compute_bpc(struct intel_encoder *encoder,
> struct intel_crtc_state *crtc_state,
> int clock, bool force_dvi)
> {
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> int bpc;
>
> for (bpc = 12; bpc >= 10; bpc -= 2) {
> @@ -2334,7 +2335,7 @@ static int intel_hdmi_compute_clock(struct intel_encoder *encoder,
> struct intel_crtc_state *crtc_state,
> bool force_dvi)
> {
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> const struct drm_display_mode *adjusted_mode =
> &crtc_state->hw.adjusted_mode;
> int bpc, clock = adjusted_mode->crtc_clock;
> @@ -2404,7 +2405,7 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config,
> struct drm_connector_state *conn_state)
> {
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> struct drm_connector *connector = conn_state->connector;
> @@ -2663,7 +2664,7 @@ static void intel_hdmi_pre_enable(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct intel_digital_port *intel_dig_port =
> - enc_to_dig_port(&encoder->base);
> + enc_to_dig_port(encoder);
>
> intel_hdmi_prepare(encoder, pipe_config);
>
> @@ -2676,7 +2677,7 @@ static void vlv_hdmi_pre_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>
> vlv_phy_pre_encoder_enable(encoder, pipe_config);
> @@ -2746,7 +2747,7 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dport = enc_to_dig_port(encoder);
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
>
> @@ -2906,7 +2907,7 @@ bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
> bool scrambling)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> struct drm_scrambling *sink_scrambling =
> &connector->display_info.hdmi.scdc.scrambling;
> struct i2c_adapter *adapter =
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.h b/drivers/gpu/drm/i915/display/intel_hdmi.h
> index cf1ea5427639..d3659d0b408b 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.h
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.h
> @@ -29,7 +29,7 @@ void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg,
> enum port port);
> void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
> struct intel_connector *intel_connector);
> -struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder);
> +struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder);
> int intel_hdmi_compute_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config,
> struct drm_connector_state *conn_state);
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index fc29046d48ea..99d3a3c7989e 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -302,7 +302,7 @@ intel_encoder_hotplug(struct intel_encoder *encoder,
> static bool intel_encoder_has_hpd_pulse(struct intel_encoder *encoder)
> {
> return intel_encoder_is_dig_port(encoder) &&
> - enc_to_dig_port(&encoder->base)->hpd_pulse != NULL;
> + enc_to_dig_port(encoder)->hpd_pulse != NULL;
> }
>
> static void i915_digport_work_func(struct work_struct *work)
> @@ -335,7 +335,7 @@ static void i915_digport_work_func(struct work_struct *work)
> if (!long_hpd && !short_hpd)
> continue;
>
> - dig_port = enc_to_dig_port(&encoder->base);
> + dig_port = enc_to_dig_port(encoder);
>
> ret = dig_port->hpd_pulse(dig_port, long_hpd);
> if (ret == IRQ_NONE) {
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
> index 5145ff8b962b..d807c5648c87 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> @@ -434,8 +434,8 @@ void lspcon_write_infoframe(struct intel_encoder *encoder,
> const void *frame, ssize_t len)
> {
> bool ret;
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> - struct intel_lspcon *lspcon = enc_to_intel_lspcon(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> + struct intel_lspcon *lspcon = enc_to_intel_lspcon(encoder);
>
> /* LSPCON only needs AVI IF */
> if (type != HDMI_INFOFRAME_TYPE_AVI)
> @@ -472,7 +472,7 @@ void lspcon_set_infoframes(struct intel_encoder *encoder,
> ssize_t ret;
> union hdmi_infoframe frame;
> u8 buf[VIDEO_DIP_DATA_SIZE];
> - struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
> + struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
> struct intel_lspcon *lspcon = &dig_port->lspcon;
> const struct drm_display_mode *adjusted_mode =
> &crtc_state->hw.adjusted_mode;
> @@ -522,7 +522,7 @@ u32 lspcon_infoframes_enabled(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config)
> {
> /* FIXME actually read this from the hw */
> - return enc_to_intel_lspcon(&encoder->base)->active;
> + return enc_to_intel_lspcon(encoder)->active;
> }
>
> void lspcon_resume(struct intel_lspcon *lspcon)
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> index 2746512f4466..520408e83681 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> @@ -98,7 +98,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
> break;
> case INTEL_OUTPUT_DP:
> case INTEL_OUTPUT_EDP:
> - dig_port = enc_to_dig_port(&encoder->base);
> + dig_port = enc_to_dig_port(encoder);
> switch (dig_port->base.port) {
> case PORT_B:
> *source = INTEL_PIPE_CRC_SOURCE_DP_B;
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index b23ba8d108db..075b6e4f66c6 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -339,7 +339,7 @@ static const struct rc_parameters *get_rc_params(u16 compressed_bpp,
> static int intel_dsc_dp_compute_params(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct drm_dsc_config *vdsc_cfg = &pipe_config->dsc.config;
> u8 line_buf_depth;
>
> @@ -904,7 +904,7 @@ static void intel_dsc_pps_configure(struct intel_encoder *encoder,
> static void intel_dsc_dp_pps_write(struct intel_encoder *encoder,
> const struct intel_crtc_state *crtc_state)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
> const struct drm_dsc_config *vdsc_cfg = &crtc_state->dsc.config;
> struct drm_dsc_pps_infoframe dp_dsc_pps_sdp;
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index 8398a265b6a3..0c19064e42e0 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -319,7 +319,7 @@ static int intel_dsi_compute_config(struct intel_encoder *encoder,
> static bool glk_dsi_enable_io(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 tmp;
> bool cold_boot = false;
> @@ -367,7 +367,7 @@ static bool glk_dsi_enable_io(struct intel_encoder *encoder)
> static void glk_dsi_device_ready(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -438,7 +438,7 @@ static void glk_dsi_device_ready(struct intel_encoder *encoder)
> static void bxt_dsi_device_ready(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -465,7 +465,7 @@ static void bxt_dsi_device_ready(struct intel_encoder *encoder)
> static void vlv_dsi_device_ready(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -516,7 +516,7 @@ static void intel_dsi_device_ready(struct intel_encoder *encoder)
> static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -546,7 +546,7 @@ static void glk_dsi_enter_low_power_mode(struct intel_encoder *encoder)
> static void glk_dsi_disable_mipi_io(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 tmp;
>
> @@ -579,7 +579,7 @@ static void glk_dsi_clear_device_ready(struct intel_encoder *encoder)
> static void vlv_dsi_clear_device_ready(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
>
> DRM_DEBUG_KMS("\n");
> @@ -625,7 +625,7 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder,
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
>
> if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
> @@ -681,7 +681,7 @@ static void intel_dsi_port_disable(struct intel_encoder *encoder)
> {
> struct drm_device *dev = encoder->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
>
> for_each_dsi_port(port, intel_dsi->ports) {
> @@ -745,7 +745,7 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *pipe_config,
> const struct drm_connector_state *conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct drm_crtc *crtc = pipe_config->uapi.crtc;
> struct drm_i915_private *dev_priv = to_i915(crtc->dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> @@ -850,7 +850,7 @@ static void intel_dsi_disable(struct intel_encoder *encoder,
> const struct intel_crtc_state *old_crtc_state,
> const struct drm_connector_state *old_conn_state)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
>
> DRM_DEBUG_KMS("\n");
> @@ -886,7 +886,7 @@ static void intel_dsi_post_disable(struct intel_encoder *encoder,
> const struct drm_connector_state *conn_state)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -956,7 +956,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
> enum pipe *pipe)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> intel_wakeref_t wakeref;
> enum port port;
> bool active = false;
> @@ -1035,7 +1035,7 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder *encoder,
> &pipe_config->hw.adjusted_mode;
> struct drm_display_mode *adjusted_mode_sw;
> struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> unsigned int lane_count = intel_dsi->lane_count;
> unsigned int bpp, fmt;
> enum port port;
> @@ -1228,7 +1228,7 @@ static void set_dsi_timings(struct drm_encoder *encoder,
> {
> struct drm_device *dev = encoder->dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
> enum port port;
> unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
> unsigned int lane_count = intel_dsi->lane_count;
> @@ -1316,7 +1316,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
> struct drm_device *dev = encoder->dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> struct intel_crtc *intel_crtc = to_intel_crtc(pipe_config->uapi.crtc);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
> const struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode;
> enum port port;
> unsigned int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
> @@ -1506,7 +1506,7 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
> static void intel_dsi_unprepare(struct intel_encoder *encoder)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> @@ -1533,7 +1533,7 @@ static void intel_dsi_unprepare(struct intel_encoder *encoder)
>
> static void intel_dsi_encoder_destroy(struct drm_encoder *encoder)
> {
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(to_intel_encoder(encoder));
>
> /* dispose of the gpios */
> if (intel_dsi->gpio_panel)
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> index 95f39cd0ce02..6b89e67b120f 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c
> @@ -117,7 +117,7 @@ int vlv_dsi_pll_compute(struct intel_encoder *encoder,
> struct intel_crtc_state *config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> int ret;
> u32 dsi_clk;
>
> @@ -255,7 +255,7 @@ u32 vlv_dsi_get_pclk(struct intel_encoder *encoder,
> struct intel_crtc_state *config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
> u32 dsi_clock, pclk;
> u32 pll_ctl, pll_div;
> @@ -321,7 +321,7 @@ u32 bxt_dsi_get_pclk(struct intel_encoder *encoder,
> u32 pclk;
> u32 dsi_clk;
> u32 dsi_ratio;
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> int bpp = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
>
> @@ -341,7 +341,7 @@ void vlv_dsi_reset_clocks(struct intel_encoder *encoder, enum port port)
> {
> u32 temp;
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
>
> temp = I915_READ(MIPI_CTRL(port));
> temp &= ~ESCAPE_CLOCK_DIVIDER_MASK;
> @@ -455,7 +455,7 @@ int bxt_dsi_pll_compute(struct intel_encoder *encoder,
> struct intel_crtc_state *config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> u8 dsi_ratio, dsi_ratio_min, dsi_ratio_max;
> u32 dsi_clk;
>
> @@ -503,7 +503,7 @@ void bxt_dsi_pll_enable(struct intel_encoder *encoder,
> const struct intel_crtc_state *config)
> {
> struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> - struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> enum port port;
> u32 val;
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 4f543ccec15d..3bc8d5c0e88a 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
> struct drm_connector *connector = m->private;
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> + enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> int ret;
>
> if (!CAN_PSR(dev_priv)) {
> @@ -2432,7 +2432,7 @@ static void intel_dp_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> struct intel_encoder *intel_encoder = intel_connector->encoder;
> - struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>
> seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
> seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
> @@ -2452,7 +2452,7 @@ static void intel_dp_mst_info(struct seq_file *m,
> {
> struct intel_encoder *intel_encoder = intel_connector->encoder;
> struct intel_dp_mst_encoder *intel_mst =
> - enc_to_mst(&intel_encoder->base);
> + enc_to_mst(intel_encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
> @@ -2465,7 +2465,7 @@ static void intel_hdmi_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> struct intel_encoder *intel_encoder = intel_connector->encoder;
> - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&intel_encoder->base);
> + struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
>
> seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> if (intel_connector->hdcp.shim) {
> @@ -3059,7 +3059,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused)
> if (!intel_encoder || intel_encoder->type == INTEL_OUTPUT_DP_MST)
> continue;
>
> - intel_dig_port = enc_to_dig_port(&intel_encoder->base);
> + intel_dig_port = enc_to_dig_port(intel_encoder);
> if (!intel_dig_port->dp.can_mst)
> continue;
>
> @@ -3109,7 +3109,7 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
> continue;
>
> if (encoder && connector->status == connector_status_connected) {
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> status = kstrtoint(input_buffer, 10, &val);
> if (status < 0)
> break;
> @@ -3153,7 +3153,7 @@ static int i915_displayport_test_active_show(struct seq_file *m, void *data)
> continue;
>
> if (encoder && connector->status == connector_status_connected) {
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> if (intel_dp->compliance.test_active)
> seq_puts(m, "1");
> else
> @@ -3203,7 +3203,7 @@ static int i915_displayport_test_data_show(struct seq_file *m, void *data)
> continue;
>
> if (encoder && connector->status == connector_status_connected) {
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> if (intel_dp->compliance.test_type ==
> DP_TEST_LINK_EDID_READ)
> seq_printf(m, "%lx",
> @@ -3247,7 +3247,7 @@ static int i915_displayport_test_type_show(struct seq_file *m, void *data)
> continue;
>
> if (encoder && connector->status == connector_status_connected) {
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> seq_printf(m, "%02lx", intel_dp->compliance.test_type);
> } else
> seq_puts(m, "0");
> @@ -4192,7 +4192,7 @@ static int i915_drrs_ctl_set(void *data, u64 val)
> DRM_DEBUG_DRIVER("Manually %sabling DRRS. %llu\n",
> val ? "en" : "dis", val);
>
> - intel_dp = enc_to_intel_dp(&encoder->base);
> + intel_dp = enc_to_intel_dp(encoder);
> if (val)
> intel_edp_drrs_enable(intel_dp,
> crtc_state);
> @@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> + enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> u8 buf[16];
> ssize_t err;
> int i;
> @@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> + enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
>
> if (connector->status != connector_status_connected)
> return -ENODEV;
> @@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> } else if (ret) {
> break;
> }
> - intel_dp = enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector))->base);
> + intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> crtc_state = to_intel_crtc_state(crtc->state);
> seq_printf(m, "DSC_Enabled: %s\n",
> yesno(crtc_state->dsc.compression_enable));
> @@ -4537,7 +4537,7 @@ static ssize_t i915_dsc_fec_support_write(struct file *file,
> struct drm_connector *connector =
> ((struct seq_file *)file->private_data)->private;
> struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
> - struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
> + struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
> if (len == 0)
> return 0;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*() Ville Syrjala
@ 2020-01-09 7:28 ` Kahola, Mika
0 siblings, 0 replies; 27+ messages in thread
From: Kahola, Mika @ 2020-01-09 7:28 UTC (permalink / raw)
To: ville.syrjala, intel-gfx
On Wed, 2019-12-04 at 20:05 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Life is usually easier when we pass around intel_ types instead
> of drm_ types. In this case it might not be, but I think being
> consistent is a good thing anyway. Also some of this might get
> cleaned up a bit more later as we keep propagating the intel_
> types further.
>
> @find@
> identifier F =~ "^intel_attached_.*";
> identifier C;
> @@
> F(struct drm_connector *C)
> {
> ...
> }
>
> @@
> identifier find.F;
> identifier find.C;
> @@
> F(
> - struct drm_connector *C
> + struct intel_connector *connector
> )
> {
> <...
> - C
> + &connector->base
> ...>
> }
>
> @@
> identifier find.F;
> expression C;
> @@
> - F(C)
> + F(to_intel_connector(C))
>
> @@
> expression C;
> @@
> - to_intel_connector(&C->base)
> + C
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_crt.c | 12 +++++-----
> drivers/gpu/drm/i915/display/intel_display.c | 8 +++----
> .../drm/i915/display/intel_display_types.h | 6 ++---
> drivers/gpu/drm/i915/display/intel_dp.c | 16 +++++++-------
> drivers/gpu/drm/i915/display/intel_dvo.c | 8 +++----
> drivers/gpu/drm/i915/display/intel_hdmi.c | 16 +++++++-------
> drivers/gpu/drm/i915/display/intel_sdvo.c | 22 +++++++++------
> ----
> drivers/gpu/drm/i915/display/intel_tv.c | 6 ++---
> drivers/gpu/drm/i915/i915_debugfs.c | 14 ++++++------
> 9 files changed, 54 insertions(+), 54 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crt.c
> b/drivers/gpu/drm/i915/display/intel_crt.c
> index 7a2d36905155..47fceecea9f8 100644
> --- a/drivers/gpu/drm/i915/display/intel_crt.c
> +++ b/drivers/gpu/drm/i915/display/intel_crt.c
> @@ -65,7 +65,7 @@ static struct intel_crt
> *intel_encoder_to_crt(struct intel_encoder *encoder)
> return container_of(encoder, struct intel_crt, base);
> }
>
> -static struct intel_crt *intel_attached_crt(struct drm_connector
> *connector)
> +static struct intel_crt *intel_attached_crt(struct intel_connector
> *connector)
> {
> return intel_encoder_to_crt(intel_attached_encoder(connector));
> }
> @@ -422,7 +422,7 @@ static int hsw_crt_compute_config(struct
> intel_encoder *encoder,
> static bool intel_ironlake_crt_detect_hotplug(struct drm_connector
> *connector)
> {
> struct drm_device *dev = connector->dev;
> - struct intel_crt *crt = intel_attached_crt(connector);
> + struct intel_crt *crt =
> intel_attached_crt(to_intel_connector(connector));
> struct drm_i915_private *dev_priv = to_i915(dev);
> u32 adpa;
> bool ret;
> @@ -469,7 +469,7 @@ static bool
> intel_ironlake_crt_detect_hotplug(struct drm_connector *connector)
> static bool valleyview_crt_detect_hotplug(struct drm_connector
> *connector)
> {
> struct drm_device *dev = connector->dev;
> - struct intel_crt *crt = intel_attached_crt(connector);
> + struct intel_crt *crt =
> intel_attached_crt(to_intel_connector(connector));
> struct drm_i915_private *dev_priv = to_i915(dev);
> bool reenable_hpd;
> u32 adpa;
> @@ -601,7 +601,7 @@ static int intel_crt_ddc_get_modes(struct
> drm_connector *connector,
>
> static bool intel_crt_detect_ddc(struct drm_connector *connector)
> {
> - struct intel_crt *crt = intel_attached_crt(connector);
> + struct intel_crt *crt =
> intel_attached_crt(to_intel_connector(connector));
> struct drm_i915_private *dev_priv = to_i915(crt-
> >base.base.dev);
> struct edid *edid;
> struct i2c_adapter *i2c;
> @@ -787,7 +787,7 @@ intel_crt_detect(struct drm_connector *connector,
> bool force)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_crt *crt = intel_attached_crt(connector);
> + struct intel_crt *crt =
> intel_attached_crt(to_intel_connector(connector));
> struct intel_encoder *intel_encoder = &crt->base;
> intel_wakeref_t wakeref;
> int status, ret;
> @@ -878,7 +878,7 @@ static int intel_crt_get_modes(struct
> drm_connector *connector)
> {
> struct drm_device *dev = connector->dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_crt *crt = intel_attached_crt(connector);
> + struct intel_crt *crt =
> intel_attached_crt(to_intel_connector(connector));
> struct intel_encoder *intel_encoder = &crt->base;
> intel_wakeref_t wakeref;
> struct i2c_adapter *i2c;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index eb0505a66ea8..99abc553a8ab 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -6197,7 +6197,7 @@ intel_connector_primary_encoder(struct
> intel_connector *connector)
> if (connector->mst_port)
> return &dp_to_dig_port(connector->mst_port)->base;
>
> - encoder = intel_attached_encoder(&connector->base);
> + encoder = intel_attached_encoder(connector);
> WARN_ON(!encoder);
>
> return encoder;
> @@ -11376,7 +11376,7 @@ int intel_get_load_detect_pipe(struct
> drm_connector *connector,
> {
> struct intel_crtc *intel_crtc;
> struct intel_encoder *intel_encoder =
> - intel_attached_encoder(connector);
> + intel_attached_encoder(to_intel_connector(connector));
> struct drm_crtc *possible_crtc;
> struct drm_encoder *encoder = &intel_encoder->base;
> struct drm_crtc *crtc = NULL;
> @@ -11530,7 +11530,7 @@ void intel_release_load_detect_pipe(struct
> drm_connector *connector,
> struct drm_modeset_acquire_ctx
> *ctx)
> {
> struct intel_encoder *intel_encoder =
> - intel_attached_encoder(connector);
> + intel_attached_encoder(to_intel_connector(connector));
> struct drm_encoder *encoder = &intel_encoder->base;
> struct drm_atomic_state *state = old->restore_state;
> int ret;
> @@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct
> intel_crtc *crtc,
> if (conn_state->crtc == &crtc->base)
> break;
> }
> - intel_dp = enc_to_intel_dp(&intel_attached_encoder(conn)-
> >base);
> + intel_dp =
> enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(conn))-
> >base);
> intel_dp_stop_link_train(intel_dp);
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 83ea04149b77..4d89de5a4964 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1435,9 +1435,9 @@ struct intel_load_detect_pipe {
> };
>
> static inline struct intel_encoder *
> -intel_attached_encoder(struct drm_connector *connector)
> +intel_attached_encoder(struct intel_connector *connector)
> {
> - return to_intel_connector(connector)->encoder;
> + return connector->encoder;
> }
>
> static inline bool intel_encoder_is_dig_port(struct intel_encoder
> *encoder)
> @@ -1468,7 +1468,7 @@ enc_to_dig_port(struct drm_encoder *encoder)
> static inline struct intel_digital_port *
> conn_to_dig_port(struct intel_connector *connector)
> {
> - return enc_to_dig_port(&intel_attached_encoder(&connector-
> >base)->base);
> + return enc_to_dig_port(&intel_attached_encoder(connector)-
> >base);
> }
>
> static inline struct intel_dp_mst_encoder *
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 0f496115c345..668b636fcfaa 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -146,7 +146,7 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
> return intel_dig_port->base.type == INTEL_OUTPUT_EDP;
> }
>
> -static struct intel_dp *intel_attached_dp(struct drm_connector
> *connector)
> +static struct intel_dp *intel_attached_dp(struct intel_connector
> *connector)
> {
> return enc_to_intel_dp(&intel_attached_encoder(connector)-
> >base);
> }
> @@ -614,7 +614,7 @@ static enum drm_mode_status
> intel_dp_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> - struct intel_dp *intel_dp = intel_attached_dp(connector);
> + struct intel_dp *intel_dp =
> intel_attached_dp(to_intel_connector(connector));
> struct intel_connector *intel_connector =
> to_intel_connector(connector);
> struct drm_display_mode *fixed_mode = intel_connector-
> >panel.fixed_mode;
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> @@ -2996,7 +2996,7 @@ void intel_edp_backlight_off(const struct
> drm_connector_state *old_conn_state)
> static void intel_edp_backlight_power(struct intel_connector
> *connector,
> bool enable)
> {
> - struct intel_dp *intel_dp = intel_attached_dp(&connector-
> >base);
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> intel_wakeref_t wakeref;
> bool is_enabled;
>
> @@ -5611,7 +5611,7 @@ intel_dp_detect(struct drm_connector
> *connector,
> bool force)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_dp *intel_dp = intel_attached_dp(connector);
> + struct intel_dp *intel_dp =
> intel_attached_dp(to_intel_connector(connector));
> struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> struct intel_encoder *encoder = &dig_port->base;
> enum drm_connector_status status;
> @@ -5715,7 +5715,7 @@ intel_dp_detect(struct drm_connector
> *connector,
> static void
> intel_dp_force(struct drm_connector *connector)
> {
> - struct intel_dp *intel_dp = intel_attached_dp(connector);
> + struct intel_dp *intel_dp =
> intel_attached_dp(to_intel_connector(connector));
> struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> struct intel_encoder *intel_encoder = &dig_port->base;
> struct drm_i915_private *dev_priv = to_i915(intel_encoder-
> >base.dev);
> @@ -5750,7 +5750,7 @@ static int intel_dp_get_modes(struct
> drm_connector *connector)
> }
>
> /* if eDP has no EDID, fall back to fixed mode */
> - if (intel_dp_is_edp(intel_attached_dp(connector)) &&
> + if
> (intel_dp_is_edp(intel_attached_dp(to_intel_connector(connector))) &&
> intel_connector->panel.fixed_mode) {
> struct drm_display_mode *mode;
>
> @@ -5768,7 +5768,7 @@ static int intel_dp_get_modes(struct
> drm_connector *connector)
> static int
> intel_dp_connector_register(struct drm_connector *connector)
> {
> - struct intel_dp *intel_dp = intel_attached_dp(connector);
> + struct intel_dp *intel_dp =
> intel_attached_dp(to_intel_connector(connector));
> int ret;
>
> ret = intel_connector_register(connector);
> @@ -5790,7 +5790,7 @@ intel_dp_connector_register(struct
> drm_connector *connector)
> static void
> intel_dp_connector_unregister(struct drm_connector *connector)
> {
> - struct intel_dp *intel_dp = intel_attached_dp(connector);
> + struct intel_dp *intel_dp =
> intel_attached_dp(to_intel_connector(connector));
>
> drm_dp_cec_unregister_connector(&intel_dp->aux);
> drm_dp_aux_unregister(&intel_dp->aux);
> diff --git a/drivers/gpu/drm/i915/display/intel_dvo.c
> b/drivers/gpu/drm/i915/display/intel_dvo.c
> index a74dc5b915d1..86a337c9d85d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dvo.c
> +++ b/drivers/gpu/drm/i915/display/intel_dvo.c
> @@ -125,7 +125,7 @@ static struct intel_dvo *enc_to_dvo(struct
> intel_encoder *encoder)
> return container_of(encoder, struct intel_dvo, base);
> }
>
> -static struct intel_dvo *intel_attached_dvo(struct drm_connector
> *connector)
> +static struct intel_dvo *intel_attached_dvo(struct intel_connector
> *connector)
> {
> return enc_to_dvo(intel_attached_encoder(connector));
> }
> @@ -134,7 +134,7 @@ static bool
> intel_dvo_connector_get_hw_state(struct intel_connector *connector)
> {
> struct drm_device *dev = connector->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_dvo *intel_dvo = intel_attached_dvo(&connector-
> >base);
> + struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
> u32 tmp;
>
> tmp = I915_READ(intel_dvo->dev.dvo_reg);
> @@ -220,7 +220,7 @@ static enum drm_mode_status
> intel_dvo_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> - struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
> + struct intel_dvo *intel_dvo =
> intel_attached_dvo(to_intel_connector(connector));
> const struct drm_display_mode *fixed_mode =
> to_intel_connector(connector)->panel.fixed_mode;
> int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> @@ -311,7 +311,7 @@ static void intel_dvo_pre_enable(struct
> intel_encoder *encoder,
> static enum drm_connector_status
> intel_dvo_detect(struct drm_connector *connector, bool force)
> {
> - struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
> + struct intel_dvo *intel_dvo =
> intel_attached_dvo(to_intel_connector(connector));
> DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
> connector->base.id, connector->name);
> return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev);
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c
> b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index a89a09b25260..a8deb4789f04 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -92,7 +92,7 @@ struct intel_hdmi *enc_to_intel_hdmi(struct
> drm_encoder *encoder)
> return &intel_dig_port->hdmi;
> }
>
> -static struct intel_hdmi *intel_attached_hdmi(struct drm_connector
> *connector)
> +static struct intel_hdmi *intel_attached_hdmi(struct intel_connector
> *connector)
> {
> return enc_to_intel_hdmi(&intel_attached_encoder(connector)-
> >base);
> }
> @@ -2160,7 +2160,7 @@ static enum drm_mode_status
> intel_hdmi_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> - struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
> struct drm_device *dev = intel_hdmi_to_dev(hdmi);
> struct drm_i915_private *dev_priv = to_i915(dev);
> enum drm_mode_status status;
> @@ -2496,7 +2496,7 @@ int intel_hdmi_compute_config(struct
> intel_encoder *encoder,
> static void
> intel_hdmi_unset_edid(struct drm_connector *connector)
> {
> - struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *intel_hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
>
> intel_hdmi->has_hdmi_sink = false;
> intel_hdmi->has_audio = false;
> @@ -2512,7 +2512,7 @@ static void
> intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool
> has_edid)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
> enum port port = hdmi_to_dig_port(hdmi)->base.port;
> struct i2c_adapter *adapter =
> intel_gmbus_get_adapter(dev_priv, hdmi->ddc_bus);
> @@ -2559,7 +2559,7 @@ static bool
> intel_hdmi_set_edid(struct drm_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *intel_hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
> intel_wakeref_t wakeref;
> struct edid *edid;
> bool connected = false;
> @@ -2600,7 +2600,7 @@ intel_hdmi_detect(struct drm_connector
> *connector, bool force)
> {
> enum drm_connector_status status =
> connector_status_disconnected;
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *intel_hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
> struct intel_encoder *encoder = &hdmi_to_dig_port(intel_hdmi)-
> >base;
> intel_wakeref_t wakeref;
>
> @@ -2772,7 +2772,7 @@ static struct i2c_adapter *
> intel_hdmi_get_i2c_adapter(struct drm_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> - struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
> + struct intel_hdmi *intel_hdmi =
> intel_attached_hdmi(to_intel_connector(connector));
>
> return intel_gmbus_get_adapter(dev_priv, intel_hdmi->ddc_bus);
> }
> @@ -2816,7 +2816,7 @@ intel_hdmi_connector_register(struct
> drm_connector *connector)
>
> static void intel_hdmi_destroy(struct drm_connector *connector)
> {
> - struct cec_notifier *n = intel_attached_hdmi(connector)-
> >cec_notifier;
> + struct cec_notifier *n =
> intel_attached_hdmi(to_intel_connector(connector))->cec_notifier;
>
> cec_notifier_conn_unregister(n);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c
> b/drivers/gpu/drm/i915/display/intel_sdvo.c
> index 8758ee2a4442..e8819fd21e03 100644
> --- a/drivers/gpu/drm/i915/display/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/display/intel_sdvo.c
> @@ -180,7 +180,7 @@ static struct intel_sdvo *to_sdvo(struct
> intel_encoder *encoder)
> return container_of(encoder, struct intel_sdvo, base);
> }
>
> -static struct intel_sdvo *intel_attached_sdvo(struct drm_connector
> *connector)
> +static struct intel_sdvo *intel_attached_sdvo(struct intel_connector
> *connector)
> {
> return to_sdvo(intel_attached_encoder(connector));
> }
> @@ -1551,7 +1551,7 @@ static bool
> intel_sdvo_connector_get_hw_state(struct intel_connector *connector)
> {
> struct intel_sdvo_connector *intel_sdvo_connector =
> to_intel_sdvo_connector(&connector->base);
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(&connector-
> >base);
> + struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> u16 active_outputs = 0;
>
> intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs);
> @@ -1823,7 +1823,7 @@ static enum drm_mode_status
> intel_sdvo_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *intel_sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> struct intel_sdvo_connector *intel_sdvo_connector =
> to_intel_sdvo_connector(connector);
> int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> @@ -1941,7 +1941,7 @@ intel_sdvo_multifunc_encoder(struct intel_sdvo
> *intel_sdvo)
> static struct edid *
> intel_sdvo_get_edid(struct drm_connector *connector)
> {
> - struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> return drm_get_edid(connector, &sdvo->ddc);
> }
>
> @@ -1959,7 +1959,7 @@ intel_sdvo_get_analog_edid(struct drm_connector
> *connector)
> static enum drm_connector_status
> intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
> {
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *intel_sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> struct intel_sdvo_connector *intel_sdvo_connector =
> to_intel_sdvo_connector(connector);
> enum drm_connector_status status;
> @@ -2028,7 +2028,7 @@ static enum drm_connector_status
> intel_sdvo_detect(struct drm_connector *connector, bool force)
> {
> u16 response;
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *intel_sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> struct intel_sdvo_connector *intel_sdvo_connector =
> to_intel_sdvo_connector(connector);
> enum drm_connector_status ret;
>
> @@ -2175,7 +2175,7 @@ static const struct drm_display_mode
> sdvo_tv_modes[] = {
>
> static void intel_sdvo_get_tv_modes(struct drm_connector *connector)
> {
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *intel_sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> const struct drm_connector_state *conn_state = connector-
> >state;
> struct intel_sdvo_sdtv_resolution_request tv_res;
> u32 reply = 0, format_map = 0;
> @@ -2215,7 +2215,7 @@ static void intel_sdvo_get_tv_modes(struct
> drm_connector *connector)
>
> static void intel_sdvo_get_lvds_modes(struct drm_connector
> *connector)
> {
> - struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *intel_sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> struct drm_display_mode *newmode;
>
> @@ -2379,7 +2379,7 @@ intel_sdvo_connector_atomic_set_property(struct
> drm_connector *connector,
> static int
> intel_sdvo_connector_register(struct drm_connector *connector)
> {
> - struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
> int ret;
>
> ret = intel_connector_register(connector);
> @@ -2394,7 +2394,7 @@ intel_sdvo_connector_register(struct
> drm_connector *connector)
> static void
> intel_sdvo_connector_unregister(struct drm_connector *connector)
> {
> - struct intel_sdvo *sdvo = intel_attached_sdvo(connector);
> + struct intel_sdvo *sdvo =
> intel_attached_sdvo(to_intel_connector(connector));
>
> sysfs_remove_link(&connector->kdev->kobj,
> sdvo->ddc.dev.kobj.name);
> @@ -2932,7 +2932,7 @@ static void intel_sdvo_output_cleanup(struct
> intel_sdvo *intel_sdvo)
>
> list_for_each_entry_safe(connector, tmp,
> &dev->mode_config.connector_list,
> head) {
> - if (intel_attached_encoder(connector) == &intel_sdvo-
> >base) {
> + if
> (intel_attached_encoder(to_intel_connector(connector)) ==
> &intel_sdvo->base) {
> drm_connector_unregister(connector);
> intel_connector_destroy(connector);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_tv.c
> b/drivers/gpu/drm/i915/display/intel_tv.c
> index 50703536436c..5cd0719758d9 100644
> --- a/drivers/gpu/drm/i915/display/intel_tv.c
> +++ b/drivers/gpu/drm/i915/display/intel_tv.c
> @@ -898,7 +898,7 @@ static struct intel_tv *enc_to_tv(struct
> intel_encoder *encoder)
> return container_of(encoder, struct intel_tv, base);
> }
>
> -static struct intel_tv *intel_attached_tv(struct drm_connector
> *connector)
> +static struct intel_tv *intel_attached_tv(struct intel_connector
> *connector)
> {
> return enc_to_tv(intel_attached_encoder(connector));
> }
> @@ -1662,7 +1662,7 @@ intel_tv_detect_type(struct intel_tv *intel_tv,
> */
> static void intel_tv_find_better_format(struct drm_connector
> *connector)
> {
> - struct intel_tv *intel_tv = intel_attached_tv(connector);
> + struct intel_tv *intel_tv =
> intel_attached_tv(to_intel_connector(connector));
> const struct tv_mode *tv_mode = intel_tv_mode_find(connector-
> >state);
> int i;
>
> @@ -1689,7 +1689,7 @@ intel_tv_detect(struct drm_connector
> *connector,
> struct drm_modeset_acquire_ctx *ctx,
> bool force)
> {
> - struct intel_tv *intel_tv = intel_attached_tv(connector);
> + struct intel_tv *intel_tv =
> intel_attached_tv(to_intel_connector(connector));
> enum drm_connector_status status;
> int type;
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
> b/drivers/gpu/drm/i915/i915_debugfs.c
> index eb80a2c4b55b..4f543ccec15d 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct
> seq_file *m, void *data)
> struct drm_connector *connector = m->private;
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(connector)-
> >base);
> + enc_to_intel_dp(&intel_attached_encoder(to_intel_connec
> tor(connector))->base);
> int ret;
>
> if (!CAN_PSR(dev_priv)) {
> @@ -3055,7 +3055,7 @@ static int i915_dp_mst_info(struct seq_file *m,
> void *unused)
> if (connector->connector_type !=
> DRM_MODE_CONNECTOR_DisplayPort)
> continue;
>
> - intel_encoder = intel_attached_encoder(connector);
> + intel_encoder =
> intel_attached_encoder(to_intel_connector(connector));
> if (!intel_encoder || intel_encoder->type ==
> INTEL_OUTPUT_DP_MST)
> continue;
>
> @@ -4185,7 +4185,7 @@ static int i915_drrs_ctl_set(void *data, u64
> val)
> drm_connector_mask(connector)))
> continue;
>
> - encoder = intel_attached_encoder(connector);
> + encoder =
> intel_attached_encoder(to_intel_connector(connector));
> if (encoder->type != INTEL_OUTPUT_EDP)
> continue;
>
> @@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m,
> void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(connector)-
> >base);
> + enc_to_intel_dp(&intel_attached_encoder(to_intel_connec
> tor(connector))->base);
> u8 buf[16];
> ssize_t err;
> int i;
> @@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m,
> void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(&intel_attached_encoder(connector)-
> >base);
> + enc_to_intel_dp(&intel_attached_encoder(to_intel_connec
> tor(connector))->base);
>
> if (connector->status != connector_status_connected)
> return -ENODEV;
> @@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct
> seq_file *m, void *data)
> } else if (ret) {
> break;
> }
> - intel_dp =
> enc_to_intel_dp(&intel_attached_encoder(connector)->base);
> + intel_dp =
> enc_to_intel_dp(&intel_attached_encoder(to_intel_connector(connector)
> )->base);
> crtc_state = to_intel_crtc_state(crtc->state);
> seq_printf(m, "DSC_Enabled: %s\n",
> yesno(crtc_state->dsc.compression_enable));
> @@ -4536,7 +4536,7 @@ static ssize_t
> i915_dsc_fec_support_write(struct file *file,
> int ret;
> struct drm_connector *connector =
> ((struct seq_file *)file->private_data)->private;
> - struct intel_encoder *encoder =
> intel_attached_encoder(connector);
> + struct intel_encoder *encoder =
> intel_attached_encoder(to_intel_connector(connector));
> struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
>
> if (len == 0)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp() Ville Syrjala
@ 2020-01-13 13:53 ` Kahola, Mika
0 siblings, 0 replies; 27+ messages in thread
From: Kahola, Mika @ 2020-01-13 13:53 UTC (permalink / raw)
To: ville.syrjala, intel-gfx
On Wed, 2019-12-04 at 20:05 +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> We have uses for intel_attached_dp() outside of intel_dp.c. Move
> it to a header.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_types.h | 5 +++++
> drivers/gpu/drm/i915/display/intel_dp.c | 5 -----
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 79c7454ff510..92bd3d04ad80 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1483,6 +1483,11 @@ static inline struct intel_dp
> *enc_to_intel_dp(struct intel_encoder *encoder)
> return &enc_to_dig_port(encoder)->dp;
> }
>
> +static inline struct intel_dp *intel_attached_dp(struct
> intel_connector *connector)
> +{
> + return enc_to_intel_dp(intel_attached_encoder(connector));
> +}
> +
> static inline bool intel_encoder_is_dp(struct intel_encoder
> *encoder)
> {
> switch (encoder->type) {
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 93f3d232fcb5..50b9b81d37db 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -146,11 +146,6 @@ bool intel_dp_is_edp(struct intel_dp *intel_dp)
> return intel_dig_port->base.type == INTEL_OUTPUT_EDP;
> }
>
> -static struct intel_dp *intel_attached_dp(struct intel_connector
> *connector)
> -{
> - return enc_to_intel_dp(intel_attached_encoder(connector));
> -}
> -
> static void intel_dp_link_down(struct intel_encoder *encoder,
> const struct intel_crtc_state
> *old_crtc_state);
> static bool edp_panel_vdd_on(struct intel_dp *intel_dp);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it
2019-12-04 18:05 ` [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it Ville Syrjala
@ 2020-01-21 14:46 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 27+ messages in thread
From: Juha-Pekka Heikkila @ 2020-01-21 14:46 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 4.12.2019 20.05, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Replace the hand rolled intel_attached_dp() with the real thing.
>
> @@
> identifier F !~ "^intel_attached_dp$";
> expression C;
> @@
> F(...)
> {
> <...
> - enc_to_intel_dp(intel_attached_encoder(C))
> + intel_attached_dp(C)
> ...>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 2 +-
> .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
> drivers/gpu/drm/i915/i915_debugfs.c | 8 ++++----
> 3 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index df1b80387106..ec292ccb6eaf 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -14505,7 +14505,7 @@ static void intel_set_dp_tp_ctl_normal(struct intel_crtc *crtc,
> if (conn_state->crtc == &crtc->base)
> break;
> }
> - intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(conn)));
> + intel_dp = intel_attached_dp(to_intel_connector(conn));
> intel_dp_stop_link_train(intel_dp);
> }
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index 771e22a0b2a4..1e69c5bbe65b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
> */
> static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> u8 read_val[2] = { 0x0 };
> u16 level = 0;
>
> @@ -82,7 +82,7 @@ static void
> intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> u8 vals[2] = { 0x0 };
>
> vals[0] = level;
> @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
> static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
> u8 pn, pn_min, pn_max;
>
> @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> const struct drm_connector_state *conn_state)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
>
> if (drm_dp_dpcd_readb(&intel_dp->aux,
> @@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
> static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> enum pipe pipe)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
> struct intel_panel *panel = &connector->panel;
>
> if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> @@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> static bool
> intel_dp_aux_display_control_capable(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> + struct intel_dp *intel_dp = intel_attached_dp(connector);
>
> /* Check the eDP Display control capabilities registers to determine if
> * the panel can support backlight control over the aux channel
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index d8c2fa2672b5..5de5dacef394 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2020,7 +2020,7 @@ static int i915_psr_sink_status_show(struct seq_file *m, void *data)
> struct drm_connector *connector = m->private;
> struct drm_i915_private *dev_priv = to_i915(connector->dev);
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> + intel_attached_dp(to_intel_connector(connector));
> int ret;
>
> if (!CAN_PSR(dev_priv)) {
> @@ -4396,7 +4396,7 @@ static int i915_dpcd_show(struct seq_file *m, void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> + intel_attached_dp(to_intel_connector(connector));
> u8 buf[16];
> ssize_t err;
> int i;
> @@ -4431,7 +4431,7 @@ static int i915_panel_show(struct seq_file *m, void *data)
> {
> struct drm_connector *connector = m->private;
> struct intel_dp *intel_dp =
> - enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> + intel_attached_dp(to_intel_connector(connector));
>
> if (connector->status != connector_status_connected)
> return -ENODEV;
> @@ -4509,7 +4509,7 @@ static int i915_dsc_fec_support_show(struct seq_file *m, void *data)
> } else if (ret) {
> break;
> }
> - intel_dp = enc_to_intel_dp(intel_attached_encoder(to_intel_connector(connector)));
> + intel_dp = intel_attached_dp(to_intel_connector(connector));
> crtc_state = to_intel_crtc_state(crtc->state);
> seq_printf(m, "DSC_Enabled: %s\n",
> yesno(crtc_state->dsc.compression_enable));
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port() Ville Syrjala
@ 2020-01-21 14:46 ` Juha-Pekka Heikkila
0 siblings, 0 replies; 27+ messages in thread
From: Juha-Pekka Heikkila @ 2020-01-21 14:46 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 4.12.2019 20.05, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Use the standard naming convention and rename conn_to_dig_port()
> to intel_attached_dig_port().
>
> @@
> @@
> - conn_to_dig_port
> + intel_attached_dig_port
> (...)
> {
> ...
> }
>
> @@
> expression C;
> @@
> - conn_to_dig_port(C)
> + intel_attached_dig_port(C)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> .../drm/i915/display/intel_display_types.h | 2 +-
> drivers/gpu/drm/i915/display/intel_hdcp.c | 32 +++++++++----------
> drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +-
> 3 files changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 92bd3d04ad80..1f8f47c69502 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1466,7 +1466,7 @@ enc_to_dig_port(struct intel_encoder *encoder)
> }
>
> static inline struct intel_digital_port *
> -conn_to_dig_port(struct intel_connector *connector)
> +intel_attached_dig_port(struct intel_connector *connector)
> {
> return enc_to_dig_port(intel_attached_encoder(connector));
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 2859230671ae..4b73227644f0 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -64,7 +64,7 @@ int intel_hdcp_read_valid_bksv(struct intel_digital_port *intel_dig_port,
> /* Is HDCP1.4 capable on Platform and Sink */
> bool intel_hdcp_capable(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> const struct intel_hdcp_shim *shim = connector->hdcp.shim;
> bool capable = false;
> u8 bksv[5];
> @@ -86,7 +86,7 @@ bool intel_hdcp_capable(struct intel_connector *connector)
> bool intel_hdcp2_capable(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> bool capable = false;
>
> @@ -297,7 +297,7 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
> const struct intel_hdcp_shim *shim,
> u8 *ksv_fifo, u8 num_downstream, u8 *bstatus)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv;
> enum transcoder cpu_transcoder = connector->hdcp.cpu_transcoder;
> enum port port = intel_dig_port->base.port;
> @@ -513,7 +513,7 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
> static
> int intel_hdcp_auth_downstream(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> const struct intel_hdcp_shim *shim = connector->hdcp.shim;
> struct drm_device *dev = connector->base.dev;
> u8 bstatus[2], num_downstream, *ksv_fifo;
> @@ -592,7 +592,7 @@ int intel_hdcp_auth_downstream(struct intel_connector *connector)
> /* Implements Part 1 of the HDCP authorization procedure */
> static int intel_hdcp_auth(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct drm_device *dev = connector->base.dev;
> const struct intel_hdcp_shim *shim = hdcp->shim;
> @@ -757,7 +757,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
> {
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
> @@ -838,7 +838,7 @@ static int intel_hdcp_check_link(struct intel_connector *connector)
> {
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct drm_i915_private *dev_priv = connector->base.dev->dev_private;
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> enum port port = intel_dig_port->base.port;
> enum transcoder cpu_transcoder;
> int ret = 0;
> @@ -1209,7 +1209,7 @@ static int hdcp2_deauthenticate_port(struct intel_connector *connector)
> /* Authentication flow starts from here */
> static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct drm_device *dev = connector->base.dev;
> union {
> @@ -1297,7 +1297,7 @@ static int hdcp2_authentication_key_exchange(struct intel_connector *connector)
>
> static int hdcp2_locality_check(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> union {
> struct hdcp2_lc_init lc_init;
> @@ -1333,7 +1333,7 @@ static int hdcp2_locality_check(struct intel_connector *connector)
>
> static int hdcp2_session_key_exchange(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct hdcp2_ske_send_eks send_eks;
> int ret;
> @@ -1353,7 +1353,7 @@ static int hdcp2_session_key_exchange(struct intel_connector *connector)
> static
> int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> union {
> struct hdcp2_rep_stream_manage stream_manage;
> @@ -1404,7 +1404,7 @@ int hdcp2_propagate_stream_management_info(struct intel_connector *connector)
> static
> int hdcp2_authenticate_repeater_topology(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> struct drm_device *dev = connector->base.dev;
> union {
> @@ -1475,7 +1475,7 @@ static int hdcp2_authenticate_repeater(struct intel_connector *connector)
>
> static int hdcp2_authenticate_sink(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct intel_hdcp *hdcp = &connector->hdcp;
> const struct intel_hdcp_shim *shim = hdcp->shim;
> int ret;
> @@ -1524,7 +1524,7 @@ static int hdcp2_authenticate_sink(struct intel_connector *connector)
>
> static int hdcp2_enable_encryption(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> enum port port = intel_attached_encoder(connector)->port;
> @@ -1562,7 +1562,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
>
> static int hdcp2_disable_encryption(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> enum port port = intel_attached_encoder(connector)->port;
> @@ -1673,7 +1673,7 @@ static int _intel_hdcp2_disable(struct intel_connector *connector)
> /* Implements the Link Integrity Check for HDCP2.2 */
> static int intel_hdcp2_check_link(struct intel_connector *connector)
> {
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> enum port port = intel_attached_encoder(connector)->port;
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index e179ee046687..53a32165c5ff 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1447,7 +1447,7 @@ int intel_hdmi_hdcp_read_v_prime_part(struct intel_digital_port *intel_dig_port,
> static int kbl_repositioning_enc_en_signal(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> + struct intel_digital_port *intel_dig_port = intel_attached_dig_port(connector);
> struct drm_crtc *crtc = connector->base.state->crtc;
> struct intel_crtc *intel_crtc = container_of(crtc,
> struct intel_crtc, base);
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder()
2019-12-04 18:05 ` [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() Ville Syrjala
2019-12-05 10:59 ` Ramalingam C
@ 2020-01-21 15:49 ` Juha-Pekka Heikkila
1 sibling, 0 replies; 27+ messages in thread
From: Juha-Pekka Heikkila @ 2020-01-21 15:49 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
On 4.12.2019 20.05, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> It's easy to confuse the drm_connector->encoder (legacy state
> adjusted during modeset) and intel_connector->encoder (the statically
> (sans. MST) attached encoder of the connector). For the latter
> let's use intel_attached_encoder() consistently.
>
> @@
> identifier F !~ "^intel_attached_encoder$";
> struct intel_connector *C;
> expression E;
> @@
> F(...)
> {
> <...
> (
> C->encoder = E
> |
> - C->encoder
> + intel_attached_encoder(C)
> )
> ...>
> }
>
> @@
> identifier F !~ "^intel_attached_encoder$";
> struct drm_connector *C;
> expression E;
> @@
> F(...)
> {
> <...
> (
> to_intel_connector(C)->encoder = E
> |
> - to_intel_connector(C)->encoder
> + intel_attached_encoder(to_intel_connector(C))
> )
> ...>
> }
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_connector.c | 2 +-
> drivers/gpu/drm/i915/display/intel_ddi.c | 2 +-
> drivers/gpu/drm/i915/display/intel_display.c | 4 ++--
> .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 12 ++++++------
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++--
> .../gpu/drm/i915/display/intel_dsi_dcs_backlight.c | 4 ++--
> drivers/gpu/drm/i915/display/intel_hdcp.c | 8 ++++----
> drivers/gpu/drm/i915/display/intel_hotplug.c | 10 +++++-----
> drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +-
> drivers/gpu/drm/i915/i915_debugfs.c | 6 +++---
> 10 files changed, 27 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
> index 1133c4e97bb4..54891a4ed2f3 100644
> --- a/drivers/gpu/drm/i915/display/intel_connector.c
> +++ b/drivers/gpu/drm/i915/display/intel_connector.c
> @@ -153,7 +153,7 @@ void intel_connector_attach_encoder(struct intel_connector *connector,
> bool intel_connector_get_hw_state(struct intel_connector *connector)
> {
> enum pipe pipe = 0;
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
>
> return encoder->get_hw_state(encoder, &pipe);
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 52d187db320f..3e46017150b4 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2003,7 +2003,7 @@ bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector)
> {
> struct drm_device *dev = intel_connector->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_encoder *encoder = intel_connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
> int type = intel_connector->base.connector_type;
> enum port port = encoder->port;
> enum transcoder cpu_transcoder;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 45568a7c6579..df1b80387106 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7279,7 +7279,7 @@ static void intel_connector_verify_state(struct intel_crtc_state *crtc_state,
> connector->base.name);
>
> if (connector->get_hw_state(connector)) {
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
>
> I915_STATE_WARN(!crtc_state,
> "connector enabled without attached crtc\n");
> @@ -17529,7 +17529,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
>
> connector->base.dpms = DRM_MODE_DPMS_ON;
>
> - encoder = connector->encoder;
> + encoder = intel_attached_encoder(connector);
> connector->base.encoder = &encoder->base;
>
> crtc = to_intel_crtc(encoder->base.crtc);
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> index 7c653f8c307f..771e22a0b2a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -57,7 +57,7 @@ static void set_aux_backlight_enable(struct intel_dp *intel_dp, bool enable)
> */
> static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 read_val[2] = { 0x0 };
> u16 level = 0;
>
> @@ -82,7 +82,7 @@ static void
> intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 level)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 vals[2] = { 0x0 };
>
> vals[0] = level;
> @@ -110,7 +110,7 @@ intel_dp_aux_set_backlight(const struct drm_connector_state *conn_state, u32 lev
> static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
> u8 pn, pn_min, pn_max;
>
> @@ -178,7 +178,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
> const struct drm_connector_state *conn_state)
> {
> struct intel_connector *connector = to_intel_connector(conn_state->connector);
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
>
> if (drm_dp_dpcd_readb(&intel_dp->aux,
> @@ -229,7 +229,7 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
> static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> enum pipe pipe)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
> struct intel_panel *panel = &connector->panel;
>
> if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
> @@ -248,7 +248,7 @@ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
> static bool
> intel_dp_aux_display_control_capable(struct intel_connector *connector)
> {
> - struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
> + struct intel_dp *intel_dp = enc_to_intel_dp(intel_attached_encoder(connector));
>
> /* Check the eDP Display control capabilities registers to determine if
> * the panel can support backlight control over the aux channel
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index af7f6d670e07..1a7d69843c12 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -503,9 +503,9 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
>
> static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
> {
> - if (connector->encoder && connector->base.state->crtc) {
> + if (intel_attached_encoder(connector) && connector->base.state->crtc) {
> enum pipe pipe;
> - if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
> + if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe))
> return false;
> return true;
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> index c87838843d0b..ac3eff26df12 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.c
> @@ -45,7 +45,7 @@
>
> static u32 dcs_get_backlight(struct intel_connector *connector)
> {
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> struct mipi_dsi_device *dsi_device;
> u8 data = 0;
> @@ -160,7 +160,7 @@ int intel_dsi_dcs_init_backlight_funcs(struct intel_connector *intel_connector)
> {
> struct drm_device *dev = intel_connector->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_encoder *encoder = intel_connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(intel_connector);
> struct intel_panel *panel = &intel_connector->panel;
>
> if (dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_DSI_DCS)
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 0fdbd39f6641..2859230671ae 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -1527,7 +1527,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1565,7 +1565,7 @@ static int hdcp2_disable_encryption(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
> int ret;
>
> @@ -1676,7 +1676,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
> struct intel_digital_port *intel_dig_port = conn_to_dig_port(connector);
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> struct intel_hdcp *hdcp = &connector->hdcp;
> - enum port port = connector->encoder->port;
> + enum port port = intel_attached_encoder(connector)->port;
> enum transcoder cpu_transcoder;
> int ret = 0;
>
> @@ -1830,7 +1830,7 @@ static inline int initialize_hdcp_port_data(struct intel_connector *connector,
>
> if (INTEL_GEN(dev_priv) < 12)
> data->fw_ddi =
> - intel_get_mei_fw_ddi_index(connector->encoder->port);
> + intel_get_mei_fw_ddi_index(intel_attached_encoder(connector)->port);
> else
> /*
> * As per ME FW API expectation, for GEN 12+, fw_ddi is filled
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index 99d3a3c7989e..c3a48af35997 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -200,7 +200,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
> continue;
>
> intel_connector = to_intel_connector(connector);
> - intel_encoder = intel_connector->encoder;
> + intel_encoder = intel_attached_encoder(intel_connector);
> if (!intel_encoder)
> continue;
>
> @@ -255,7 +255,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>
> /* Don't check MST ports, they don't have pins */
> if (!intel_connector->mst_port &&
> - intel_connector->encoder->hpd_pin == pin) {
> + intel_attached_encoder(intel_connector)->hpd_pin == pin) {
> if (connector->polled != intel_connector->polled)
> DRM_DEBUG_DRIVER("Reenabling HPD on connector %s\n",
> connector->name);
> @@ -389,9 +389,9 @@ static void i915_hotplug_work_func(struct work_struct *work)
> u32 hpd_bit;
>
> intel_connector = to_intel_connector(connector);
> - if (!intel_connector->encoder)
> + if (!intel_attached_encoder(intel_connector))
> continue;
> - intel_encoder = intel_connector->encoder;
> + intel_encoder = intel_attached_encoder(intel_connector);
> hpd_bit = BIT(intel_encoder->hpd_pin);
> if ((hpd_event_bits | hpd_retry_bits) & hpd_bit) {
> DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
> @@ -621,7 +621,7 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
> continue;
>
> if (!connector->polled && I915_HAS_HOTPLUG(dev_priv) &&
> - intel_connector->encoder->hpd_pin > HPD_NONE) {
> + intel_attached_encoder(intel_connector)->hpd_pin > HPD_NONE) {
> connector->polled = enabled ?
> DRM_CONNECTOR_POLL_CONNECT |
> DRM_CONNECTOR_POLL_DISCONNECT :
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index 0c19064e42e0..535b332b067d 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -1567,7 +1567,7 @@ static enum drm_panel_orientation
> vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
> {
> struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> - struct intel_encoder *encoder = connector->encoder;
> + struct intel_encoder *encoder = intel_attached_encoder(connector);
> enum intel_display_power_domain power_domain;
> enum drm_panel_orientation orientation;
> struct intel_plane *plane;
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 3bc8d5c0e88a..d8c2fa2672b5 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2431,7 +2431,7 @@ static void intel_hdcp_info(struct seq_file *m,
> static void intel_dp_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>
> seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
> @@ -2450,7 +2450,7 @@ static void intel_dp_info(struct seq_file *m,
> static void intel_dp_mst_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> struct intel_dp_mst_encoder *intel_mst =
> enc_to_mst(intel_encoder);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> @@ -2464,7 +2464,7 @@ static void intel_dp_mst_info(struct seq_file *m,
> static void intel_hdmi_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> + struct intel_encoder *intel_encoder = intel_attached_encoder(intel_connector);
> struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(intel_encoder);
>
> seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2020-01-21 15:49 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-04 18:05 [Intel-gfx] [PATCH 0/9] drm/i915: Cleanups around intel_attached_encoder() & co Ville Syrjala
2019-12-04 18:05 ` [Intel-gfx] [PATCH 1/9] drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() Ville Syrjala
2019-12-05 9:33 ` Ramalingam C
2019-12-04 18:05 ` [Intel-gfx] [PATCH 2/9] drm/i915: Pass intel_connector to intel_attached_*() Ville Syrjala
2020-01-09 7:28 ` Kahola, Mika
2019-12-04 18:05 ` [Intel-gfx] [PATCH 3/9] drm/i915: Pass intel_encoder to enc_to_*() Ville Syrjala
2019-12-18 20:41 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 4/9] drm/i915: Use the passed in encoder Ville Syrjala
2019-12-05 10:24 ` Ramalingam C
2019-12-04 18:05 ` [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() Ville Syrjala
2019-12-05 10:59 ` Ramalingam C
2019-12-05 11:04 ` Ramalingam C
2019-12-09 15:52 ` Ville Syrjälä
2020-01-21 15:49 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 6/9] drm/i915: Relocate intel_attached_dp() Ville Syrjala
2020-01-13 13:53 ` Kahola, Mika
2019-12-04 18:05 ` [Intel-gfx] [PATCH 7/9] drm/i915: Use intel_attached_dp() instead of hand rolling it Ville Syrjala
2020-01-21 14:46 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 8/9] drm/i915: Rename conn_to_dig_port() to intel_attached_dig_port() Ville Syrjala
2020-01-21 14:46 ` Juha-Pekka Heikkila
2019-12-04 18:05 ` [Intel-gfx] [PATCH 9/9] drm/i915/hdcp: Clean up local variables Ville Syrjala
2019-12-05 10:22 ` Ramalingam C
2019-12-04 23:48 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co Patchwork
2019-12-05 0:15 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2019-12-05 11:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Cleanups around intel_attached_encoder() & co. (rev2) Patchwork
2019-12-05 12:19 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2019-12-05 15:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
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.