aboutsummaryrefslogtreecommitdiff
path: root/drivers/soc/actions
diff options
context:
space:
mode:
authorMario Limonciello2023-03-10 11:20:50 -0600
committerMika Westerberg2023-03-20 09:38:40 +0200
commit468c49f44759720a312e52d44a71c3949ed63d7c (patch)
tree1e46bf9682eddc5ada7f3de7b3dd0384682e8d65 /drivers/soc/actions
parent1716efdb07938bd6510e1127d02012799112c433 (diff)
thunderbolt: Disable interrupt auto clear for rings
When interrupt auto clear is programmed, any read to the interrupt status register will clear all interrupts. If two interrupts have come in before one can be serviced then this will cause lost interrupts. On AMD USB4 routers this has manifested in odd problems particularly with long strings of control tranfers such as reading the DROM via bit banging. Instead of clearing interrupts automatically, clear the bit corresponding to the given ring's interrupt in the ISR. Fixes: 7a1808f82a37 ("thunderbolt: Handle ring interrupt by reading interrupt status register") Cc: Sanju Mehta <Sanju.Mehta@amd.com> Cc: stable@vger.kernel.org Tested-by: Anson Tsao <anson.tsao@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/soc/actions')
0 files changed, 0 insertions, 0 deletions