[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-mediatek mailing list