Skip to content

Commit 8c01b0b

Browse files
Hermes Wulumag
authored andcommitted
drm/bridge: it6505: fix HDCP encryption when R0 ready
When starting HDCP authentication, HDCP encryption should be enabled when R0'is checked. Change encryption enables time at R0' ready. The hardware HDCP engine trigger is changed and the repeater KSV fails will restart HDCP. Signed-off-by: Hermes Wu <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/20241230-v7-upstream-v7-6-e0fdd4844703@ite.corp-partner.google.com
1 parent 0fd2ff4 commit 8c01b0b

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

drivers/gpu/drm/bridge/ite-it6505.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,15 +2092,12 @@ static void it6505_hdcp_wait_ksv_list(struct work_struct *work)
20922092
ksv_list_check = it6505_hdcp_part2_ksvlist_check(it6505);
20932093
DRM_DEV_DEBUG_DRIVER(dev, "ksv list ready, ksv list check %s",
20942094
ksv_list_check ? "pass" : "fail");
2095-
if (ksv_list_check) {
2096-
it6505_set_bits(it6505, REG_HDCP_TRIGGER,
2097-
HDCP_TRIGGER_KSV_DONE, HDCP_TRIGGER_KSV_DONE);
2095+
2096+
if (ksv_list_check)
20982097
return;
2099-
}
2098+
21002099
timeout:
2101-
it6505_set_bits(it6505, REG_HDCP_TRIGGER,
2102-
HDCP_TRIGGER_KSV_DONE | HDCP_TRIGGER_KSV_FAIL,
2103-
HDCP_TRIGGER_KSV_DONE | HDCP_TRIGGER_KSV_FAIL);
2100+
it6505_start_hdcp(it6505);
21042101
}
21052102

21062103
static void it6505_hdcp_work(struct work_struct *work)
@@ -2473,7 +2470,11 @@ static void it6505_irq_hdcp_ksv_check(struct it6505 *it6505)
24732470
{
24742471
struct device *dev = it6505->dev;
24752472

2476-
DRM_DEV_DEBUG_DRIVER(dev, "HDCP event Interrupt");
2473+
DRM_DEV_DEBUG_DRIVER(dev, "HDCP repeater R0 event Interrupt");
2474+
/* 1B01 HDCP encription should start when R0 is ready*/
2475+
it6505_set_bits(it6505, REG_HDCP_TRIGGER,
2476+
HDCP_TRIGGER_KSV_DONE, HDCP_TRIGGER_KSV_DONE);
2477+
24772478
schedule_work(&it6505->hdcp_wait_ksv_list);
24782479
}
24792480

0 commit comments

Comments
 (0)