[PATCH v1] i3c: mipi-i3c-hci: Support SETDASA CCC

Billy Tsai posted 1 patch 1 week, 3 days ago
drivers/i3c/master/mipi-i3c-hci/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH v1] i3c: mipi-i3c-hci: Support SETDASA CCC
Posted by Billy Tsai 1 week, 3 days ago
When the I3C subsystem wants to assign a dynamic address using the SETDASA
CCC, it needs to attach the I3C device with device info that includes only
the static address. In the HCI, if the driver want to send this SETDASA
CCC, a DAT entry is required to temporarily fill the device's static
address into the dynamic address field. Afterward, the reattach API will
be executed to update the DAT with the correct dynamic addrees value.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
---
 drivers/i3c/master/mipi-i3c-hci/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
index a82c47c9986d..6655e8396a35 100644
--- a/drivers/i3c/master/mipi-i3c-hci/core.c
+++ b/drivers/i3c/master/mipi-i3c-hci/core.c
@@ -438,7 +438,8 @@ static int i3c_hci_attach_i3c_dev(struct i3c_dev_desc *dev)
 			kfree(dev_data);
 			return ret;
 		}
-		mipi_i3c_hci_dat_v1.set_dynamic_addr(hci, ret, dev->info.dyn_addr);
+		mipi_i3c_hci_dat_v1.set_dynamic_addr(hci, ret,
+						     dev->info.dyn_addr ?: dev->info.static_addr);
 		dev_data->dat_idx = ret;
 	}
 	i3c_dev_set_master_data(dev, dev_data);
-- 
2.25.1
Re: [PATCH v1] i3c: mipi-i3c-hci: Support SETDASA CCC
Posted by Alexandre Belloni 4 days, 19 hours ago
On Wed, 13 Nov 2024 11:58:26 +0800, Billy Tsai wrote:
> When the I3C subsystem wants to assign a dynamic address using the SETDASA
> CCC, it needs to attach the I3C device with device info that includes only
> the static address. In the HCI, if the driver want to send this SETDASA
> CCC, a DAT entry is required to temporarily fill the device's static
> address into the dynamic address field. Afterward, the reattach API will
> be executed to update the DAT with the correct dynamic addrees value.
> 
> [...]

Applied, thanks!

[1/1] i3c: mipi-i3c-hci: Support SETDASA CCC
      https://git.kernel.org/abelloni/c/2b50719dd92f

Best regards,

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH v1] i3c: mipi-i3c-hci: Support SETDASA CCC
Posted by Jarkko Nikula 1 week, 1 day ago
On 11/13/24 5:58 AM, Billy Tsai wrote:
> When the I3C subsystem wants to assign a dynamic address using the SETDASA
> CCC, it needs to attach the I3C device with device info that includes only
> the static address. In the HCI, if the driver want to send this SETDASA
> CCC, a DAT entry is required to temporarily fill the device's static
> address into the dynamic address field. Afterward, the reattach API will
> be executed to update the DAT with the correct dynamic addrees value.
> 
> Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
> ---
>   drivers/i3c/master/mipi-i3c-hci/core.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
(Minor comment to the subject. Is this rather fix than support SETDASA?)

Reviewed-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>