Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+30 -32
+4 -3
drivers/gpu/drm/i915/display/intel_display_driver.c
··· 485 485 return 0; 486 486 487 487 err_hdcp: 488 - intel_hdcp_component_fini(i915); 488 + intel_hdcp_component_fini(display); 489 489 err_mode_config: 490 490 intel_mode_config_cleanup(i915); 491 491 ··· 495 495 /* part #3: call after gem init */ 496 496 int intel_display_driver_probe(struct drm_i915_private *i915) 497 497 { 498 + struct intel_display *display = &i915->display; 498 499 int ret; 499 500 500 501 if (!HAS_DISPLAY(i915)) ··· 506 505 * the BIOS fb takeover and whatever else magic ggtt reservations 507 506 * happen during gem/ggtt init. 508 507 */ 509 - intel_hdcp_component_init(i915); 508 + intel_hdcp_component_init(display); 510 509 511 510 /* 512 511 * Force all active planes to recompute their states. So that on ··· 601 600 /* flush any delayed tasks or pending work */ 602 601 flush_workqueue(i915->unordered_wq); 603 602 604 - intel_hdcp_component_fini(i915); 603 + intel_hdcp_component_fini(display); 605 604 606 605 intel_mode_config_cleanup(i915); 607 606
+2 -1
drivers/gpu/drm/i915/display/intel_dp.c
··· 6419 6419 intel_dp_init_connector(struct intel_digital_port *dig_port, 6420 6420 struct intel_connector *intel_connector) 6421 6421 { 6422 + struct intel_display *display = to_intel_display(dig_port); 6422 6423 struct drm_connector *connector = &intel_connector->base; 6423 6424 struct intel_dp *intel_dp = &dig_port->dp; 6424 6425 struct intel_encoder *intel_encoder = &dig_port->base; ··· 6510 6509 6511 6510 intel_dp_add_properties(intel_dp, connector); 6512 6511 6513 - if (is_hdcp_supported(dev_priv, port) && !intel_dp_is_edp(intel_dp)) { 6512 + if (is_hdcp_supported(display, port) && !intel_dp_is_edp(intel_dp)) { 6514 6513 int ret = intel_dp_hdcp_init(dig_port, intel_connector); 6515 6514 if (ret) 6516 6515 drm_dbg_kms(&dev_priv->drm,
+2 -3
drivers/gpu/drm/i915/display/intel_dp_hdcp.c
··· 873 873 int intel_dp_hdcp_init(struct intel_digital_port *dig_port, 874 874 struct intel_connector *intel_connector) 875 875 { 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); 878 877 struct intel_encoder *intel_encoder = &dig_port->base; 879 878 enum port port = intel_encoder->port; 880 879 struct intel_dp *intel_dp = &dig_port->dp; 881 880 882 - if (!is_hdcp_supported(dev_priv, port)) 881 + if (!is_hdcp_supported(display, port)) 883 882 return 0; 884 883 885 884 if (intel_connector->mst_port)
+13 -17
drivers/gpu/drm/i915/display/intel_hdcp.c
··· 1192 1192 drm_connector_put(&connector->base); 1193 1193 } 1194 1194 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) 1196 1196 { 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); 1199 1199 } 1200 1200 1201 1201 static int ··· 2301 2301 return 0; 2302 2302 } 2303 2303 2304 - static bool is_hdcp2_supported(struct drm_i915_private *i915) 2304 + static bool is_hdcp2_supported(struct intel_display *display) 2305 2305 { 2306 - struct intel_display *display = to_intel_display(&i915->drm); 2306 + struct drm_i915_private *i915 = to_i915(display->drm); 2307 2307 2308 2308 if (intel_hdcp_gsc_cs_required(display)) 2309 2309 return true; ··· 2317 2317 IS_COMETLAKE(i915)); 2318 2318 } 2319 2319 2320 - void intel_hdcp_component_init(struct drm_i915_private *i915) 2320 + void intel_hdcp_component_init(struct intel_display *display) 2321 2321 { 2322 - struct intel_display *display = to_intel_display(&i915->drm); 2323 2322 int ret; 2324 2323 2325 - if (!is_hdcp2_supported(i915)) 2324 + if (!is_hdcp2_supported(display)) 2326 2325 return; 2327 2326 2328 2327 mutex_lock(&display->hdcp.hdcp_mutex); ··· 2366 2367 struct intel_digital_port *dig_port, 2367 2368 const struct intel_hdcp_shim *shim) 2368 2369 { 2369 - struct drm_i915_private *i915 = to_i915(connector->base.dev); 2370 + struct intel_display *display = to_intel_display(connector); 2370 2371 struct intel_hdcp *hdcp = &connector->hdcp; 2371 2372 int ret; 2372 2373 2373 2374 if (!shim) 2374 2375 return -EINVAL; 2375 2376 2376 - if (is_hdcp2_supported(i915)) 2377 + if (is_hdcp2_supported(display)) 2377 2378 intel_hdcp2_init(connector, dig_port, shim); 2378 2379 2379 - ret = 2380 - drm_connector_attach_content_protection_property(&connector->base, 2381 - hdcp->hdcp2_supported); 2380 + ret = drm_connector_attach_content_protection_property(&connector->base, 2381 + hdcp->hdcp2_supported); 2382 2382 if (ret) { 2383 2383 hdcp->hdcp2_supported = false; 2384 2384 kfree(dig_port->hdcp_port_data.streams); ··· 2430 2432 hdcp->stream_transcoder = INVALID_TRANSCODER; 2431 2433 } 2432 2434 2433 - if (DISPLAY_VER(i915) >= 12) 2435 + if (DISPLAY_VER(display) >= 12) 2434 2436 dig_port->hdcp_port_data.hdcp_transcoder = 2435 2437 intel_get_hdcp_transcoder(hdcp->cpu_transcoder); 2436 2438 ··· 2581 2583 _intel_hdcp_enable(state, encoder, crtc_state, conn_state); 2582 2584 } 2583 2585 2584 - void intel_hdcp_component_fini(struct drm_i915_private *i915) 2586 + void intel_hdcp_component_fini(struct intel_display *display) 2585 2587 { 2586 - struct intel_display *display = to_intel_display(&i915->drm); 2587 - 2588 2588 mutex_lock(&display->hdcp.hdcp_mutex); 2589 2589 if (!display->hdcp.comp_added) { 2590 2590 mutex_unlock(&display->hdcp.hdcp_mutex);
+5 -5
drivers/gpu/drm/i915/display/intel_hdcp.h
··· 12 12 13 13 struct drm_connector; 14 14 struct drm_connector_state; 15 - struct drm_i915_private; 16 15 struct intel_atomic_state; 17 16 struct intel_connector; 18 17 struct intel_crtc_state; 18 + struct intel_digital_port; 19 + struct intel_display; 19 20 struct intel_encoder; 20 21 struct intel_hdcp_shim; 21 - struct intel_digital_port; 22 22 enum port; 23 23 enum transcoder; 24 24 ··· 37 37 struct intel_encoder *encoder, 38 38 const struct intel_crtc_state *crtc_state, 39 39 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); 41 41 bool intel_hdcp_get_capability(struct intel_connector *connector); 42 42 bool intel_hdcp2_get_capability(struct intel_connector *connector); 43 43 void intel_hdcp_get_remote_capability(struct intel_connector *connector, 44 44 bool *hdcp_capable, 45 45 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); 48 48 void intel_hdcp_cleanup(struct intel_connector *connector); 49 49 void intel_hdcp_handle_cp_irq(struct intel_connector *connector); 50 50
+1 -2
drivers/gpu/drm/i915/display/intel_hdmi.c
··· 3026 3026 struct intel_hdmi *intel_hdmi = &dig_port->hdmi; 3027 3027 struct intel_encoder *intel_encoder = &dig_port->base; 3028 3028 struct drm_device *dev = intel_encoder->base.dev; 3029 - struct drm_i915_private *dev_priv = to_i915(dev); 3030 3029 enum port port = intel_encoder->port; 3031 3030 struct cec_connector_info conn_info; 3032 3031 u8 ddc_pin; ··· 3075 3076 intel_connector_attach_encoder(intel_connector, intel_encoder); 3076 3077 intel_hdmi->attached_connector = intel_connector; 3077 3078 3078 - if (is_hdcp_supported(dev_priv, port)) { 3079 + if (is_hdcp_supported(display, port)) { 3079 3080 int ret = intel_hdcp_init(intel_connector, dig_port, 3080 3081 &intel_hdmi_hdcp_shim); 3081 3082 if (ret)
+3 -1
drivers/gpu/drm/xe/display/xe_display.c
··· 202 202 203 203 void xe_display_fini(struct xe_device *xe) 204 204 { 205 + struct intel_display *display = &xe->display; 206 + 205 207 if (!xe->info.probe_display) 206 208 return; 207 209 208 210 intel_hpd_poll_fini(xe); 209 211 210 - intel_hdcp_component_fini(xe); 212 + intel_hdcp_component_fini(display); 211 213 intel_audio_deinit(xe); 212 214 } 213 215