Re: [PATCH v4 1/2] drm/msm/dp: handle irq_hpd with sink_count = 0 correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-05-21 12:18, Stephen Boyd wrote:
Quoting khsieh@xxxxxxxxxxxxxx (2021-05-21 08:21:58)
>
> Ok. So you're saying that we want to put both events on the queue
> regardless, and put IRQ_HPD there first because we want to check the
> status bit? Doesn't reading the status bit require the dongle to be
> connected though? So if an unplug came in along with an irq_hpd we may
> queue both the irq_hpd and the unplug, but when it comes time to
> process
> the irq_hpd in the kthread the link will be gone and so trying the dpcd
> read for the link status will fail?
>
yes,
we had a previous bug with this scenarios already.
https://partnerissuetracker.corp.google.com/issues/170598152
At this case, dongle produce two interrupts, irq_hpd followed by unplug immediately (not presented at isr status register at same time), at the
time dongle unplugged form DTU.
But due to dp ctrl reset at handling irq_hpd which cause unplug mask bit
be cleared so that unplug interrupt got lost.


Again, wouldn't that be too late if the hardirq handler is delayed to
the point that the two irqs are pending in the isr status register?

yes,
but that not much dp driver can do.
As long as DP driver can recovery (shut down gracefully) and ready for next plugin, then i think it should be fine.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux