Files
kernel_common_drivers/include/linux
hang cheng 8e5f09cfa4 hdmitx: optimise hpd flow [1/1]
PD#SWPL-104023

Problem:
1.hdmitx_event flag can be set/cleared in
both top/bottom half of hpd interrupt, so
there may be write concurrency of this flag,
subsequent plug in event may be ignored
if the first plugin handler clear the
this flag of the second plugin event
2.hpd change event during bootup may be
lost to process, as there's opportunity
there's hpd event come between hpd level
read/handler and hpd irq enable

Solution:
optimise hpd flow
1.use hw hpd state to indicate the hpd
intr state and only change in top half
of hpd irq handler. use sw hpd flag to
indicate if plugout/in bottom half done
2.lock mutex-> enable hpd irq-> do hpd
top half handler-> do hpd bottom half
handler->unlock mutex, so that all hpd
irq will be handled.

Verify:
ohm

Test:
hotplug

Change-Id: I5347a37f022dd37c5a5a436101af440aa49dd662
Signed-off-by: hang cheng <hang.cheng@amlogic.com>
2023-10-07 17:35:46 +08:00
..
2023-10-07 17:35:46 +08:00