[PATCH v3 3/3] drm/bridge: it6505: Add MCCS support

2024-09-23 Thread Hermes Wu
From: Hermes Wu Changes in v3: -remove non used definition for aux i2x cmd reply Add Aux-I2C functionality to support MCCS. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 174 +++- 1 file changed, 172 insertions(+), 2 deletions(-) diff --git a

[PATCH v3 1/3] drm/bridge: it6505: fix AUX read use aux fifo

2024-09-23 Thread Hermes Wu
From: Hermes Wu Changes in v3: -New in v3 it6505 AUX FIFO mode only 16 byte. AUX FIFO mode only supports EDID read and DPCD KSV FIFO area. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 25 + 1 file changed, 17 insertions(+), 8 deletions(-) diff

[PATCH v3 0/3] drm/bridge: it6505: update dp aux funxtion

2024-09-23 Thread Hermes Wu
From: Hermes Wu Changes in v3 -Seperate AUX fifo access to a commit -Add discriptions about HDCP CTS -remove non used aux i2c reply definitions Hermes Wu (3): drm/bridge: it6505: fix AUX read use aux fifo drm/bridge: it6505: HDCP CTS fail on repeater items drm/bridge: it6505: Add MCCS

[PATCH 1/2] drm/bridge: it6505: fix AUX read use aux fifo

2024-09-23 Thread Hermes Wu
From: Hermes Wu Changes in v3: -New in v3 it6505 AUX FIFO mode only 16 byte. AUX FIFO mode only supports EDID read and DPCD KSV FIFO area. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 25 + 1 file changed, 17 insertions(+), 8 deletions(-) diff

[PATCH v3 2/3] drm/bridge: it6505: HDCP CTS fail on repeater items

2024-09-23 Thread Hermes Wu
From: Hermes Wu Changes in v3: -add detials about fail item and changes. Fix HDCP CTS fail items on UNIGRAF DRP-100 DUT must Support 127 devices. DUT must check BSTATUS when recive CP_IRQ. DUT must enable encription when R0' is ready. DUT must retry V' check 3 times. it6505 must re

[PATCH v4 02/11] drm/bridge: it6505: fix aux operation for edid read

2024-09-26 Thread Hermes Wu
From: Hermes Wu The EDID read operation can reach the maximum size of the AUX FIFO buffer. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git

[PATCH v4 04/11] drm/bridge: it6505: fix aux command write to aux operaction register

2024-09-26 Thread Hermes Wu
From: Hermes Wu The aux control register command is 4 bits LSB only, adding a MACRO to get correct operaction command. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 4 +++- 1 file changed, 3 insertions(+),

[PATCH v4 01/11] drm/bridge: it6505: change aux max fifo size

2024-09-26 Thread Hermes Wu
From: Hermes Wu The hardware aux fifo is 16 byte Change definition of AUX_FIFO_MAX_SIZE to 16 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v4 03/11] drm/bridge: it6505: add aux operation for HDCP ksv list read

2024-09-26 Thread Hermes Wu
From: Hermes Wu Add aux operaction command which supports read DPCD KSV FIFO with aux fifo. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) di

[PATCH v4 00/11] fix HDCP CTS fail items and add MCCS support

2024-09-26 Thread Hermes Wu
From: Hermes Wu This is a v4 patch-set. There are lots of failure items while running HDCP CTS using UNIGRAF DPR-100. In Order to fix those failures, HDCP flow needs to be changed. The DisplayPort AUX protocol supports I2C transport. In Order to support MCCS via the aux channel, the aux-i2c

[PATCH v4 09/11] drm/bridge: it6505: fix HDCP CTS compare V matching without retry

2024-09-26 Thread Hermes Wu
From: Hermes Wu When HDCP negotiation with a repeater device. Checking SHA V' matching must retry 3 times before restarting HDCP. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 32 +

[PATCH v4 06/11] drm/bridge: it6505: fix HDCP Bstatus check.

2024-09-26 Thread Hermes Wu
From: Hermes Wu When HDCP is activated, A DisplayPort source receives CP_IRQ from the sink shall check Bstatus from DPCD and process the corresponding value. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6

[PATCH v4 07/11] drm/bridge: it6505: fix HDCP encription not enable when R0 ready

2024-09-26 Thread Hermes Wu
From: Hermes Wu When starting HDCP authentication, HDCP encryption should be enabled on the link when R0' is checked. Change encryption enables time at R0' ready. Hardware HDCP engine trigger changes repeater fail to restart flow. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505

[PATCH v4 05/11] drm/bridge: it6505: increase supports of HDCP repeater ksv devices

2024-09-26 Thread Hermes Wu
From: Hermes Wu A HDCP source shall support max downstream device to 127. Change definition of MAX_HDCP_DOWN_STREAM_COUNT to 127 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 inser

[PATCH v4 08/11] drm/bridge: it6505: fix HDCP KSV list did not read correctly.

2024-09-26 Thread Hermes Wu
From: Hermes Wu When running the HDCP CTS test on UNIGRAF DPR-100. KSV list must be read from DPCD with 5 byte boundary. The original aux operation using AUX_NATIVE_READ can not read back the KSV list correctly. Change to CMD_AUX_GET_KSV_LIST operaction. Fixes: b5c84a9edcd4 ("drm/bridge

[PATCH v4 10/11] drm/bridge: it6505: fix HDCP CTS ksv wait timer

2024-09-26 Thread Hermes Wu
From: Hermes Wu When running the HDCP CTS test on UNIGRAF DPR-100. HDCP must disabled after waiting KSV for 5s. Consider system ksv work schedules. The original timer has a chance to expire. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drive

[PATCH v4 11/11] drm/bridge: it6505: Add aux i2c functionality

2024-09-26 Thread Hermes Wu
From: Hermes Wu Add aux-i2c operaction in order to support the MCCS function. Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 177 +++- 1 file changed, 175 insertions(+), 2 deletion

[PATCH v1 2/2] drm/bridge: it6505: Add MSSC suport

2024-09-20 Thread Hermes Wu
From: "Hermes.Wu" add AUX-I2C functionality to support MCCS. Change-Id: I63e1a0e5da67526f89f35605a82944be67dee8ac Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 209 ++-- 1 file changed, 200 insertions(+), 9 deletions(-) diff --git a/d

[PATCH v1 1/2] drm/bridge: it6505: HDCP CTS fail on repeater items

2024-09-20 Thread Hermes Wu
From: allen chen Fix HDCP CTS items on UNIGRAF DPR-100. Change-Id: I03f0758779f73164c8ae2fdf61e41dc693e27605 Change-Id: Ib7a8fabaeccd56d3bd7c8adc7384a363b0f7b88d Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 152 ++-- 1 file changed, 101

[PATCH v2 2/2] drm/bridge: it6505: Add MSSC suport

2024-09-20 Thread Hermes Wu
From: "Hermes.Wu" Add AUX i2c funtion for MCCS Change-Id: Ia8952f3cde4d9610d6f8a0c3915fc6ffefc6da22 Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 209 ++-- 1 file changed, 200 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/

[PATCH v1 0/2] drm/bridge: it6505: update dp aux function

2024-09-20 Thread Hermes Wu
From: "Hermes.Wu" This series change aux function to support MCCS and fix HDCP CTS Hermes.Wu (1): drm/bridge: it6505: Add MSSC suport allen chen (1): drm/bridge: it6505: HDCP CTS fail on repeater items drivers/gpu/drm/bridge/ite-it6505.c | 343 +++- 1 file change

[PATCH v2 2/2] drm/bridge: it6505: Add MCCS support

2024-09-20 Thread Hermes Wu
From: Hermes Wu add AUX-I2C functionality to support MCCS Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 209 ++-- 1 file changed, 200 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite

[PATCH v1 1/2] drm/bridge: it6505: HDCP CTS fail on repeater items

2024-09-20 Thread Hermes Wu
From: allen chen Fix HDCP CTS items on UNIGRAF DPR-100. Change-Id: I03f0758779f73164c8ae2fdf61e41dc693e27605 Change-Id: Ib7a8fabaeccd56d3bd7c8adc7384a363b0f7b88d Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 152 ++-- 1 file changed, 101

[PATCH v2 0/2] drm/bridge: it6505: update dp aux function

2024-09-20 Thread Hermes Wu
From: Hermes Wu This series change aux function to support MCCS and fix HDCP CTS Hermes Wu (2): drm/bridge: it6505: HDCP CTS fail on repeater drm/bridge: it6505: Add MCCS support drivers/gpu/drm/bridge/ite-it6505.c | 343 +++- 1 file changed, 292 insertions(+), 51

[PATCH v2 1/2] drm/bridge: it6505: HDCP CTS fail on repeater

2024-09-20 Thread Hermes Wu
From: Hermes Wu Fix HDCP CTS items on UNIGRAF DPR-100 Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 152 ++-- 1 file changed, 101 insertions(+), 51 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505

[PATCH v1 0/2] drm/bridge: it6505: update dp aux function

2024-09-20 Thread Hermes Wu
From: "Hermes.Wu" This series change aux function to support MCCS and fix HDCP CTS Hermes.Wu (1): drm/bridge: it6505: Add MSSC suport allen chen (1): drm/bridge: it6505: HDCP CTS fail on repeater items drivers/gpu/drm/bridge/ite-it6505.c | 343 +++- 1 file change

[PATCH v1 2/2] drm/bridge: it6505: Add MSSC suport

2024-09-20 Thread Hermes Wu
From: "Hermes.Wu" add AUX-I2C functionality to support MCCS. Change-Id: I63e1a0e5da67526f89f35605a82944be67dee8ac Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 209 ++-- 1 file changed, 200 insertions(+), 9 deletions(-) diff --git a/d

[PATCH v5 00/10]drm/bridge: it6505: fix HDCP CTS fail items and add MCCS support

2024-09-30 Thread Hermes Wu
From: Hermes Wu This is a v5 patch-set. There are lots of failure items while running HDCP CTS using UNIGRAF DPR-100. In Order to fix those failures, HDCP flow needs to be changed. The DisplayPort AUX protocol supports I2C transport. In Order to support MCCS via the aux channel, the aux-i2c

[PATCH v5 01/10] drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE

2024-09-30 Thread Hermes Wu
From: Hermes Wu The hardware AUX FIFO is 16 bytes Change definition of AUX_FIFO_MAX_SIZE to 16 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d

[PATCH v5 02/10] drm/bridge: it6505: improve AUX operation for edid read

2024-09-30 Thread Hermes Wu
From: Hermes Wu The original AUX operation using data registers is limited to 4 bytes. The AUX operation command CMD_AUX_I2C_EDID_READ uses AUX FIFO and is capable of reading 16 bytes. This improves the speed of EDID read. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 10

[PATCH v5 04/10] drm/bridge: it6505: Change definition MAX_HDCP_DOWN_STREAM_COUNT

2024-09-30 Thread Hermes Wu
From: Hermes Wu A HDCP source device shall support max downstream to 127 devices. Change definition MAX_HDCP_DOWN_STREAM_COUNT to 127 KSVs shall save for DRM blocked devices check. This results in struct it6505 growth by ~0.5 KiB. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite

[PATCH v5 07/10] drm/bridge: it6505: fix HDCP CTS KSV list read with UNIGRAF DPR-100.

2024-09-30 Thread Hermes Wu
From: Hermes Wu When running the HDCP CTS test with UNIGRAF DPR-100. KSV list must be read from DP_AUX_HDCP_KSV_FIFO in an AUX request, and can not separate with multiple read requests. The AUX operation command "CMD_AUX_GET_KSV_LIST" reads the KSV list with AUX FIFO and is ab

[PATCH v5 08/10] drm/bridge: it6505: fix HDCP CTS compare V matching

2024-09-30 Thread Hermes Wu
From: Hermes Wu When HDCP negotiation with a repeater device. Checking SHA V' matching must retry 3 times before restarting HDCP. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 32 + 1 file changed, 19 insertions(+), 13 deletions(-) diff

[PATCH v5 05/10] drm/bridge: it6505: fix HDCP Bstatus check

2024-09-30 Thread Hermes Wu
From: Hermes Wu When HDCP is activated, a DisplayPort source receiving CP_IRQ from the sink shall check Bstatus from DPCD and process the corresponding value Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions

[PATCH v5 06/10] drm/bridge: it6505: fix HDCP encryption when R0 ready

2024-09-30 Thread Hermes Wu
From: Hermes Wu 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 --- drive

[PATCH v5 03/10] drm/bridge: it6505: add AUX operation for HDCP KSV list read

2024-09-30 Thread Hermes Wu
From: Hermes Wu HDCP KSV list readback can choose to use AUX FIFO or general data register. For some DisplayPort devices, the KSV list must be read in 5 byte boundaries. The original AUX read command does not support these devices. The AUX command operation control register "REG_AUX_CM

[PATCH v5 10/10] drm/bridge: it6505: add I2C functionality on AUX

2024-09-30 Thread Hermes Wu
From: Hermes Wu DisplayPort AUX protocol supports I2C transport which is capable of reading EDID or supports MCCS. In drm_dp_helper, drm_dp_i2c_xfer() packs I2C requests into a sequence of AUX requests. it6505_aux_i2c_operation() is implemented to match drm_dp_i2c_xfer() behavior

[PATCH v5 09/10] drm/bridge: it6505: fix HDCP CTS KSV list wait timer

2024-09-30 Thread Hermes Wu
From: Hermes Wu HDCP must disabled encryption and restart authentication after waiting KSV for 5s. The original method uses a counter in a waitting loop that may wait much longer than it is supposed to. Use time_after() for KSV wait timeout. Signed-off-by: Hermes Wu --- drivers/gpu/drm

[PATCH v6 08/10] drm/bridge: it6505: fix HDCP CTS compare V matching

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP negotiation with a repeater device. Checking SHA V' matching must retry 3 times before restarting HDCP. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 32 +++- 1 file changed, 19 insertions(+), 13 deletions(-)

[PATCH v6 07/10] drm/bridge: it6505: fix HDCP CTS KSV list read with UNIGRAF DPR-100.

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu When running the HDCP CTS test with UNIGRAF DPR-100. KSV list must be read from DP_AUX_HDCP_KSV_FIFO in an AUX request, and can not separate with multiple read requests. The AUX operation command "CMD_AUX_GET_KSV_LIST" reads the KSV list with AUX FIFO and is ab

[PATCH v6 06/10] drm/bridge: it6505: fix HDCP encryption when R0 ready

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu 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 --- drivers/gpu/

[PATCH v6 04/10] drm/bridge: it6505: Change definition MAX_HDCP_DOWN_STREAM_COUNT

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu A HDCP source device shall support max downstream to 127 devices. Change definition MAX_HDCP_DOWN_STREAM_COUNT to 127 KSVs shall save for DRM blocked devices check. This results in struct it6505 growth by ~0.5 KiB. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite

[PATCH v6 10/10] drm/bridge: it6505: add I2C functionality on AUX

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu DisplayPort AUX protocol supports I2C transport which is capable of reading EDID or supports MCCS. In drm_dp_helper, drm_dp_i2c_xfer() packs I2C requests into a sequence of AUX requests. it6505_aux_i2c_operation() is implemented to match drm_dp_i2c_xfer() operactions

[PATCH v6 00/10] drm/bridge: it6505: fix HDCP CTS fail items and add MCCS support

2024-10-16 Thread Hermes Wu via B4 Relay
t changes into patches. v2->v3: -split aux read KSV function to a patch. -[1/3] new in v3 -[2/3] add description of patch v1->v2: - ignored. Hermes Wu (10): drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE drm/bridge: it6505: improve AUX ope

[PATCH v6 03/10] drm/bridge: it6505: add AUX operation for HDCP KSV list read

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP KSV list readback can choose to use AUX FIFO or general data register. For some DisplayPort devices, the KSV list must be read in 5 byte boundaries. The original AUX read command does not support these devices. The AUX command operation control register "REG_AUX_CM

[PATCH v6 05/10] drm/bridge: it6505: fix HDCP Bstatus check

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP is activated, a DisplayPort source receiving CP_IRQ from the sink shall check Bstatus from DPCD and process the corresponding value Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions

[PATCH v6 09/10] drm/bridge: it6505: fix HDCP CTS KSV list wait timer

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP must disabled encryption and restart authentication after waiting KSV for 5s. The original method uses a counter in a waitting loop that may wait much longer than it is supposed to. Use time_after() for KSV wait timeout. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge

[PATCH v6 01/10] drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu The hardware AUX FIFO is 16 bytes Change definition of AUX_FIFO_MAX_SIZE to 16 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d

[PATCH v6 02/10] drm/bridge: it6505: improve AUX operation for edid read

2024-10-16 Thread Hermes Wu via B4 Relay
From: Hermes Wu The original AUX operation using data registers is limited to 4 bytes. The AUX operation command CMD_AUX_I2C_EDID_READ uses AUX FIFO and is capable of reading 16 bytes. This improves the speed of EDID read. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 10

[PATCH v7 00/10] drm/bridge: it6505: fix HDCP CTS fail items and add MCCS support

2024-11-03 Thread Hermes Wu via B4 Relay
- ignored. To: Andrzej Hajda To: Neil Armstrong To: Robert Foss To: Laurent Pinchart To: Jonas Karlman To: Jernej Skrabec To: Maarten Lankhorst To: Maxime Ripard To: Thomas Zimmermann To: David Airlie To: Simona Vetter To: AngeloGioacchino Del Regno To: Hermes Wu Cc: dri-devel@lists.

[PATCH v7 03/10] drm/bridge: it6505: add AUX operation for HDCP KSV list read

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP KSV list readback can choose to use AUX FIFO or general data register. For some DisplayPort devices, the KSV list must be read in 5 byte boundaries. The original AUX read command does not support these devices. The AUX command operation control register "REG_AUX_CM

[PATCH v7 02/10] drm/bridge: it6505: improve AUX operation for edid read

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu The original AUX operation using data registers is limited to 4 bytes. The AUX operation command CMD_AUX_I2C_EDID_READ uses AUX FIFO and is capable of reading 16 bytes. This improves the speed of EDID read. Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers

[PATCH v7 04/10] drm/bridge: it6505: Change definition MAX_HDCP_DOWN_STREAM_COUNT

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu A HDCP source device shall support max downstream to 127 devices. Change definition MAX_HDCP_DOWN_STREAM_COUNT to 127 KSVs shall save for DRM blocked devices check. This results in struct it6505 growth by ~0.5 KiB. Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu

[PATCH v7 08/10] drm/bridge: it6505: fix HDCP CTS compare V matching

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP negotiation with a repeater device. Checking SHA V' matching must retry 3 times before restarting HDCP. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 32 +++- 1 file changed, 19 insertions(+), 13 deletions(-)

[PATCH v7 01/10] drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu The hardware AUX FIFO is 16 bytes Change definition of AUX_FIFO_MAX_SIZE to 16 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 inser

[PATCH v7 09/10] drm/bridge: it6505: fix HDCP CTS KSV list wait timer

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP must disabled encryption and restart authentication after waiting KSV for 5s. The original method uses a counter in a waitting loop that may wait much longer than it is supposed to. Use time_after() for KSV wait timeout. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge

[PATCH v7 06/10] drm/bridge: it6505: fix HDCP encryption when R0 ready

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu 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 --- drivers/gpu/

[PATCH v7 05/10] drm/bridge: it6505: fix HDCP Bstatus check

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP is activated, a DisplayPort source receiving CP_IRQ from the sink shall check Bstatus from DPCD and process the corresponding value Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 12 +--- 1 file changed, 9

[PATCH v7 07/10] drm/bridge: it6505: fix HDCP CTS KSV list read with UNIGRAF DPR-100.

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu When running the HDCP CTS test with UNIGRAF DPR-100. KSV list must be read from DP_AUX_HDCP_KSV_FIFO in an AUX request, and can not separate with multiple read requests. The AUX operation command "CMD_AUX_GET_KSV_LIST" reads the KSV list with AUX FIFO and is ab

[PATCH v7 10/10] drm/bridge: it6505: add I2C functionality on AUX

2024-11-03 Thread Hermes Wu via B4 Relay
From: Hermes Wu DisplayPort AUX protocol supports I2C transport which is capable of reading EDID or supports MCCS. In drm_dp_helper, drm_dp_i2c_xfer() packs I2C requests into a sequence of AUX requests. it6505_aux_i2c_operation() is implemented to match drm_dp_i2c_xfer() operactions

[PATCH RESEND v7 02/10] drm/bridge: it6505: improve AUX operation for edid read

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu The original AUX operation using data registers is limited to 4 bytes. The AUX operation command CMD_AUX_I2C_EDID_READ uses AUX FIFO and is capable of reading 16 bytes. This improves the speed of EDID read. Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers

[PATCH RESEND v7 03/10] drm/bridge: it6505: add AUX operation for HDCP KSV list read

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP KSV list readback can choose to use AUX FIFO or general data register. For some DisplayPort devices, the KSV list must be read in 5 byte boundaries. The original AUX read command does not support these devices. The AUX command operation control register "REG_AUX_CM

[PATCH RESEND v7 06/10] drm/bridge: it6505: fix HDCP encryption when R0 ready

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu 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 --- drivers/gpu/

[PATCH RESEND v7 00/10] drm/bridge: it6505: fix HDCP CTS fail items and add MCCS support

2024-12-30 Thread Hermes Wu via B4 Relay
- ignored. To: Andrzej Hajda To: Neil Armstrong To: Robert Foss To: Laurent Pinchart To: Jonas Karlman To: Jernej Skrabec To: Maarten Lankhorst To: Maxime Ripard To: Thomas Zimmermann To: David Airlie To: Simona Vetter To: AngeloGioacchino Del Regno To: Hermes Wu Cc: dri-devel@lists.

[PATCH RESEND v7 04/10] drm/bridge: it6505: Change definition MAX_HDCP_DOWN_STREAM_COUNT

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu A HDCP source device shall support max downstream to 127 devices. Change definition MAX_HDCP_DOWN_STREAM_COUNT to 127 KSVs shall save for DRM blocked devices check. This results in struct it6505 growth by ~0.5 KiB. Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu

[PATCH RESEND v7 05/10] drm/bridge: it6505: fix HDCP Bstatus check

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP is activated, a DisplayPort source receiving CP_IRQ from the sink shall check Bstatus from DPCD and process the corresponding value Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 12 +--- 1 file changed, 9

[PATCH RESEND v7 09/10] drm/bridge: it6505: fix HDCP CTS KSV list wait timer

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu HDCP must disabled encryption and restart authentication after waiting KSV for 5s. The original method uses a counter in a waitting loop that may wait much longer than it is supposed to. Use time_after() for KSV wait timeout. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge

[PATCH RESEND v7 01/10] drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu The hardware AUX FIFO is 16 bytes Change definition of AUX_FIFO_MAX_SIZE to 16 Fixes: b5c84a9edcd4 ("drm/bridge: add it6505 driver") Reviewed-by: Dmitry Baryshkov Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 2 +- 1 file changed, 1 inser

[PATCH RESEND v7 07/10] drm/bridge: it6505: fix HDCP CTS KSV list read with UNIGRAF DPR-100.

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu When running the HDCP CTS test with UNIGRAF DPR-100. KSV list must be read from DP_AUX_HDCP_KSV_FIFO in an AUX request, and can not separate with multiple read requests. The AUX operation command "CMD_AUX_GET_KSV_LIST" reads the KSV list with AUX FIFO and is ab

[PATCH RESEND v7 08/10] drm/bridge: it6505: fix HDCP CTS compare V matching

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu When HDCP negotiation with a repeater device. Checking SHA V' matching must retry 3 times before restarting HDCP. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 32 +++- 1 file changed, 19 insertions(+), 13 deletions(-)

[PATCH RESEND v7 10/10] drm/bridge: it6505: add I2C functionality on AUX

2024-12-30 Thread Hermes Wu via B4 Relay
From: Hermes Wu DisplayPort AUX protocol supports I2C transport which is capable of reading EDID or supports MCCS. In drm_dp_helper, drm_dp_i2c_xfer() packs I2C requests into a sequence of AUX requests. it6505_aux_i2c_operation() is implemented to match drm_dp_i2c_xfer() operactions

[PATCH v2] drm/bridge: it6505: support hdmi_codec_ops for audio stream setup

2025-02-02 Thread Hermes Wu via B4 Relay
From: Hermes Wu For supporting audio form I2S to DP audio data sub stream. Add hdmi_audio callbacks to drm_bridge_funcs for the HDMI codec framework. The DRM_BRIDGE_OP_HDMI flag in bridge.ops must be set, and hdmi_write_infoframe and hdmi_clear_infoframe are necessary for the

[PATCH v3 0/2] drm/bridge: it6505: add audio support with DRM HDMI codec framework

2025-02-04 Thread Hermes Wu via B4 Relay
: Hermes Wu --- Changes in v3: - Separate DRM_BRIDGE_OP_HDMI supports and audio callbacks into two commits. - Link to v2: https://lore.kernel.org/r/20250203-add-audio-codec-v2-1-5c8cd72ee...@ite.com.tw Changes in v2: - Use DRM HDMI codec framewrok for audio stream setup. - Link to v1: https

[PATCH v3 1/2] drm/bridge: it6505: add support DRM_BRIDGE_OP_HDMI to drm_bridge

2025-02-04 Thread Hermes Wu via B4 Relay
From: Hermes Wu Add DRM_BRIDGE_OP_HDMI to bridge.ops and implement necessary callback functions. The native AVI and AUDIO infoframe configuration API are removed. In .atomic_enable use drm_atomic_helper_connector_hdmi_update_infoframes(). for infoframe updates. Signed-off-by: Hermes Wu

[PATCH v3 2/2] drm/bridge: it6505: add audio support to drm_bridge_funcs

2025-02-04 Thread Hermes Wu via B4 Relay
From: Hermes Wu For supporting audio form I2S to DP audio data sub stream. Add hdmi_audio callbacks to drm_bridge_funcs for the HDMI codec framework. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 46 + 1 file changed, 46 insertions

[PATCH v2] drm/bridge: it6505: fix HDCP V match check is not performed correctly

2025-01-08 Thread Hermes Wu via B4 Relay
From: Hermes Wu The loop of V compare is expected to iterate for 5 times which compare V array form av[0][] to av[4][]. It should check loop counter reach the last statement before return true Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matching") Reviewed-

[PATCH v3] drm/bridge: it6505: fix HDCP V match check is not performed correctly

2025-01-08 Thread Hermes Wu via B4 Relay
From: Hermes Wu The loop of V compare is expected to iterate for 5 times which compare V array form av[0][] to av[4][]. It should check loop counter reach the last statement "i == 5" before return true Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matchin

[PATCH] drm/bridge: it6505: support hdmi_codec_ops for audio stream setup

2025-01-21 Thread Hermes Wu via B4 Relay
From: Hermes Wu IT6505 supports audio form I2S to DP audio data sub stream Support audio codec operation include hw_params, audio_startup, audio_shutdown, hook_plugged_cb. In order to prevent pop noise from sink devise, delay audio by after I2S signal is enable by source. Signed-off-by

[PATCH v4] drm/bridge: it6505: fix HDCP V match check is not performed correctly

2025-01-20 Thread Hermes Wu via B4 Relay
From: Hermes Wu Fix a typo where V compare incorrectly compares av[] with av[] itself, which can result in HDCP failure. The loop of V compare is expected to iterate for 5 times which compare V array form av[0][] to av[4][]. It should check loop counter reach the last statement "i == 5&qu

[PATCH 0/3] drm/bridge: it6505: fix DP link traning and improve compatibility

2025-01-23 Thread Hermes Wu via B4 Relay
to beginning, and never try step training method. Modify training method improve compatibility to these DP devices. Signed-off-by: Hermes Wu --- Hermes Wu (3): drm/bridge: it6505: modify DP link auto training drm/bridge: it6505: modify DP link training work drm/bridge: it6505

[PATCH 1/3] drm/bridge: it6505: modify DP link auto training

2025-01-23 Thread Hermes Wu via B4 Relay
From: Hermes Wu IT6505 supports HW link training which will write DPCD and check training status automatically. In the case that driver set link rate at 2.7G and HW fail to training, it will change link configuration and try 1.65G. And this will cause INT_VID_FIFO_ERROR triggered when link

[PATCH 3/3] drm/bridge: it6505: skip auto training when previous try fail

2025-01-23 Thread Hermes Wu via B4 Relay
From: Hermes Wu When connect to device which can only training done by step training, skip auto training when link training restart, usually happen when display resolution is changed. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 36 +--- 1

[PATCH 2/3] drm/bridge: it6505: modify DP link training work

2025-01-23 Thread Hermes Wu via B4 Relay
From: Hermes Wu The DP link training work include auto training and after auto training failed "auto_train_retry" times, it switch to step training mode. It will more efficiency that finish link auto training, include retry, and step training in a work, rather than re-schedule train

[PATCH] drm/bridge: it6505: fix HDCP V match check is not performed correctly

2025-01-07 Thread Hermes Wu via B4 Relay
From: Hermes Wu The loop of V compare is expected to iterate for 5 times which compare V array form av[0][] to av[4][]. It should check loop counter reach the last statement before return true Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matching") Signed-off-by:

[PATCH RESEND 2/3] drm/bridge: it6505: modify DP link training work

2025-03-18 Thread Hermes Wu via B4 Relay
From: Hermes Wu The DP link training work include auto training and after auto training failed "auto_train_retry" times, it switch to step training mode. It will more efficiency that finish link auto training, include retry, and step training in a work, rather than re-schedule train

[PATCH RESEND 1/3] drm/bridge: it6505: modify DP link auto training

2025-03-18 Thread Hermes Wu via B4 Relay
From: Hermes Wu IT6505 supports HW link training which will write DPCD and check training status automatically. In the case that driver set link rate at 2.7G and HW fail to training, it will change link configuration and try 1.65G. And this will cause INT_VID_FIFO_ERROR triggered when link

[PATCH RESEND 0/3] drm/bridge: it6505: fix DP link traning and improve compatibility

2025-03-18 Thread Hermes Wu via B4 Relay
beginning, and never try step training method. Modify training method improve compatibility to these DP devices. Signed-off-by: Hermes Wu --- Hermes Wu (3): drm/bridge: it6505: modify DP link auto training drm/bridge: it6505: modify DP link training work drm/bridge: it6505

[PATCH v3 1/5] drm/bridge: it6505: fix link training state HW register reset

2025-04-05 Thread Hermes Wu via B4 Relay
From: Hermes Wu When connect to a DP-to-HDMI device which does not connect to HDMI sink, it will report DPCD 00200h with SINK_COUNT = "0", and issue HPD_IRQ when SINK_COUNT change to "1". IT6505 can not recive HPD_IRQ before training done and driver will force HW enter trai

[PATCH RESEND 3/3] drm/bridge: it6505: skip auto training when previous try fail

2025-04-05 Thread Hermes Wu via B4 Relay
From: Hermes Wu When connect to device which can only training done by step training, skip auto training when link training restart, usually happen when display resolution is changed. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 36 +--- 1

[PATCH v2 4/5] drm/bridge: it6505: modify DP link training work

2025-03-25 Thread Hermes Wu via B4 Relay
From: Hermes Wu The DP link training work include auto training and after auto training failed "AUTO_TRAIN_RETRY" times, it switch to step training mode. It will more efficiency that finish link auto training, include retry, and step training in a work, rather than re-schedule train

[PATCH v2 1/5] drm/bridge: it6505: fix link training state HW register reset

2025-03-25 Thread Hermes Wu via B4 Relay
From: Hermes Wu In order to reset HW link auto training state, bits FORCE_RETRAIN and MANUAL_TRAIN at REG_TRAIN_CTRL1 must be set at the same time. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a

[PATCH v2 5/5] drm/bridge: it6505: skip auto training when previous try fail

2025-03-25 Thread Hermes Wu via B4 Relay
From: Hermes Wu When connect to device which can only training done by step training, skip auto training when link training restart, usually happen when display resolution is changed. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 29 + 1 file

[PATCH v2 3/5] drm/bridge: it6505: modify DP link auto training

2025-03-25 Thread Hermes Wu via B4 Relay
From: Hermes Wu IT6505 supports HW link training which will write DPCD and check training status automatically. In the case that driver set link rate at 2.7G and HW fail to training, it will change link configuration and try 1.65G. And this will cause INT_VID_FIFO_ERROR triggered when link

[PATCH v2 2/5] drm/bridge: it6505: check INT_LINK_TRAIN_FAIL while link auto training

2025-03-25 Thread Hermes Wu via B4 Relay
From: Hermes Wu When start link training, interrupt status INT_LINK_TRAIN_FAIL can use to check link training fail and no need to wait until timeout. it6505_irq_link_train_fail() remove from interrupt and no longer used. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 25

[PATCH v2 0/5] drm/bridge: it6505: fix DP link traning and improve compatibility

2025-03-25 Thread Hermes Wu via B4 Relay
ing-v1-0-192667111...@ite.com.tw/ Signed-off-by: Hermes Wu --- Hermes Wu (5): drm/bridge: it6505: fix link training state HW register reset drm/bridge: it6505: check INT_LINK_TRAIN_FAIL while link auto training drm/bridge: it6505: modify DP link auto training drm/bridge: it6

[PATCH v3 5/5] drm/bridge: it6505: skip auto training when previous try fail

2025-04-01 Thread Hermes Wu via B4 Relay
From: Hermes Wu When connect to device which can only training done by step training, skip auto training when link training restart, usually happen when display resolution is changed. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 8 ++-- 1 file changed, 6 insertions

[PATCH v3 3/5] drm/bridge: it6505: modify DP link auto training

2025-04-01 Thread Hermes Wu via B4 Relay
From: Hermes Wu IT6505 supports HW link training which will write DPCD and check training status automatically. In the case that driver set link rate at 2.7G and HW fail to training, it will change link configuration and try 1.65G. And this will cause INT_VID_FIFO_ERROR triggered when link

[PATCH v3 4/5] drm/bridge: it6505: modify DP link training work

2025-04-01 Thread Hermes Wu via B4 Relay
From: Hermes Wu The DP link training work include auto training and after auto training failed "AUTO_TRAIN_RETRY" times, it switch to step training mode. It will more efficiency that finish link auto training, include retry, and step training in a work, rather than re-schedule train

[PATCH v3 0/5] drm/bridge: it6505: fix DP link traning and improve compatibility

2025-04-01 Thread Hermes Wu via B4 Relay
beginning, and never try step training method. Modify training method improve compatibility to these DP devices. Signed-off-by: Hermes Wu --- Changes in v3: - Patch 1/5 : add commit message for detial about changes - Patch 2/5 : fix lost variable struct device *dev; - Patch 3/5 : keep changes

[PATCH v3 2/5] drm/bridge: it6505: check INT_LINK_TRAIN_FAIL while link auto training

2025-04-01 Thread Hermes Wu via B4 Relay
From: Hermes Wu When start link training, interrupt status INT_LINK_TRAIN_FAIL can use to check link training fail and no need to wait until timeout. it6505_irq_link_train_fail() remove from interrupt and no longer used. Signed-off-by: Hermes Wu --- drivers/gpu/drm/bridge/ite-it6505.c | 26

  1   2   >