File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -2323,14 +2323,20 @@ static int it6505_process_hpd_irq(struct it6505 *it6505)
2323
2323
DRM_DEV_DEBUG_DRIVER (dev , "dp_irq_vector = 0x%02x" , dp_irq_vector );
2324
2324
2325
2325
if (dp_irq_vector & DP_CP_IRQ ) {
2326
- it6505_set_bits (it6505 , REG_HDCP_TRIGGER , HDCP_TRIGGER_CPIRQ ,
2327
- HDCP_TRIGGER_CPIRQ );
2328
-
2329
2326
bstatus = it6505_dpcd_read (it6505 , DP_AUX_HDCP_BSTATUS );
2330
2327
if (bstatus < 0 )
2331
2328
return bstatus ;
2332
2329
2333
2330
DRM_DEV_DEBUG_DRIVER (dev , "Bstatus = 0x%02x" , bstatus );
2331
+
2332
+ /*Check BSTATUS when recive CP_IRQ */
2333
+ if (bstatus & DP_BSTATUS_R0_PRIME_READY &&
2334
+ it6505 -> hdcp_status == HDCP_AUTH_GOING )
2335
+ it6505_set_bits (it6505 , REG_HDCP_TRIGGER , HDCP_TRIGGER_CPIRQ ,
2336
+ HDCP_TRIGGER_CPIRQ );
2337
+ else if (bstatus & (DP_BSTATUS_REAUTH_REQ | DP_BSTATUS_LINK_FAILURE ) &&
2338
+ it6505 -> hdcp_status == HDCP_AUTH_DONE )
2339
+ it6505_start_hdcp (it6505 );
2334
2340
}
2335
2341
2336
2342
ret = drm_dp_dpcd_read_link_status (& it6505 -> aux , link_status );
You can’t perform that action at this time.
0 commit comments