Message ID | ad036d2f267ab49b7943f46dad94c0f34e9f2d84.1729612605.git.jani.nikula@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915/display: bunch of struct intel_display conversions | expand |
On Tue, Oct 22, 2024 at 06:57:21PM +0300, Jani Nikula wrote: > There are some unconverted stragglers left in the HDCP API still using > struct drm_i915_private. Convert to struct intel_display. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > --- > .../drm/i915/display/intel_display_driver.c | 7 +++-- > drivers/gpu/drm/i915/display/intel_dp.c | 3 +- > drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 ++-- > drivers/gpu/drm/i915/display/intel_hdcp.c | 30 ++++++++----------- > drivers/gpu/drm/i915/display/intel_hdcp.h | 10 +++---- > drivers/gpu/drm/i915/display/intel_hdmi.c | 3 +- > drivers/gpu/drm/xe/display/xe_display.c | 4 ++- > 7 files changed, 30 insertions(+), 32 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c > index ae5470078173..3b37a8a69201 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_driver.c > +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c > @@ -485,7 +485,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915) > return 0; > > err_hdcp: > - intel_hdcp_component_fini(i915); > + intel_hdcp_component_fini(display); > err_mode_config: > intel_mode_config_cleanup(i915); > > @@ -495,6 +495,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915) > /* part #3: call after gem init */ > int intel_display_driver_probe(struct drm_i915_private *i915) > { > + struct intel_display *display = &i915->display; > int ret; > > if (!HAS_DISPLAY(i915)) > @@ -505,7 +506,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915) > * the BIOS fb takeover and whatever else magic ggtt reservations > * happen during gem/ggtt init. > */ > - intel_hdcp_component_init(i915); > + intel_hdcp_component_init(display); > > /* > * Force all active planes to recompute their states. So that on > @@ -600,7 +601,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915) > /* flush any delayed tasks or pending work */ > flush_workqueue(i915->unordered_wq); > > - intel_hdcp_component_fini(i915); > + intel_hdcp_component_fini(display); > > intel_mode_config_cleanup(i915); > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 6aba1d03a9d2..df3aa5fe3441 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -6415,6 +6415,7 @@ bool > intel_dp_init_connector(struct intel_digital_port *dig_port, > struct intel_connector *intel_connector) > { > + struct intel_display *display = to_intel_display(dig_port); > struct drm_connector *connector = &intel_connector->base; > struct intel_dp *intel_dp = &dig_port->dp; > struct intel_encoder *intel_encoder = &dig_port->base; > @@ -6504,7 +6505,7 @@ intel_dp_init_connector(struct intel_digital_port *dig_port, > > intel_dp_add_properties(intel_dp, connector); > > - if (is_hdcp_supported(dev_priv, port) && !intel_dp_is_edp(intel_dp)) { > + if (is_hdcp_supported(display, port) && !intel_dp_is_edp(intel_dp)) { > int ret = intel_dp_hdcp_init(dig_port, intel_connector); > if (ret) > drm_dbg_kms(&dev_priv->drm, > diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > index dce645a07cdb..5d77adaaf566 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > @@ -873,13 +873,12 @@ static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = { > int intel_dp_hdcp_init(struct intel_digital_port *dig_port, > struct intel_connector *intel_connector) > { > - struct drm_device *dev = intel_connector->base.dev; > - struct drm_i915_private *dev_priv = to_i915(dev); > + struct intel_display *display = to_intel_display(dig_port); > struct intel_encoder *intel_encoder = &dig_port->base; > enum port port = intel_encoder->port; > struct intel_dp *intel_dp = &dig_port->dp; > > - if (!is_hdcp_supported(dev_priv, port)) > + if (!is_hdcp_supported(display, port)) > return 0; > > if (intel_connector->mst_port) > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index ed6aa87403e2..870084af92d0 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -1192,10 +1192,10 @@ static void intel_hdcp_prop_work(struct work_struct *work) > drm_connector_put(&connector->base); > } > > -bool is_hdcp_supported(struct drm_i915_private *i915, enum port port) > +bool is_hdcp_supported(struct intel_display *display, enum port port) > { > - return DISPLAY_RUNTIME_INFO(i915)->has_hdcp && > - (DISPLAY_VER(i915) >= 12 || port < PORT_E); > + return DISPLAY_RUNTIME_INFO(display)->has_hdcp && > + (DISPLAY_VER(display) >= 12 || port < PORT_E); > } > > static int > @@ -2301,9 +2301,9 @@ static int initialize_hdcp_port_data(struct intel_connector *connector, > return 0; > } > > -static bool is_hdcp2_supported(struct drm_i915_private *i915) > +static bool is_hdcp2_supported(struct intel_display *display) > { > - struct intel_display *display = to_intel_display(&i915->drm); > + struct drm_i915_private *i915 = to_i915(display->drm); > > if (intel_hdcp_gsc_cs_required(display)) > return true; > @@ -2317,12 +2317,11 @@ static bool is_hdcp2_supported(struct drm_i915_private *i915) > IS_COMETLAKE(i915)); > } > > -void intel_hdcp_component_init(struct drm_i915_private *i915) > +void intel_hdcp_component_init(struct intel_display *display) > { > - struct intel_display *display = to_intel_display(&i915->drm); > int ret; > > - if (!is_hdcp2_supported(i915)) > + if (!is_hdcp2_supported(display)) > return; > > mutex_lock(&display->hdcp.hdcp_mutex); > @@ -2367,19 +2366,18 @@ int intel_hdcp_init(struct intel_connector *connector, > struct intel_digital_port *dig_port, > const struct intel_hdcp_shim *shim) > { > - struct drm_i915_private *i915 = to_i915(connector->base.dev); > + struct intel_display *display = to_intel_display(connector); > struct intel_hdcp *hdcp = &connector->hdcp; > int ret; > > if (!shim) > return -EINVAL; > > - if (is_hdcp2_supported(i915)) > + if (is_hdcp2_supported(display)) > intel_hdcp2_init(connector, dig_port, shim); > > - ret = > - drm_connector_attach_content_protection_property(&connector->base, > - hdcp->hdcp2_supported); > + ret = drm_connector_attach_content_protection_property(&connector->base, > + hdcp->hdcp2_supported); > if (ret) { > hdcp->hdcp2_supported = false; > kfree(dig_port->hdcp_port_data.streams); > @@ -2432,7 +2430,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state, > hdcp->stream_transcoder = INVALID_TRANSCODER; > } > > - if (DISPLAY_VER(i915) >= 12) > + if (DISPLAY_VER(display) >= 12) > dig_port->hdcp_port_data.hdcp_transcoder = > intel_get_hdcp_transcoder(hdcp->cpu_transcoder); > > @@ -2583,10 +2581,8 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, > _intel_hdcp_enable(state, encoder, crtc_state, conn_state); > } > > -void intel_hdcp_component_fini(struct drm_i915_private *i915) > +void intel_hdcp_component_fini(struct intel_display *display) > { > - struct intel_display *display = to_intel_display(&i915->drm); > - > mutex_lock(&display->hdcp.hdcp_mutex); > if (!display->hdcp.comp_added) { > mutex_unlock(&display->hdcp.hdcp_mutex); > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.h b/drivers/gpu/drm/i915/display/intel_hdcp.h > index 477f2d2bb120..d99830cfb798 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.h > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.h > @@ -12,13 +12,13 @@ > > struct drm_connector; > struct drm_connector_state; > -struct drm_i915_private; > struct intel_atomic_state; > struct intel_connector; > struct intel_crtc_state; > +struct intel_digital_port; > +struct intel_display; > struct intel_encoder; > struct intel_hdcp_shim; > -struct intel_digital_port; > enum port; > enum transcoder; > > @@ -37,14 +37,14 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, > struct intel_encoder *encoder, > const struct intel_crtc_state *crtc_state, > const struct drm_connector_state *conn_state); > -bool is_hdcp_supported(struct drm_i915_private *i915, enum port port); > +bool is_hdcp_supported(struct intel_display *display, enum port port); > bool intel_hdcp_get_capability(struct intel_connector *connector); > bool intel_hdcp2_get_capability(struct intel_connector *connector); > void intel_hdcp_get_remote_capability(struct intel_connector *connector, > bool *hdcp_capable, > bool *hdcp2_capable); > -void intel_hdcp_component_init(struct drm_i915_private *i915); > -void intel_hdcp_component_fini(struct drm_i915_private *i915); > +void intel_hdcp_component_init(struct intel_display *display); > +void intel_hdcp_component_fini(struct intel_display *display); > void intel_hdcp_cleanup(struct intel_connector *connector); > void intel_hdcp_handle_cp_irq(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 022ba3635101..665b980cc74d 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -3025,7 +3025,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port, > struct intel_hdmi *intel_hdmi = &dig_port->hdmi; > struct intel_encoder *intel_encoder = &dig_port->base; > struct drm_device *dev = intel_encoder->base.dev; > - struct drm_i915_private *dev_priv = to_i915(dev); > enum port port = intel_encoder->port; > struct cec_connector_info conn_info; > u8 ddc_pin; > @@ -3075,7 +3074,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port, > intel_connector_attach_encoder(intel_connector, intel_encoder); > intel_hdmi->attached_connector = intel_connector; > > - if (is_hdcp_supported(dev_priv, port)) { > + if (is_hdcp_supported(display, port)) { > int ret = intel_hdcp_init(intel_connector, dig_port, > &intel_hdmi_hdcp_shim); > if (ret) > diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c > index 695c27ac6b0f..b5502f335f53 100644 > --- a/drivers/gpu/drm/xe/display/xe_display.c > +++ b/drivers/gpu/drm/xe/display/xe_display.c > @@ -202,12 +202,14 @@ int xe_display_init(struct xe_device *xe) > > void xe_display_fini(struct xe_device *xe) > { > + struct intel_display *display = &xe->display; > + > if (!xe->info.probe_display) > return; > > intel_hpd_poll_fini(xe); > > - intel_hdcp_component_fini(xe); > + intel_hdcp_component_fini(display); > intel_audio_deinit(xe); > } > > -- > 2.39.5 >
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c index ae5470078173..3b37a8a69201 100644 --- a/drivers/gpu/drm/i915/display/intel_display_driver.c +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c @@ -485,7 +485,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915) return 0; err_hdcp: - intel_hdcp_component_fini(i915); + intel_hdcp_component_fini(display); err_mode_config: intel_mode_config_cleanup(i915); @@ -495,6 +495,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915) /* part #3: call after gem init */ int intel_display_driver_probe(struct drm_i915_private *i915) { + struct intel_display *display = &i915->display; int ret; if (!HAS_DISPLAY(i915)) @@ -505,7 +506,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915) * the BIOS fb takeover and whatever else magic ggtt reservations * happen during gem/ggtt init. */ - intel_hdcp_component_init(i915); + intel_hdcp_component_init(display); /* * Force all active planes to recompute their states. So that on @@ -600,7 +601,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915) /* flush any delayed tasks or pending work */ flush_workqueue(i915->unordered_wq); - intel_hdcp_component_fini(i915); + intel_hdcp_component_fini(display); intel_mode_config_cleanup(i915); diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 6aba1d03a9d2..df3aa5fe3441 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -6415,6 +6415,7 @@ bool intel_dp_init_connector(struct intel_digital_port *dig_port, struct intel_connector *intel_connector) { + struct intel_display *display = to_intel_display(dig_port); struct drm_connector *connector = &intel_connector->base; struct intel_dp *intel_dp = &dig_port->dp; struct intel_encoder *intel_encoder = &dig_port->base; @@ -6504,7 +6505,7 @@ intel_dp_init_connector(struct intel_digital_port *dig_port, intel_dp_add_properties(intel_dp, connector); - if (is_hdcp_supported(dev_priv, port) && !intel_dp_is_edp(intel_dp)) { + if (is_hdcp_supported(display, port) && !intel_dp_is_edp(intel_dp)) { int ret = intel_dp_hdcp_init(dig_port, intel_connector); if (ret) drm_dbg_kms(&dev_priv->drm, diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c index dce645a07cdb..5d77adaaf566 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c @@ -873,13 +873,12 @@ static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = { int intel_dp_hdcp_init(struct intel_digital_port *dig_port, struct intel_connector *intel_connector) { - struct drm_device *dev = intel_connector->base.dev; - struct drm_i915_private *dev_priv = to_i915(dev); + struct intel_display *display = to_intel_display(dig_port); struct intel_encoder *intel_encoder = &dig_port->base; enum port port = intel_encoder->port; struct intel_dp *intel_dp = &dig_port->dp; - if (!is_hdcp_supported(dev_priv, port)) + if (!is_hdcp_supported(display, port)) return 0; if (intel_connector->mst_port) diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index ed6aa87403e2..870084af92d0 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -1192,10 +1192,10 @@ static void intel_hdcp_prop_work(struct work_struct *work) drm_connector_put(&connector->base); } -bool is_hdcp_supported(struct drm_i915_private *i915, enum port port) +bool is_hdcp_supported(struct intel_display *display, enum port port) { - return DISPLAY_RUNTIME_INFO(i915)->has_hdcp && - (DISPLAY_VER(i915) >= 12 || port < PORT_E); + return DISPLAY_RUNTIME_INFO(display)->has_hdcp && + (DISPLAY_VER(display) >= 12 || port < PORT_E); } static int @@ -2301,9 +2301,9 @@ static int initialize_hdcp_port_data(struct intel_connector *connector, return 0; } -static bool is_hdcp2_supported(struct drm_i915_private *i915) +static bool is_hdcp2_supported(struct intel_display *display) { - struct intel_display *display = to_intel_display(&i915->drm); + struct drm_i915_private *i915 = to_i915(display->drm); if (intel_hdcp_gsc_cs_required(display)) return true; @@ -2317,12 +2317,11 @@ static bool is_hdcp2_supported(struct drm_i915_private *i915) IS_COMETLAKE(i915)); } -void intel_hdcp_component_init(struct drm_i915_private *i915) +void intel_hdcp_component_init(struct intel_display *display) { - struct intel_display *display = to_intel_display(&i915->drm); int ret; - if (!is_hdcp2_supported(i915)) + if (!is_hdcp2_supported(display)) return; mutex_lock(&display->hdcp.hdcp_mutex); @@ -2367,19 +2366,18 @@ int intel_hdcp_init(struct intel_connector *connector, struct intel_digital_port *dig_port, const struct intel_hdcp_shim *shim) { - struct drm_i915_private *i915 = to_i915(connector->base.dev); + struct intel_display *display = to_intel_display(connector); struct intel_hdcp *hdcp = &connector->hdcp; int ret; if (!shim) return -EINVAL; - if (is_hdcp2_supported(i915)) + if (is_hdcp2_supported(display)) intel_hdcp2_init(connector, dig_port, shim); - ret = - drm_connector_attach_content_protection_property(&connector->base, - hdcp->hdcp2_supported); + ret = drm_connector_attach_content_protection_property(&connector->base, + hdcp->hdcp2_supported); if (ret) { hdcp->hdcp2_supported = false; kfree(dig_port->hdcp_port_data.streams); @@ -2432,7 +2430,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state, hdcp->stream_transcoder = INVALID_TRANSCODER; } - if (DISPLAY_VER(i915) >= 12) + if (DISPLAY_VER(display) >= 12) dig_port->hdcp_port_data.hdcp_transcoder = intel_get_hdcp_transcoder(hdcp->cpu_transcoder); @@ -2583,10 +2581,8 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, _intel_hdcp_enable(state, encoder, crtc_state, conn_state); } -void intel_hdcp_component_fini(struct drm_i915_private *i915) +void intel_hdcp_component_fini(struct intel_display *display) { - struct intel_display *display = to_intel_display(&i915->drm); - mutex_lock(&display->hdcp.hdcp_mutex); if (!display->hdcp.comp_added) { mutex_unlock(&display->hdcp.hdcp_mutex); diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.h b/drivers/gpu/drm/i915/display/intel_hdcp.h index 477f2d2bb120..d99830cfb798 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.h +++ b/drivers/gpu/drm/i915/display/intel_hdcp.h @@ -12,13 +12,13 @@ struct drm_connector; struct drm_connector_state; -struct drm_i915_private; struct intel_atomic_state; struct intel_connector; struct intel_crtc_state; +struct intel_digital_port; +struct intel_display; struct intel_encoder; struct intel_hdcp_shim; -struct intel_digital_port; enum port; enum transcoder; @@ -37,14 +37,14 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state, const struct drm_connector_state *conn_state); -bool is_hdcp_supported(struct drm_i915_private *i915, enum port port); +bool is_hdcp_supported(struct intel_display *display, enum port port); bool intel_hdcp_get_capability(struct intel_connector *connector); bool intel_hdcp2_get_capability(struct intel_connector *connector); void intel_hdcp_get_remote_capability(struct intel_connector *connector, bool *hdcp_capable, bool *hdcp2_capable); -void intel_hdcp_component_init(struct drm_i915_private *i915); -void intel_hdcp_component_fini(struct drm_i915_private *i915); +void intel_hdcp_component_init(struct intel_display *display); +void intel_hdcp_component_fini(struct intel_display *display); void intel_hdcp_cleanup(struct intel_connector *connector); void intel_hdcp_handle_cp_irq(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 022ba3635101..665b980cc74d 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -3025,7 +3025,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port, struct intel_hdmi *intel_hdmi = &dig_port->hdmi; struct intel_encoder *intel_encoder = &dig_port->base; struct drm_device *dev = intel_encoder->base.dev; - struct drm_i915_private *dev_priv = to_i915(dev); enum port port = intel_encoder->port; struct cec_connector_info conn_info; u8 ddc_pin; @@ -3075,7 +3074,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port, intel_connector_attach_encoder(intel_connector, intel_encoder); intel_hdmi->attached_connector = intel_connector; - if (is_hdcp_supported(dev_priv, port)) { + if (is_hdcp_supported(display, port)) { int ret = intel_hdcp_init(intel_connector, dig_port, &intel_hdmi_hdcp_shim); if (ret) diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c index 695c27ac6b0f..b5502f335f53 100644 --- a/drivers/gpu/drm/xe/display/xe_display.c +++ b/drivers/gpu/drm/xe/display/xe_display.c @@ -202,12 +202,14 @@ int xe_display_init(struct xe_device *xe) void xe_display_fini(struct xe_device *xe) { + struct intel_display *display = &xe->display; + if (!xe->info.probe_display) return; intel_hpd_poll_fini(xe); - intel_hdcp_component_fini(xe); + intel_hdcp_component_fini(display); intel_audio_deinit(xe); }
There are some unconverted stragglers left in the HDCP API still using struct drm_i915_private. Convert to struct intel_display. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- .../drm/i915/display/intel_display_driver.c | 7 +++-- drivers/gpu/drm/i915/display/intel_dp.c | 3 +- drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 5 ++-- drivers/gpu/drm/i915/display/intel_hdcp.c | 30 ++++++++----------- drivers/gpu/drm/i915/display/intel_hdcp.h | 10 +++---- drivers/gpu/drm/i915/display/intel_hdmi.c | 3 +- drivers/gpu/drm/xe/display/xe_display.c | 4 ++- 7 files changed, 30 insertions(+), 32 deletions(-)