Skip to content

i3c: Hot-Join improvements and MIPI HCI Hot-Join support

Adrian Hunter linux-i3c lkml 3 versions – Applied

Status from this message: Applied, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest8 patches 1 replyApplied
  2. v28 patches 3 repliesSuperseded
  3. v18 patches 23 repliesSuperseded

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/8i3c: master: Make hot-join workqueue freezable to block hot-join during suspenddrivers/i3c/master.c include/linux/i3c/master.h+2 -20 replies
2/8i3c: master: Serialize i3c_set_hotjoin() with the maintenance lockdrivers/i3c/master.c+2 -20 replies
3/8i3c: master: Consolidate Hot-Join DAA work in the coredrivers/i3c/master.c drivers/i3c/master/dw-i3c-master.c drivers/i3c/master/dw-i3c-master.h +3 more+29 -410 replies
4/8i3c: master: Ensure Hot-Join operations are stopped on shutdowndrivers/i3c/master.c include/linux/i3c/master.h+39 -150 replies
5/8i3c: dw: Drop redundant Hot-Join cancel_work_sync() in shutdowndrivers/i3c/master/dw-i3c-master.c+0 -20 replies
6/8i3c: master: Defer new-device registration out of DAA caller contextdrivers/i3c/master.c include/linux/i3c/master.h+26 -70 replies
7/8i3c: master: Export i3c_master_enec_disec_locked()drivers/i3c/master.c include/linux/i3c/master.h+26 -30 replies
8/8i3c: mipi-i3c-hci: Add Hot-Join supportdrivers/i3c/master/mipi-i3c-hci/core.c drivers/i3c/master/mipi-i3c-hci/dma.c drivers/i3c/master/mipi-i3c-hci/hci.h +1 more+58 -30 replies

Reviews trailers per patch

All 8 patches have a Reviewed-by or Acked-by.

PatchFrank Li
1/8R-b
2/8R-b
3/8R-b
4/8R-b
5/8R-b
6/8R-b
7/8R-b
8/8R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH V3 0/8] i3c: Hot-Join improvements and MIPI HCI Hot-Join support

Hi

This series tightens the I3C core's handling of Hot-Join across system suspend, shutdown and unregister, consolidates the per-driver Hot-Join worker into the core, and finally wires the MIPI I3C HCI driver into the new Hot-Join framework.

Note all patches have now been reviewed by Frank.

It applies on top of:

https://lore.kernel.org/linux-i3c/[email protected]/

which is also fully reviewed by Frank.

Patches 1-2 fix latent races in the existing Hot-Join machinery (suspend vs. Hot-Join work, and concurrent sysfs writers).

Patches 3-5 consolidate the per-driver Hot-Join worker into the core and add proper teardown via an i3c_bus_type shutdown callback.

Patch 6 defers driver-model registration of newly discovered devices out of the DAA caller's context, so resume-time DAA does not push device probing into the controller's resume sequence.

Patches 7-8 add Hot-Join support to MIPI I3C HCI.

Changes in V3:

i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock
Add Frank's Rev'd by

i3c: master: Defer new-device registration out of DAA caller context
Add Frank's Rev'd by

Changes in V2:

i3c: master: Make hot-join workqueue freezable to block hot-join during suspend
Add Fixes tag
Add Frank's Rev'd by

i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock
Add Fixes tag

i3c: master: Consolidate Hot-Join DAA work in the core
Add Frank's Rev'd by

i3c: master: Ensure Hot-Join operations are stopped on shutdown
Add dependency note to commit message
Add Fixes tag
Add Frank's Rev'd by

i3c: dw: Drop redundant Hot-Join cancel_work_sync() in shutdown
Add Frank's Rev'd by

i3c: master: Defer new-device registration out of DAA caller context
Add comment about reg_work use
Add Fixes tag

i3c: master: Export i3c_master_enec_disec_locked()
Add Frank's Rev'd by

i3c: mipi-i3c-hci: Add Hot-Join support
Add Frank's Rev'd by

Adrian Hunter (8):
i3c: master: Make hot-join workqueue freezable to block hot-join during suspend
i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock
i3c: master: Consolidate Hot-Join DAA work in the core
i3c: master: Ensure Hot-Join operations are stopped on shutdown
i3c: dw: Drop redundant Hot-Join cancel_work_sync() in shutdown
i3c: master: Defer new-device registration out of DAA caller context
i3c: master: Export i3c_master_enec_disec_locked()
i3c: mipi-i3c-hci: Add Hot-Join support

 drivers/i3c/master.c                   | 129 ++++++++++++++++++++++++++-------
 drivers/i3c/master/dw-i3c-master.c     |  15 +---
 drivers/i3c/master/dw-i3c-master.h     |   2 -
 drivers/i3c/master/i3c-master-cdns.c   |  14 +---
 drivers/i3c/master/mipi-i3c-hci/core.c |  50 ++++++++++++-
 drivers/i3c/master/mipi-i3c-hci/dma.c  |   5 ++
 drivers/i3c/master/mipi-i3c-hci/hci.h  |   1 +
 drivers/i3c/master/mipi-i3c-hci/pio.c  |   5 ++
 drivers/i3c/master/svc-i3c-master.c    |  14 +---
 include/linux/i3c/master.h             |  16 +++-
 10 files changed, 179 insertions(+), 72 deletions(-)

Regards
Adrian