linux/drivers/i3c/master
Jisheng Zhang cab40cfc9e i3c: dw: reduce do_daa time if there's no client
dw_i3c_master_daa() derives the number of newly assigned dynamic
addresses from cmd->rx_len, the ISR sets it to the number of address
slots ENTDAA left unassigned. It starts out as zero, which already
means "every address was assigned", so a timed out transfer leaves
that value in place and it gets used as a result.

If there's no client connected, the addr assign cmd times out, then
the driver calls i3c_master_add_i3c_dev_locked() to add devices that
are not there, each costing about 1s, thus adds non necessary boot
time up to (maxdev * 1)s.

Start from maxdevs instead: no address is assigned before ENTDAA runs,
and the existing rx_count >= maxdevs check then reports an empty bus.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260819044833.32611-1-jszhang@kernel.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2026-08-19 09:28:33 +02:00
..
mipi-i3c-hci i3c: mipi-i3c-hci: Add support for AMD_PT I3C controller 2026-08-18 23:19:34 +02:00
adi-i3c-master.c i3c: master: adi: add OF module alias for autoloading 2026-07-31 09:28:14 +02:00
amd-i3c-master.c i3c: master: Add driver for AMD AXI I3C master controller 2026-07-31 09:28:12 +02:00
ast2600-i3c-master.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
dw-i3c-master.c i3c: dw: reduce do_daa time if there's no client 2026-08-19 09:28:33 +02:00
dw-i3c-master.h i3c: master: dw-i3c-master: fix OD timing for first broadcast 2026-08-08 15:10:34 +02:00
i3c-master-cdns.c i3c: master: Report actual GET CCC payload length on success 2026-07-31 09:28:12 +02:00
Kconfig i3c: master: Add driver for AMD AXI I3C master controller 2026-07-31 09:28:12 +02:00
Makefile i3c: master: Add driver for AMD AXI I3C master controller 2026-07-31 09:28:12 +02:00
renesas-i3c.c i3c: renesas: Don't register devices when ENTDAA times out 2026-08-08 15:12:39 +02:00
svc-i3c-master.c i3c: master: Report actual GET CCC payload length on success 2026-07-31 09:28:12 +02:00