[PATCH v3 00/11] i3c: master: some fix and improvemnt for hotjoin

Frank Li
2024-08-19T16:02:36Z

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Changes in v3:
- Fix build warning
kernel test robot noticed the following build warnings:

url: https://github.com/intel-lab-lkp/linux/commits/Frank-Li/i3c-master-Remove-i3c_dev_disable_ibi_locked-olddev-on-device-hotjoin/20240814-234209
base: 41c196e567fb1ea97f68a2ffb7faab451cd90854
patch link: https://lore.kernel.org/r/20240813-i3c_fix-v2-10-68fe4a050188%40nxp.com
patch subject: [PATCH v2 10/11] i3c: master: svc: wait for Manual ACK/NACK Done before next step
config: x86_64-randconfig-161-20240817 (https://download.01.org/0day-ci/archive/20240818/202408180012.ifcIOjgX-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202408180012.ifcIOjgX-lkp@intel.com/

- Link to v2: https://lore.kernel.org/r/20240813-i3c_fix-v2-0-68fe4a050188@nxp.com

Changes in v2:
- add help function at i3c: master: svc: manually emit NACK/ACK for hotjoin F
Add below new fix patch
i3c: master: svc: fix possible assignment of the same address to two devices
i3c: master: svc: wait for Manual ACK/NACK Done before next step
i3c: master: svc: use spinlock_saveirq at svc_i3c_master_ibi_work()
i3c: master: svc: need check IBIWON for dynamtica address assign

- Link to v1: https://lore.kernel.org/r/20240724-i3c_fix-v1-0-bfa500b023d6@nxp.com

---
Frank Li (11):
i3c: master: Remove i3c_dev_disable_ibi_locked(olddev) on device hotjoin
i3c: master: Replace hard code 2 with macro I3C_ADDR_SLOT_BITS
i3c: master: Extend address status bit to 4 and add I3C_ADDR_SLOT_EXT_INIT
i3c: master: Fix dynamic address leak when 'assigned-address' is present
i3c: master: Fix miss free init_dyn_addr at i3c_master_put_i3c_addrs()
i3c: master: svc: use repeat start when IBI WIN happens
i3c: master: svc: manually emit NACK/ACK for hotjoin
i3c: master: svc: need check IBIWON for dynamtica address assign
i3c: master: svc: use spinlock_saveirq at svc_i3c_master_ibi_work()
i3c: master: svc: wait for Manual ACK/NACK Done before next step
i3c: master: svc: fix possible assignment of the same address to two devices

drivers/i3c/master.c | 66 ++++++++++++++---------
drivers/i3c/master/svc-i3c-master.c | 104 ++++++++++++++++++++++++++----------
include/linux/i3c/master.h | 8 ++-
3 files changed, 125 insertions(+), 53 deletions(-)
---
base-commit: 41c196e567fb1ea97f68a2ffb7faab451cd90854
change-id: 20240724-i3c_fix-371bf8fa9e00

Best regards,
---
Frank Li <Frank.Li@nxp.com>