i3c: master: fix for SETDASA and DAA process
authorParshuram Thombare <pthombar@cadence.com>
Tue, 25 Aug 2020 06:31:49 +0000 (08:31 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Mon, 14 Sep 2020 07:05:58 +0000 (09:05 +0200)
commitcc3a392d69b62e21d016f0d45be688af133f9122
treedd15f874d5100bbbdf80d73de85b5699a3a21483
parent9da36a7ec42135428e1d41621e3703429bda3b2e
i3c: master: fix for SETDASA and DAA process

This patch fix following issue.
Controller slots blocked for devices with static_addr
but no init_dyn_addr may limit the number of I3C devices
on the bus which gets dynamic address in DAA. So
instead of attaching all the devices with static_addr,
now we only attach the devices which successfully
complete SETDASA. For remaining devices with init_dyn_addr,
i3c_master_add_i3c_dev_locked() will try to set requested
dynamic address after DAA.

Signed-off-by: Parshuram Thombare <pthombar@cadence.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-i3c/1598337109-14770-1-git-send-email-pthombar@cadence.com
drivers/i3c/master.c