[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250318053606.3087121-2-yschu@nuvoton.com>
Date: Tue, 18 Mar 2025 13:36:04 +0800
From: Stanley Chu <stanley.chuys@...il.com>
To: frank.li@....com,
miquel.raynal@...tlin.com,
alexandre.belloni@...tlin.com,
linux-i3c@...ts.infradead.org
Cc: linux-kernel@...r.kernel.org,
tomer.maimon@...oton.com,
kwliu@...oton.com,
yschu@...oton.com
Subject: [PATCH v2 1/3] i3c: master: svc: Fix missing the IBI rules
From: Stanley Chu <yschu@...oton.com>
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@...oton.com>
---
drivers/i3c/master/svc-i3c-master.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
index 1d1f351b9a85..a72ba5a7edd4 100644
--- a/drivers/i3c/master/svc-i3c-master.c
+++ b/drivers/i3c/master/svc-i3c-master.c
@@ -1106,7 +1106,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) {
--
2.34.1
Powered by blists - more mailing lists