[PATCH v12 07/10] drm/mediatek: add hpd debounce
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Mon Jun 27 03:19:07 PDT 2022
Il 27/06/22 10:03, Bo-Chen Chen ha scritto:
> From: Jitao Shi <jitao.shi at mediatek.com>
>
> From the DP spec 1.4a chapter 3.3, upstream devices should implement
> HPD signal de-bouncing on an external connection.
> A period of 100ms should be used to detect an HPD connect event.
> To cover these cases, HPD de-bounce should be implemented only after
> HPD low has been detected for at least 100ms.
>
> Therefore,
> 1. If HPD is low (which means plugging out) for longer than 100ms:
> we need to do de-bouncing (which means we need to wait for 100ms).
> 2. If HPD low is for less than 100ms:
> we don't need to care about the de-bouncing.
>
> In this patch, we start a 100ms timer and use a need_debounce boolean
> to implement the feature.
>
> Two cases when HPD is high:
> 1. If the timer is expired (>100ms):
> - need_debounce is true.
> - When HPD high (plugging event comes), need_debounce will be true
> and then we need to do de-bouncing (wait for 100ms).
> 2. If the timer is not expired (<100ms):
> - need_debounce is false.
> - When HPD high (plugging event comes), need_debounce will be false
> and no need to do de-bouncing.
>
> HPD_______ __________________
> | |<- 100ms ->
> |____________|
> <- 100ms ->
>
> Without HPD de-bouncing, USB-C to HDMI Adapaters will not be detected.
>
> The change has been successfully tested with the following devices:
> - Dell Adapter - USB-C to HDMI
> - Acer 1in1 HDMI dongle
> - Ugreen 1in1 HDMI dongle
> - innowatt HDMI + USB3 hub
> - Acer 2in1 HDMI dongle
> - Apple 3in1 HDMI dongle (A2119)
> - J5Create 3in1 HDMI dongle (JAC379)
>
> Tested-by: Rex-BC Chen <rex-bc.chen at mediatek.com>
> Reviewed-by: Rex-BC Chen <rex-bc.chen at mediatek.com>
> Signed-off-by: Jitao Shi <jitao.shi at mediatek.com>
> Signed-off-by: Guillaume Ranquet <granquet at baylibre.com>
> Signed-off-by: Bo-Chen Chen <rex-bc.chen at mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
More information about the linux-arm-kernel
mailing list