@@ -58,15 +58,15 @@ static
58
58
int intel_dp_hdcp_write_an_aksv (struct intel_digital_port * dig_port ,
59
59
u8 * an )
60
60
{
61
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
61
+ struct intel_display * display = to_intel_display (dig_port );
62
62
u8 aksv [DRM_HDCP_KSV_LEN ] = {};
63
63
ssize_t dpcd_ret ;
64
64
65
65
/* Output An first, that's easy */
66
66
dpcd_ret = drm_dp_dpcd_write (& dig_port -> dp .aux , DP_AUX_HDCP_AN ,
67
67
an , DRM_HDCP_AN_LEN );
68
68
if (dpcd_ret != DRM_HDCP_AN_LEN ) {
69
- drm_dbg_kms (& i915 -> drm ,
69
+ drm_dbg_kms (display -> drm ,
70
70
"Failed to write An over DP/AUX (%zd)\n" ,
71
71
dpcd_ret );
72
72
return dpcd_ret >= 0 ? - EIO : dpcd_ret ;
@@ -82,7 +82,7 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *dig_port,
82
82
dpcd_ret = drm_dp_dpcd_write (& dig_port -> dp .aux , DP_AUX_HDCP_AKSV ,
83
83
aksv , DRM_HDCP_KSV_LEN );
84
84
if (dpcd_ret != DRM_HDCP_KSV_LEN ) {
85
- drm_dbg_kms (& i915 -> drm ,
85
+ drm_dbg_kms (display -> drm ,
86
86
"Failed to write Aksv over DP/AUX (%zd)\n" ,
87
87
dpcd_ret );
88
88
return dpcd_ret >= 0 ? - EIO : dpcd_ret ;
@@ -93,13 +93,13 @@ int intel_dp_hdcp_write_an_aksv(struct intel_digital_port *dig_port,
93
93
static int intel_dp_hdcp_read_bksv (struct intel_digital_port * dig_port ,
94
94
u8 * bksv )
95
95
{
96
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
96
+ struct intel_display * display = to_intel_display (dig_port );
97
97
ssize_t ret ;
98
98
99
99
ret = drm_dp_dpcd_read (& dig_port -> dp .aux , DP_AUX_HDCP_BKSV , bksv ,
100
100
DRM_HDCP_KSV_LEN );
101
101
if (ret != DRM_HDCP_KSV_LEN ) {
102
- drm_dbg_kms (& i915 -> drm ,
102
+ drm_dbg_kms (display -> drm ,
103
103
"Read Bksv from DP/AUX failed (%zd)\n" , ret );
104
104
return ret >= 0 ? - EIO : ret ;
105
105
}
@@ -109,7 +109,7 @@ static int intel_dp_hdcp_read_bksv(struct intel_digital_port *dig_port,
109
109
static int intel_dp_hdcp_read_bstatus (struct intel_digital_port * dig_port ,
110
110
u8 * bstatus )
111
111
{
112
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
112
+ struct intel_display * display = to_intel_display (dig_port );
113
113
ssize_t ret ;
114
114
115
115
/*
@@ -120,7 +120,7 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *dig_port,
120
120
ret = drm_dp_dpcd_read (& dig_port -> dp .aux , DP_AUX_HDCP_BINFO ,
121
121
bstatus , DRM_HDCP_BSTATUS_LEN );
122
122
if (ret != DRM_HDCP_BSTATUS_LEN ) {
123
- drm_dbg_kms (& i915 -> drm ,
123
+ drm_dbg_kms (display -> drm ,
124
124
"Read bstatus from DP/AUX failed (%zd)\n" , ret );
125
125
return ret >= 0 ? - EIO : ret ;
126
126
}
@@ -129,15 +129,15 @@ static int intel_dp_hdcp_read_bstatus(struct intel_digital_port *dig_port,
129
129
130
130
static
131
131
int intel_dp_hdcp_read_bcaps (struct drm_dp_aux * aux ,
132
- struct drm_i915_private * i915 ,
132
+ struct intel_display * display ,
133
133
u8 * bcaps )
134
134
{
135
135
ssize_t ret ;
136
136
137
137
ret = drm_dp_dpcd_read (aux , DP_AUX_HDCP_BCAPS ,
138
138
bcaps , 1 );
139
139
if (ret != 1 ) {
140
- drm_dbg_kms (& i915 -> drm ,
140
+ drm_dbg_kms (display -> drm ,
141
141
"Read bcaps from DP/AUX failed (%zd)\n" , ret );
142
142
return ret >= 0 ? - EIO : ret ;
143
143
}
@@ -149,11 +149,11 @@ static
149
149
int intel_dp_hdcp_repeater_present (struct intel_digital_port * dig_port ,
150
150
bool * repeater_present )
151
151
{
152
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
152
+ struct intel_display * display = to_intel_display (dig_port );
153
153
ssize_t ret ;
154
154
u8 bcaps ;
155
155
156
- ret = intel_dp_hdcp_read_bcaps (& dig_port -> dp .aux , i915 , & bcaps );
156
+ ret = intel_dp_hdcp_read_bcaps (& dig_port -> dp .aux , display , & bcaps );
157
157
if (ret )
158
158
return ret ;
159
159
@@ -165,13 +165,14 @@ static
165
165
int intel_dp_hdcp_read_ri_prime (struct intel_digital_port * dig_port ,
166
166
u8 * ri_prime )
167
167
{
168
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
168
+ struct intel_display * display = to_intel_display (dig_port );
169
169
ssize_t ret ;
170
170
171
171
ret = drm_dp_dpcd_read (& dig_port -> dp .aux , DP_AUX_HDCP_RI_PRIME ,
172
172
ri_prime , DRM_HDCP_RI_LEN );
173
173
if (ret != DRM_HDCP_RI_LEN ) {
174
- drm_dbg_kms (& i915 -> drm , "Read Ri' from DP/AUX failed (%zd)\n" ,
174
+ drm_dbg_kms (display -> drm ,
175
+ "Read Ri' from DP/AUX failed (%zd)\n" ,
175
176
ret );
176
177
return ret >= 0 ? - EIO : ret ;
177
178
}
@@ -182,14 +183,14 @@ static
182
183
int intel_dp_hdcp_read_ksv_ready (struct intel_digital_port * dig_port ,
183
184
bool * ksv_ready )
184
185
{
185
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
186
+ struct intel_display * display = to_intel_display (dig_port );
186
187
ssize_t ret ;
187
188
u8 bstatus ;
188
189
189
190
ret = drm_dp_dpcd_read (& dig_port -> dp .aux , DP_AUX_HDCP_BSTATUS ,
190
191
& bstatus , 1 );
191
192
if (ret != 1 ) {
192
- drm_dbg_kms (& i915 -> drm ,
193
+ drm_dbg_kms (display -> drm ,
193
194
"Read bstatus from DP/AUX failed (%zd)\n" , ret );
194
195
return ret >= 0 ? - EIO : ret ;
195
196
}
@@ -201,7 +202,7 @@ static
201
202
int intel_dp_hdcp_read_ksv_fifo (struct intel_digital_port * dig_port ,
202
203
int num_downstream , u8 * ksv_fifo )
203
204
{
204
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
205
+ struct intel_display * display = to_intel_display (dig_port );
205
206
ssize_t ret ;
206
207
int i ;
207
208
@@ -213,7 +214,7 @@ int intel_dp_hdcp_read_ksv_fifo(struct intel_digital_port *dig_port,
213
214
ksv_fifo + i * DRM_HDCP_KSV_LEN ,
214
215
len );
215
216
if (ret != len ) {
216
- drm_dbg_kms (& i915 -> drm ,
217
+ drm_dbg_kms (display -> drm ,
217
218
"Read ksv[%d] from DP/AUX failed (%zd)\n" ,
218
219
i , ret );
219
220
return ret >= 0 ? - EIO : ret ;
@@ -226,7 +227,7 @@ static
226
227
int intel_dp_hdcp_read_v_prime_part (struct intel_digital_port * dig_port ,
227
228
int i , u32 * part )
228
229
{
229
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
230
+ struct intel_display * display = to_intel_display (dig_port );
230
231
ssize_t ret ;
231
232
232
233
if (i >= DRM_HDCP_V_PRIME_NUM_PARTS )
@@ -236,7 +237,7 @@ int intel_dp_hdcp_read_v_prime_part(struct intel_digital_port *dig_port,
236
237
DP_AUX_HDCP_V_PRIME (i ), part ,
237
238
DRM_HDCP_V_PRIME_PART_LEN );
238
239
if (ret != DRM_HDCP_V_PRIME_PART_LEN ) {
239
- drm_dbg_kms (& i915 -> drm ,
240
+ drm_dbg_kms (display -> drm ,
240
241
"Read v'[%d] from DP/AUX failed (%zd)\n" , i , ret );
241
242
return ret >= 0 ? - EIO : ret ;
242
243
}
@@ -256,14 +257,14 @@ static
256
257
bool intel_dp_hdcp_check_link (struct intel_digital_port * dig_port ,
257
258
struct intel_connector * connector )
258
259
{
259
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
260
+ struct intel_display * display = to_intel_display (dig_port );
260
261
ssize_t ret ;
261
262
u8 bstatus ;
262
263
263
264
ret = drm_dp_dpcd_read (& dig_port -> dp .aux , DP_AUX_HDCP_BSTATUS ,
264
265
& bstatus , 1 );
265
266
if (ret != 1 ) {
266
- drm_dbg_kms (& i915 -> drm ,
267
+ drm_dbg_kms (display -> drm ,
267
268
"Read bstatus from DP/AUX failed (%zd)\n" , ret );
268
269
return false;
269
270
}
@@ -275,11 +276,11 @@ static
275
276
int intel_dp_hdcp_get_capability (struct intel_digital_port * dig_port ,
276
277
bool * hdcp_capable )
277
278
{
278
- struct drm_i915_private * i915 = to_i915 (dig_port -> base . base . dev );
279
+ struct intel_display * display = to_intel_display (dig_port );
279
280
ssize_t ret ;
280
281
u8 bcaps ;
281
282
282
- ret = intel_dp_hdcp_read_bcaps (& dig_port -> dp .aux , i915 , & bcaps );
283
+ ret = intel_dp_hdcp_read_bcaps (& dig_port -> dp .aux , display , & bcaps );
283
284
if (ret )
284
285
return ret ;
285
286
@@ -342,7 +343,7 @@ static int
342
343
intel_dp_hdcp2_read_rx_status (struct intel_connector * connector ,
343
344
u8 * rx_status )
344
345
{
345
- struct drm_i915_private * i915 = to_i915 (connector -> base . dev );
346
+ struct intel_display * display = to_intel_display (connector );
346
347
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
347
348
struct drm_dp_aux * aux = & dig_port -> dp .aux ;
348
349
ssize_t ret ;
@@ -351,7 +352,7 @@ intel_dp_hdcp2_read_rx_status(struct intel_connector *connector,
351
352
DP_HDCP_2_2_REG_RXSTATUS_OFFSET , rx_status ,
352
353
HDCP_2_2_DP_RXSTATUS_LEN );
353
354
if (ret != HDCP_2_2_DP_RXSTATUS_LEN ) {
354
- drm_dbg_kms (& i915 -> drm ,
355
+ drm_dbg_kms (display -> drm ,
355
356
"Read bstatus from DP/AUX failed (%zd)\n" , ret );
356
357
return ret >= 0 ? - EIO : ret ;
357
358
}
@@ -397,7 +398,7 @@ static ssize_t
397
398
intel_dp_hdcp2_wait_for_msg (struct intel_connector * connector ,
398
399
const struct hdcp2_dp_msg_data * hdcp2_msg_data )
399
400
{
400
- struct drm_i915_private * i915 = to_i915 (connector -> base . dev );
401
+ struct intel_display * display = to_intel_display (connector );
401
402
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
402
403
struct intel_dp * dp = & dig_port -> dp ;
403
404
struct intel_hdcp * hdcp = & dp -> attached_connector -> hdcp ;
@@ -430,7 +431,7 @@ intel_dp_hdcp2_wait_for_msg(struct intel_connector *connector,
430
431
}
431
432
432
433
if (ret )
433
- drm_dbg_kms (& i915 -> drm ,
434
+ drm_dbg_kms (display -> drm ,
434
435
"msg_id %d, ret %d, timeout(mSec): %d\n" ,
435
436
hdcp2_msg_data -> msg_id , ret , timeout );
436
437
@@ -514,8 +515,8 @@ static
514
515
int intel_dp_hdcp2_read_msg (struct intel_connector * connector ,
515
516
u8 msg_id , void * buf , size_t size )
516
517
{
518
+ struct intel_display * display = to_intel_display (connector );
517
519
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
518
- struct drm_i915_private * i915 = to_i915 (dig_port -> base .base .dev );
519
520
struct drm_dp_aux * aux = & dig_port -> dp .aux ;
520
521
struct intel_dp * dp = & dig_port -> dp ;
521
522
struct intel_hdcp * hdcp = & dp -> attached_connector -> hdcp ;
@@ -568,7 +569,7 @@ int intel_dp_hdcp2_read_msg(struct intel_connector *connector,
568
569
ret = drm_dp_dpcd_read (aux , offset ,
569
570
(void * )byte , len );
570
571
if (ret < 0 ) {
571
- drm_dbg_kms (& i915 -> drm , "msg_id %d, ret %zd\n" ,
572
+ drm_dbg_kms (display -> drm , "msg_id %d, ret %zd\n" ,
572
573
msg_id , ret );
573
574
return ret ;
574
575
}
@@ -581,7 +582,8 @@ int intel_dp_hdcp2_read_msg(struct intel_connector *connector,
581
582
if (hdcp2_msg_data -> msg_read_timeout > 0 ) {
582
583
msg_expired = ktime_after (ktime_get_raw (), msg_end );
583
584
if (msg_expired ) {
584
- drm_dbg_kms (& i915 -> drm , "msg_id %d, entire msg read timeout(mSec): %d\n" ,
585
+ drm_dbg_kms (display -> drm ,
586
+ "msg_id %d, entire msg read timeout(mSec): %d\n" ,
585
587
msg_id , hdcp2_msg_data -> msg_read_timeout );
586
588
return - ETIMEDOUT ;
587
589
}
@@ -696,7 +698,7 @@ int intel_dp_hdcp_get_remote_capability(struct intel_connector *connector,
696
698
bool * hdcp_capable ,
697
699
bool * hdcp2_capable )
698
700
{
699
- struct drm_i915_private * i915 = to_i915 (connector -> base . dev );
701
+ struct intel_display * display = to_intel_display (connector );
700
702
struct drm_dp_aux * aux ;
701
703
u8 bcaps ;
702
704
int ret ;
@@ -709,10 +711,10 @@ int intel_dp_hdcp_get_remote_capability(struct intel_connector *connector,
709
711
aux = & connector -> port -> aux ;
710
712
ret = _intel_dp_hdcp2_get_capability (aux , hdcp2_capable );
711
713
if (ret )
712
- drm_dbg_kms (& i915 -> drm ,
714
+ drm_dbg_kms (display -> drm ,
713
715
"HDCP2 DPCD capability read failed err: %d\n" , ret );
714
716
715
- ret = intel_dp_hdcp_read_bcaps (aux , i915 , & bcaps );
717
+ ret = intel_dp_hdcp_read_bcaps (aux , display , & bcaps );
716
718
if (ret )
717
719
return ret ;
718
720
@@ -745,16 +747,16 @@ static int
745
747
intel_dp_mst_toggle_hdcp_stream_select (struct intel_connector * connector ,
746
748
bool enable )
747
749
{
750
+ struct intel_display * display = to_intel_display (connector );
748
751
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
749
- struct drm_i915_private * i915 = to_i915 (connector -> base .dev );
750
752
struct intel_hdcp * hdcp = & connector -> hdcp ;
751
753
int ret ;
752
754
753
755
ret = intel_ddi_toggle_hdcp_bits (& dig_port -> base ,
754
756
hdcp -> stream_transcoder , enable ,
755
757
TRANS_DDI_HDCP_SELECT );
756
758
if (ret )
757
- drm_err (& i915 -> drm , "%s HDCP stream select failed (%d)\n" ,
759
+ drm_err (display -> drm , "%s HDCP stream select failed (%d)\n" ,
758
760
enable ? "Enable" : "Disable" , ret );
759
761
return ret ;
760
762
}
@@ -763,8 +765,8 @@ static int
763
765
intel_dp_mst_hdcp_stream_encryption (struct intel_connector * connector ,
764
766
bool enable )
765
767
{
768
+ struct intel_display * display = to_intel_display (connector );
766
769
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
767
- struct drm_i915_private * i915 = to_i915 (connector -> base .dev );
768
770
struct intel_hdcp * hdcp = & connector -> hdcp ;
769
771
enum port port = dig_port -> base .port ;
770
772
enum transcoder cpu_transcoder = hdcp -> stream_transcoder ;
@@ -780,10 +782,10 @@ intel_dp_mst_hdcp_stream_encryption(struct intel_connector *connector,
780
782
return - EINVAL ;
781
783
782
784
/* Wait for encryption confirmation */
783
- if (intel_de_wait (i915 , HDCP_STATUS (i915 , cpu_transcoder , port ),
785
+ if (intel_de_wait (display , HDCP_STATUS (display , cpu_transcoder , port ),
784
786
stream_enc_status , enable ? stream_enc_status : 0 ,
785
787
HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS )) {
786
- drm_err (& i915 -> drm , "Timed out waiting for transcoder: %s stream encryption %s\n" ,
788
+ drm_err (display -> drm , "Timed out waiting for transcoder: %s stream encryption %s\n" ,
787
789
transcoder_name (cpu_transcoder ), str_enabled_disabled (enable ));
788
790
return - ETIMEDOUT ;
789
791
}
@@ -795,29 +797,29 @@ static int
795
797
intel_dp_mst_hdcp2_stream_encryption (struct intel_connector * connector ,
796
798
bool enable )
797
799
{
800
+ struct intel_display * display = to_intel_display (connector );
798
801
struct intel_digital_port * dig_port = intel_attached_dig_port (connector );
799
- struct drm_i915_private * i915 = to_i915 (connector -> base .dev );
800
802
struct hdcp_port_data * data = & dig_port -> hdcp_port_data ;
801
803
struct intel_hdcp * hdcp = & connector -> hdcp ;
802
804
enum transcoder cpu_transcoder = hdcp -> stream_transcoder ;
803
805
enum pipe pipe = (enum pipe )cpu_transcoder ;
804
806
enum port port = dig_port -> base .port ;
805
807
int ret ;
806
808
807
- drm_WARN_ON (& i915 -> drm , enable &&
808
- !!(intel_de_read (i915 , HDCP2_AUTH_STREAM (i915 , cpu_transcoder , port ))
809
+ drm_WARN_ON (display -> drm , enable &&
810
+ !!(intel_de_read (display , HDCP2_AUTH_STREAM (display , cpu_transcoder , port ))
809
811
& AUTH_STREAM_TYPE ) != data -> streams [0 ].stream_type );
810
812
811
813
ret = intel_dp_mst_toggle_hdcp_stream_select (connector , enable );
812
814
if (ret )
813
815
return ret ;
814
816
815
817
/* Wait for encryption confirmation */
816
- if (intel_de_wait (i915 , HDCP2_STREAM_STATUS (i915 , cpu_transcoder , pipe ),
818
+ if (intel_de_wait (display , HDCP2_STREAM_STATUS (display , cpu_transcoder , pipe ),
817
819
STREAM_ENCRYPTION_STATUS ,
818
820
enable ? STREAM_ENCRYPTION_STATUS : 0 ,
819
821
HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS )) {
820
- drm_err (& i915 -> drm , "Timed out waiting for transcoder: %s stream encryption %s\n" ,
822
+ drm_err (display -> drm , "Timed out waiting for transcoder: %s stream encryption %s\n" ,
821
823
transcoder_name (cpu_transcoder ), str_enabled_disabled (enable ));
822
824
return - ETIMEDOUT ;
823
825
}
0 commit comments