summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorStanley Chu <yschu@nuvoton.com>2025-03-18 13:36:04 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:33:36 +0200
commit3d381442253fba4887b214565d0de0d3d93023bf (patch)
treef5f4fc38adaa12577fb2096ec07c97f2e00b38e2 /drivers
parentb0686d0d7630777750c148c8602cbc8d05280cf7 (diff)
downloadlinux-3d381442253fba4887b214565d0de0d3d93023bf.tar.gz
linux-3d381442253fba4887b214565d0de0d3d93023bf.tar.bz2
linux-3d381442253fba4887b214565d0de0d3d93023bf.zip
i3c: master: svc: Fix missing the IBI rules
[ Upstream commit 9cecad134d84d14dc72a0eea7a107691c3e5a837 ] The code does not add IBI rules for devices with controller capability. However, the secondary controller has the controller capability and works at target mode when the device is probed. Therefore, add IBI rules for such devices. Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") Signed-off-by: Stanley Chu <yschu@nuvoton.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20250318053606.3087121-2-yschu@nuvoton.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i3c/master/svc-i3c-master.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
index 9039ebef8648..157ff26d40be 100644
--- a/drivers/i3c/master/svc-i3c-master.c
+++ b/drivers/i3c/master/svc-i3c-master.c
@@ -943,7 +943,7 @@ static int svc_i3c_update_ibirules(struct svc_i3c_master *master)
/* Create the IBIRULES register for both cases */
i3c_bus_for_each_i3cdev(&master->base.bus, dev) {
- if (I3C_BCR_DEVICE_ROLE(dev->info.bcr) == I3C_BCR_I3C_MASTER)
+ if (!(dev->info.bcr & I3C_BCR_IBI_REQ_CAP))
continue;
if (dev->info.bcr & I3C_BCR_IBI_PAYLOAD) {