77#include <drm/intel/i915_hdcp_interface.h>
88
99#include "i915_drv.h"
10+ #include "intel_display_types.h"
1011#include "intel_hdcp_gsc_message.h"
1112
1213int
@@ -15,17 +16,19 @@ intel_hdcp_gsc_initiate_session(struct device *dev, struct hdcp_port_data *data,
1516{
1617 struct wired_cmd_initiate_hdcp2_session_in session_init_in = {};
1718 struct wired_cmd_initiate_hdcp2_session_out session_init_out = {};
19+ struct intel_display * display ;
1820 struct drm_i915_private * i915 ;
1921 ssize_t byte ;
2022
2123 if (!dev || !data || !ake_data )
2224 return - EINVAL ;
2325
24- i915 = kdev_to_i915 (dev );
25- if (!i915 ) {
26+ display = to_intel_display (dev );
27+ if (!display ) {
2628 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
2729 return - ENODEV ;
2830 }
31+ i915 = to_i915 (display -> drm );
2932
3033 session_init_in .header .api_version = HDCP_API_VERSION ;
3134 session_init_in .header .command_id = WIRED_INITIATE_HDCP2_SESSION ;
@@ -72,17 +75,19 @@ intel_hdcp_gsc_verify_receiver_cert_prepare_km(struct device *dev,
7275{
7376 struct wired_cmd_verify_receiver_cert_in verify_rxcert_in = {};
7477 struct wired_cmd_verify_receiver_cert_out verify_rxcert_out = {};
78+ struct intel_display * display ;
7579 struct drm_i915_private * i915 ;
7680 ssize_t byte ;
7781
7882 if (!dev || !data || !rx_cert || !km_stored || !ek_pub_km || !msg_sz )
7983 return - EINVAL ;
8084
81- i915 = kdev_to_i915 (dev );
82- if (!i915 ) {
85+ display = to_intel_display (dev );
86+ if (!display ) {
8387 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
8488 return - ENODEV ;
8589 }
90+ i915 = to_i915 (display -> drm );
8691
8792 verify_rxcert_in .header .api_version = HDCP_API_VERSION ;
8893 verify_rxcert_in .header .command_id = WIRED_VERIFY_RECEIVER_CERT ;
@@ -135,17 +140,19 @@ intel_hdcp_gsc_verify_hprime(struct device *dev, struct hdcp_port_data *data,
135140{
136141 struct wired_cmd_ake_send_hprime_in send_hprime_in = {};
137142 struct wired_cmd_ake_send_hprime_out send_hprime_out = {};
143+ struct intel_display * display ;
138144 struct drm_i915_private * i915 ;
139145 ssize_t byte ;
140146
141147 if (!dev || !data || !rx_hprime )
142148 return - EINVAL ;
143149
144- i915 = kdev_to_i915 (dev );
145- if (!i915 ) {
150+ display = to_intel_display (dev );
151+ if (!display ) {
146152 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
147153 return - ENODEV ;
148154 }
155+ i915 = to_i915 (display -> drm );
149156
150157 send_hprime_in .header .api_version = HDCP_API_VERSION ;
151158 send_hprime_in .header .command_id = WIRED_AKE_SEND_HPRIME ;
@@ -183,17 +190,19 @@ intel_hdcp_gsc_store_pairing_info(struct device *dev, struct hdcp_port_data *dat
183190{
184191 struct wired_cmd_ake_send_pairing_info_in pairing_info_in = {};
185192 struct wired_cmd_ake_send_pairing_info_out pairing_info_out = {};
193+ struct intel_display * display ;
186194 struct drm_i915_private * i915 ;
187195 ssize_t byte ;
188196
189197 if (!dev || !data || !pairing_info )
190198 return - EINVAL ;
191199
192- i915 = kdev_to_i915 (dev );
193- if (!i915 ) {
200+ display = to_intel_display (dev );
201+ if (!display ) {
194202 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
195203 return - ENODEV ;
196204 }
205+ i915 = to_i915 (display -> drm );
197206
198207 pairing_info_in .header .api_version = HDCP_API_VERSION ;
199208 pairing_info_in .header .command_id = WIRED_AKE_SEND_PAIRING_INFO ;
@@ -234,17 +243,19 @@ intel_hdcp_gsc_initiate_locality_check(struct device *dev,
234243{
235244 struct wired_cmd_init_locality_check_in lc_init_in = {};
236245 struct wired_cmd_init_locality_check_out lc_init_out = {};
246+ struct intel_display * display ;
237247 struct drm_i915_private * i915 ;
238248 ssize_t byte ;
239249
240250 if (!dev || !data || !lc_init_data )
241251 return - EINVAL ;
242252
243- i915 = kdev_to_i915 (dev );
244- if (!i915 ) {
253+ display = to_intel_display (dev );
254+ if (!display ) {
245255 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
246256 return - ENODEV ;
247257 }
258+ i915 = to_i915 (display -> drm );
248259
249260 lc_init_in .header .api_version = HDCP_API_VERSION ;
250261 lc_init_in .header .command_id = WIRED_INIT_LOCALITY_CHECK ;
@@ -280,17 +291,19 @@ intel_hdcp_gsc_verify_lprime(struct device *dev, struct hdcp_port_data *data,
280291{
281292 struct wired_cmd_validate_locality_in verify_lprime_in = {};
282293 struct wired_cmd_validate_locality_out verify_lprime_out = {};
294+ struct intel_display * display ;
283295 struct drm_i915_private * i915 ;
284296 ssize_t byte ;
285297
286298 if (!dev || !data || !rx_lprime )
287299 return - EINVAL ;
288300
289- i915 = kdev_to_i915 (dev );
290- if (!i915 ) {
301+ display = to_intel_display (dev );
302+ if (!display ) {
291303 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
292304 return - ENODEV ;
293305 }
306+ i915 = to_i915 (display -> drm );
294307
295308 verify_lprime_in .header .api_version = HDCP_API_VERSION ;
296309 verify_lprime_in .header .command_id = WIRED_VALIDATE_LOCALITY ;
@@ -330,17 +343,19 @@ int intel_hdcp_gsc_get_session_key(struct device *dev,
330343{
331344 struct wired_cmd_get_session_key_in get_skey_in = {};
332345 struct wired_cmd_get_session_key_out get_skey_out = {};
346+ struct intel_display * display ;
333347 struct drm_i915_private * i915 ;
334348 ssize_t byte ;
335349
336350 if (!dev || !data || !ske_data )
337351 return - EINVAL ;
338352
339- i915 = kdev_to_i915 (dev );
340- if (!i915 ) {
353+ display = to_intel_display (dev );
354+ if (!display ) {
341355 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
342356 return - ENODEV ;
343357 }
358+ i915 = to_i915 (display -> drm );
344359
345360 get_skey_in .header .api_version = HDCP_API_VERSION ;
346361 get_skey_in .header .command_id = WIRED_GET_SESSION_KEY ;
@@ -382,17 +397,19 @@ intel_hdcp_gsc_repeater_check_flow_prepare_ack(struct device *dev,
382397{
383398 struct wired_cmd_verify_repeater_in verify_repeater_in = {};
384399 struct wired_cmd_verify_repeater_out verify_repeater_out = {};
400+ struct intel_display * display ;
385401 struct drm_i915_private * i915 ;
386402 ssize_t byte ;
387403
388404 if (!dev || !rep_topology || !rep_send_ack || !data )
389405 return - EINVAL ;
390406
391- i915 = kdev_to_i915 (dev );
392- if (!i915 ) {
407+ display = to_intel_display (dev );
408+ if (!display ) {
393409 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
394410 return - ENODEV ;
395411 }
412+ i915 = to_i915 (display -> drm );
396413
397414 verify_repeater_in .header .api_version = HDCP_API_VERSION ;
398415 verify_repeater_in .header .command_id = WIRED_VERIFY_REPEATER ;
@@ -442,18 +459,20 @@ int intel_hdcp_gsc_verify_mprime(struct device *dev,
442459{
443460 struct wired_cmd_repeater_auth_stream_req_in * verify_mprime_in ;
444461 struct wired_cmd_repeater_auth_stream_req_out verify_mprime_out = {};
462+ struct intel_display * display ;
445463 struct drm_i915_private * i915 ;
446464 ssize_t byte ;
447465 size_t cmd_size ;
448466
449467 if (!dev || !stream_ready || !data )
450468 return - EINVAL ;
451469
452- i915 = kdev_to_i915 (dev );
453- if (!i915 ) {
470+ display = to_intel_display (dev );
471+ if (!display ) {
454472 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
455473 return - ENODEV ;
456474 }
475+ i915 = to_i915 (display -> drm );
457476
458477 cmd_size = struct_size (verify_mprime_in , streams , data -> k );
459478 if (cmd_size == SIZE_MAX )
@@ -504,17 +523,19 @@ int intel_hdcp_gsc_enable_authentication(struct device *dev,
504523{
505524 struct wired_cmd_enable_auth_in enable_auth_in = {};
506525 struct wired_cmd_enable_auth_out enable_auth_out = {};
526+ struct intel_display * display ;
507527 struct drm_i915_private * i915 ;
508528 ssize_t byte ;
509529
510530 if (!dev || !data )
511531 return - EINVAL ;
512532
513- i915 = kdev_to_i915 (dev );
514- if (!i915 ) {
533+ display = to_intel_display (dev );
534+ if (!display ) {
515535 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
516536 return - ENODEV ;
517537 }
538+ i915 = to_i915 (display -> drm );
518539
519540 enable_auth_in .header .api_version = HDCP_API_VERSION ;
520541 enable_auth_in .header .command_id = WIRED_ENABLE_AUTH ;
@@ -549,17 +570,19 @@ intel_hdcp_gsc_close_session(struct device *dev, struct hdcp_port_data *data)
549570{
550571 struct wired_cmd_close_session_in session_close_in = {};
551572 struct wired_cmd_close_session_out session_close_out = {};
573+ struct intel_display * display ;
552574 struct drm_i915_private * i915 ;
553575 ssize_t byte ;
554576
555577 if (!dev || !data )
556578 return - EINVAL ;
557579
558- i915 = kdev_to_i915 (dev );
559- if (!i915 ) {
580+ display = to_intel_display (dev );
581+ if (!display ) {
560582 dev_err (dev , "DRM not initialized, aborting HDCP.\n" );
561583 return - ENODEV ;
562584 }
585+ i915 = to_i915 (display -> drm );
563586
564587 session_close_in .header .api_version = HDCP_API_VERSION ;
565588 session_close_in .header .command_id = WIRED_CLOSE_SESSION ;
0 commit comments