diff options
author | Frank Li <Frank.Li@nxp.com> | 2024-10-02 17:50:36 +0300 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2024-11-01 01:53:39 +0300 |
commit | f36f6624cbacb31d25d2cc11dfb1e74cd2a3996e (patch) | |
tree | 29feece016db316bdff40ef11275a98bed173fcf /tools/perf/scripts/python/syscall-counts-by-pid.py | |
parent | 6a12f56f7392cfdd2f31ef9a090ccadadae548e8 (diff) | |
download | linux-f36f6624cbacb31d25d2cc11dfb1e74cd2a3996e.tar.xz |
i3c: master: svc: use spin_lock_irqsave at svc_i3c_master_ibi_work()
According to I3C spec ver 1.1, 09-Jun-2021, section 5.1.2.5:
The I3C Controller shall hold SCL low while the Bus is in ACK/NACK Phase of
I3C/I2C transfer. But maximum stall time is 100us. The IRQs have to be
disabled to prevent schedule during the whole I3C transaction, otherwise,
the I3C bus timeout may happen if any irq or schedule happen during
transaction.
Replace mutex with spin_lock_irqsave() to avoid stalling SCL more than
100us.
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20241002-svc-i3c-hj-v6-4-7e6e1d3569ae@nxp.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts-by-pid.py')
0 files changed, 0 insertions, 0 deletions