Skip to content

Commit c214fc9

Browse files
committed
drm/i915/hdcp: further conversion to struct intel_display
There are some unconverted stragglers left in the HDCP API still using struct drm_i915_private. Convert to struct intel_display. Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/9680cc9e5ed7798a736fa73ad9ea0eb9c88e64bb.1730146000.git.jani.nikula@intel.com
1 parent 86e89ec commit c214fc9

7 files changed

Lines changed: 30 additions & 32 deletions

File tree

drivers/gpu/drm/i915/display/intel_display_driver.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
485485
return 0;
486486

487487
err_hdcp:
488-
intel_hdcp_component_fini(i915);
488+
intel_hdcp_component_fini(display);
489489
err_mode_config:
490490
intel_mode_config_cleanup(i915);
491491

@@ -495,6 +495,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
495495
/* part #3: call after gem init */
496496
int intel_display_driver_probe(struct drm_i915_private *i915)
497497
{
498+
struct intel_display *display = &i915->display;
498499
int ret;
499500

500501
if (!HAS_DISPLAY(i915))
@@ -505,7 +506,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915)
505506
* the BIOS fb takeover and whatever else magic ggtt reservations
506507
* happen during gem/ggtt init.
507508
*/
508-
intel_hdcp_component_init(i915);
509+
intel_hdcp_component_init(display);
509510

510511
/*
511512
* 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)
600601
/* flush any delayed tasks or pending work */
601602
flush_workqueue(i915->unordered_wq);
602603

603-
intel_hdcp_component_fini(i915);
604+
intel_hdcp_component_fini(display);
604605

605606
intel_mode_config_cleanup(i915);
606607

drivers/gpu/drm/i915/display/intel_dp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6419,6 +6419,7 @@ bool
64196419
intel_dp_init_connector(struct intel_digital_port *dig_port,
64206420
struct intel_connector *intel_connector)
64216421
{
6422+
struct intel_display *display = to_intel_display(dig_port);
64226423
struct drm_connector *connector = &intel_connector->base;
64236424
struct intel_dp *intel_dp = &dig_port->dp;
64246425
struct intel_encoder *intel_encoder = &dig_port->base;
@@ -6509,7 +6510,7 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
65096510

65106511
intel_dp_add_properties(intel_dp, connector);
65116512

6512-
if (is_hdcp_supported(dev_priv, port) && !intel_dp_is_edp(intel_dp)) {
6513+
if (is_hdcp_supported(display, port) && !intel_dp_is_edp(intel_dp)) {
65136514
int ret = intel_dp_hdcp_init(dig_port, intel_connector);
65146515
if (ret)
65156516
drm_dbg_kms(&dev_priv->drm,

drivers/gpu/drm/i915/display/intel_dp_hdcp.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -873,13 +873,12 @@ static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = {
873873
int intel_dp_hdcp_init(struct intel_digital_port *dig_port,
874874
struct intel_connector *intel_connector)
875875
{
876-
struct drm_device *dev = intel_connector->base.dev;
877-
struct drm_i915_private *dev_priv = to_i915(dev);
876+
struct intel_display *display = to_intel_display(dig_port);
878877
struct intel_encoder *intel_encoder = &dig_port->base;
879878
enum port port = intel_encoder->port;
880879
struct intel_dp *intel_dp = &dig_port->dp;
881880

882-
if (!is_hdcp_supported(dev_priv, port))
881+
if (!is_hdcp_supported(display, port))
883882
return 0;
884883

885884
if (intel_connector->mst_port)

drivers/gpu/drm/i915/display/intel_hdcp.c

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,10 +1192,10 @@ static void intel_hdcp_prop_work(struct work_struct *work)
11921192
drm_connector_put(&connector->base);
11931193
}
11941194

1195-
bool is_hdcp_supported(struct drm_i915_private *i915, enum port port)
1195+
bool is_hdcp_supported(struct intel_display *display, enum port port)
11961196
{
1197-
return DISPLAY_RUNTIME_INFO(i915)->has_hdcp &&
1198-
(DISPLAY_VER(i915) >= 12 || port < PORT_E);
1197+
return DISPLAY_RUNTIME_INFO(display)->has_hdcp &&
1198+
(DISPLAY_VER(display) >= 12 || port < PORT_E);
11991199
}
12001200

12011201
static int
@@ -2301,9 +2301,9 @@ static int initialize_hdcp_port_data(struct intel_connector *connector,
23012301
return 0;
23022302
}
23032303

2304-
static bool is_hdcp2_supported(struct drm_i915_private *i915)
2304+
static bool is_hdcp2_supported(struct intel_display *display)
23052305
{
2306-
struct intel_display *display = to_intel_display(&i915->drm);
2306+
struct drm_i915_private *i915 = to_i915(display->drm);
23072307

23082308
if (intel_hdcp_gsc_cs_required(display))
23092309
return true;
@@ -2317,12 +2317,11 @@ static bool is_hdcp2_supported(struct drm_i915_private *i915)
23172317
IS_COMETLAKE(i915));
23182318
}
23192319

2320-
void intel_hdcp_component_init(struct drm_i915_private *i915)
2320+
void intel_hdcp_component_init(struct intel_display *display)
23212321
{
2322-
struct intel_display *display = to_intel_display(&i915->drm);
23232322
int ret;
23242323

2325-
if (!is_hdcp2_supported(i915))
2324+
if (!is_hdcp2_supported(display))
23262325
return;
23272326

23282327
mutex_lock(&display->hdcp.hdcp_mutex);
@@ -2367,19 +2366,18 @@ int intel_hdcp_init(struct intel_connector *connector,
23672366
struct intel_digital_port *dig_port,
23682367
const struct intel_hdcp_shim *shim)
23692368
{
2370-
struct drm_i915_private *i915 = to_i915(connector->base.dev);
2369+
struct intel_display *display = to_intel_display(connector);
23712370
struct intel_hdcp *hdcp = &connector->hdcp;
23722371
int ret;
23732372

23742373
if (!shim)
23752374
return -EINVAL;
23762375

2377-
if (is_hdcp2_supported(i915))
2376+
if (is_hdcp2_supported(display))
23782377
intel_hdcp2_init(connector, dig_port, shim);
23792378

2380-
ret =
2381-
drm_connector_attach_content_protection_property(&connector->base,
2382-
hdcp->hdcp2_supported);
2379+
ret = drm_connector_attach_content_protection_property(&connector->base,
2380+
hdcp->hdcp2_supported);
23832381
if (ret) {
23842382
hdcp->hdcp2_supported = false;
23852383
kfree(dig_port->hdcp_port_data.streams);
@@ -2432,7 +2430,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state,
24322430
hdcp->stream_transcoder = INVALID_TRANSCODER;
24332431
}
24342432

2435-
if (DISPLAY_VER(i915) >= 12)
2433+
if (DISPLAY_VER(display) >= 12)
24362434
dig_port->hdcp_port_data.hdcp_transcoder =
24372435
intel_get_hdcp_transcoder(hdcp->cpu_transcoder);
24382436

@@ -2583,10 +2581,8 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state,
25832581
_intel_hdcp_enable(state, encoder, crtc_state, conn_state);
25842582
}
25852583

2586-
void intel_hdcp_component_fini(struct drm_i915_private *i915)
2584+
void intel_hdcp_component_fini(struct intel_display *display)
25872585
{
2588-
struct intel_display *display = to_intel_display(&i915->drm);
2589-
25902586
mutex_lock(&display->hdcp.hdcp_mutex);
25912587
if (!display->hdcp.comp_added) {
25922588
mutex_unlock(&display->hdcp.hdcp_mutex);

drivers/gpu/drm/i915/display/intel_hdcp.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212

1313
struct drm_connector;
1414
struct drm_connector_state;
15-
struct drm_i915_private;
1615
struct intel_atomic_state;
1716
struct intel_connector;
1817
struct intel_crtc_state;
18+
struct intel_digital_port;
19+
struct intel_display;
1920
struct intel_encoder;
2021
struct intel_hdcp_shim;
21-
struct intel_digital_port;
2222
enum port;
2323
enum transcoder;
2424

@@ -37,14 +37,14 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state,
3737
struct intel_encoder *encoder,
3838
const struct intel_crtc_state *crtc_state,
3939
const struct drm_connector_state *conn_state);
40-
bool is_hdcp_supported(struct drm_i915_private *i915, enum port port);
40+
bool is_hdcp_supported(struct intel_display *display, enum port port);
4141
bool intel_hdcp_get_capability(struct intel_connector *connector);
4242
bool intel_hdcp2_get_capability(struct intel_connector *connector);
4343
void intel_hdcp_get_remote_capability(struct intel_connector *connector,
4444
bool *hdcp_capable,
4545
bool *hdcp2_capable);
46-
void intel_hdcp_component_init(struct drm_i915_private *i915);
47-
void intel_hdcp_component_fini(struct drm_i915_private *i915);
46+
void intel_hdcp_component_init(struct intel_display *display);
47+
void intel_hdcp_component_fini(struct intel_display *display);
4848
void intel_hdcp_cleanup(struct intel_connector *connector);
4949
void intel_hdcp_handle_cp_irq(struct intel_connector *connector);
5050

drivers/gpu/drm/i915/display/intel_hdmi.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3026,7 +3026,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
30263026
struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
30273027
struct intel_encoder *intel_encoder = &dig_port->base;
30283028
struct drm_device *dev = intel_encoder->base.dev;
3029-
struct drm_i915_private *dev_priv = to_i915(dev);
30303029
enum port port = intel_encoder->port;
30313030
struct cec_connector_info conn_info;
30323031
u8 ddc_pin;
@@ -3076,7 +3075,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
30763075
intel_connector_attach_encoder(intel_connector, intel_encoder);
30773076
intel_hdmi->attached_connector = intel_connector;
30783077

3079-
if (is_hdcp_supported(dev_priv, port)) {
3078+
if (is_hdcp_supported(display, port)) {
30803079
int ret = intel_hdcp_init(intel_connector, dig_port,
30813080
&intel_hdmi_hdcp_shim);
30823081
if (ret)

drivers/gpu/drm/xe/display/xe_display.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,14 @@ int xe_display_init(struct xe_device *xe)
202202

203203
void xe_display_fini(struct xe_device *xe)
204204
{
205+
struct intel_display *display = &xe->display;
206+
205207
if (!xe->info.probe_display)
206208
return;
207209

208210
intel_hpd_poll_fini(xe);
209211

210-
intel_hdcp_component_fini(xe);
212+
intel_hdcp_component_fini(display);
211213
intel_audio_deinit(xe);
212214
}
213215

0 commit comments

Comments
 (0)