Re: [PATCH v1 1/3] i3c: master: svc: Fix missing the IBI rules

From: Frank Li
Date: Mon Mar 17 2025 - 09:37:29 EST


On Mon, Mar 17, 2025 at 01:19:49PM +0800, Stanley Chu wrote:
> From: Stanley Chu <yschu@xxxxxxxxxxx>
>
> The code does not add IBI rules for devices with controller capability.
> However, some target devices, such as secondary controller, also have
^^ dual rule devices

OR

However, the second controller have the controller capablity and work at
target devices mode when the device probe. So add IBI rules for such
devices.


> the controller capability.
> Modify the code to add rules for devices capable of sending IBI requests.
>
> Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver")
> Signed-off-by: Stanley Chu <yschu@xxxxxxxxxxx>


Reviewed-by: Frank Li <Frank.Li@xxxxxxx>


> ---
> 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
>