From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: <intel-gfx@lists.freedesktop.org>, <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH 04/11] drm/i915/hdcp: further conversion to struct intel_display
Date: Wed, 23 Oct 2024 10:55:45 -0400 [thread overview]
Message-ID: <ZxkOcTHyzcyZ9Z37@intel.com> (raw)
In-Reply-To: <ad036d2f267ab49b7943f46dad94c0f34e9f2d84.1729612605.git.jani.nikula@intel.com>
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
>
next prev parent reply other threads:[~2024-10-23 14:56 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-22 15:57 [PATCH 00/11] drm/i915/display: bunch of struct intel_display conversions Jani Nikula
2024-10-22 15:57 ` [PATCH 01/11] drm/i915/gmbus: convert to struct intel_display Jani Nikula
2024-10-23 14:51 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 02/11] drm/i915/cx0: " Jani Nikula
2024-10-23 14:53 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 03/11] drm/i915/dpio: " Jani Nikula
2024-10-23 14:54 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 04/11] drm/i915/hdcp: further conversion " Jani Nikula
2024-10-23 14:55 ` Rodrigo Vivi [this message]
2024-10-22 15:57 ` [PATCH 05/11] drm/i915/dp/hdcp: convert " Jani Nikula
2024-10-23 14:57 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 06/11] drm/i915/crt: " Jani Nikula
2024-10-23 15:05 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 07/11] drm/i915/display: convert vlv_wait_port_ready() " Jani Nikula
2024-10-23 17:18 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 08/11] drm/i915/power: convert assert_chv_phy_status() " Jani Nikula
2024-10-23 17:19 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 09/11] drm/i915/ips: convert " Jani Nikula
2024-10-23 17:19 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 10/11] drm/i915/dsi: " Jani Nikula
2024-10-23 17:26 ` Rodrigo Vivi
2024-10-22 15:57 ` [PATCH 11/11] drm/i915/de: remove unnecessary generic wrappers Jani Nikula
2024-10-23 17:28 ` Rodrigo Vivi
2024-10-22 16:57 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: bunch of struct intel_display conversions Patchwork
2024-10-22 16:57 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-10-22 17:07 ` ✓ Fi.CI.BAT: success " Patchwork
2024-10-22 17:14 ` ✓ CI.Patch_applied: " Patchwork
2024-10-22 17:15 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-22 17:16 ` ✓ CI.KUnit: success " Patchwork
2024-10-22 17:27 ` ✓ CI.Build: " Patchwork
2024-10-22 17:30 ` ✓ CI.Hooks: " Patchwork
2024-10-22 17:31 ` ✗ CI.checksparse: warning " Patchwork
2024-10-22 17:51 ` ✓ CI.BAT: success " Patchwork
2024-10-22 21:22 ` ✗ CI.FULL: failure " Patchwork
2024-10-22 22:23 ` ✗ Fi.CI.IGT: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZxkOcTHyzcyZ9Z37@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.