]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i3c: mipi-i3c-hci: Add Intel specific quirk to ring resuming
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Tue, 31 Dec 2024 11:59:03 +0000 (13:59 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 13:01:23 +0000 (14:01 +0100)
commit2b5547ce45e9c60a2d3fcf0680a36c0a5dea4bec
tree3551e03468a22c698cf9fdd89de296807a50b19f
parent3d5c53cf3c2026e8feed648b80be1e7b9bcd259f
i3c: mipi-i3c-hci: Add Intel specific quirk to ring resuming

[ Upstream commit ccdb2e0e3b00d13df90ac7a0524dd855173f1171 ]

MIPI I3C HCI on Intel hardware requires a quirk where ring needs to stop
and set to run again after resuming the halted controller. This is not
expected from the MIPI I3C HCI specification and is Intel specific.

Add this quirk to generic aborted transfer handling and execute it only
when ring is not in running state after a transfer error and attempted
controller resume. This is the case on Intel hardware.

It is not fully clear to me what is the ring running state in generic
hardware in such case. I would expect if ring is not running, then stop
request is a no-op and run request is either required or does the same
what controller resume would do.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Link: https://lore.kernel.org/r/20241231115904.620052-1-jarkko.nikula@linux.intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i3c/master/mipi-i3c-hci/dma.c