From: Parshuram Thombare <pthombar@cadence.com> To: <alexandre.belloni@bootlin.com>, <slongerbeam@gmail.com>, <vitor.soares@synopsys.com> Cc: <linux-i3c@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <mparab@cadence.com>, <praneeth@ti.com>, Parshuram Thombare <pthombar@cadence.com> Subject: [PATCH v10 0/7] I3C mastership handover support Date: Mon, 30 Nov 2020 07:16:23 +0100 [thread overview] Message-ID: <1606716983-3645-1-git-send-email-pthombar@cadence.com> (raw) Main changes between v9 and v10 are: - Fix build failure reported by kernel test robot Main changes between v8 and v9 are: - Fix NULL dereference issue in current_master_show when cat'ing sysfs key current_master for secondary master before primary master gets initialized. Main changes between v7 and v8 are: - Document format changed from table to DOT diagram - Appropriate names for few functions - Moved mastership request process entirely to the driver - Reuse of i3c_master_add_i3c_dev_locked in core defslvs processing Main changes between v6 and v7 are: - Added separate functions for main and secondary master initialization - Secondary master initialization don't wait for DEFSLSVS. - Change to use I2C device information from DTS, and corresponding changes in controller driver and I3C core DEFSLVS processing to ignore I2C devices received in DEFSLVS - Reverted bus_init split - Fixed formatting issues in document Main changes between v5 and v6 are: - Moved populate_bus() hook to master subsystem code. - For secondary master initialization i3c_master_register spawan separate threads, as secondary master may have to wait for DEFSLVS and bus mastership. - Populate bus info is based on DEFSLVS data and take care of hot plugged / unplugged I3C devices. - Split bus_init into bus_init and master_set_info callbacks - Moved mastership aquire and handover to separate state machines. - Added DEFSLVS processing code. - Moved back all locks in side the subsystem code. - Secondary mastership support to Cadence I3C master controller driver - Sysfs key 'i3c_acquire_bus' to acauire bus. - NULL check for pool pointer in i3c_generic_ibi_free_pool. Main changes between v4 and v5 are: - Add populate_bus() hook - Split i3c_master_register into init and register pair - Split device information retrieval, let add partialy discovered devices - Make i3c_master_set_info private - Add separate function to register secondary master - Reworked secondary master register in CDNS driver - Export i3c_bus_set_mode Main changes between v3 and v4 are: - Reworked acquire bus ownership - Refactored the code Main changes between v2 and v3 are: - Added DEFSLVS devices are registered from master driver - Reworked I2C registering on secondary master side - Reworked Mastership event is enabled/disabled globally (for all devices) Main changes between initial version and v2 are: - Reworked devices registration on secondary master side - Reworked mastership event disabling/enabling - Reworked bus locking during mastership takeover process - Added DEFSLVS devices registration during initialization - Fixed style issues Parshuram Thombare (7): i3c: master: master initialization flow document i3c: master: use i3c_master_register only for main master i3c: master: add i3c_secondary_master_register i3c: master: add mastership handover support i3c: master: add defslvs processing i3c: master: sysfs key for acquire bus i3c: master: mastership handover, defslvs processing in cdns controller driver Documentation/driver-api/i3c/index.rst | 1 + .../driver-api/i3c/master-initialization-flow.rst | 187 ++++++++ drivers/i3c/master.c | 497 ++++++++++++++++++-- drivers/i3c/master/dw-i3c-master.c | 4 +- drivers/i3c/master/i3c-master-cdns.c | 329 ++++++++++++- drivers/i3c/master/mipi-i3c-hci/core.c | 4 +- include/linux/i3c/master.h | 23 +- 7 files changed, 970 insertions(+), 75 deletions(-) create mode 100644 Documentation/driver-api/i3c/master-initialization-flow.rst
WARNING: multiple messages have this Message-ID (diff)
From: Parshuram Thombare <pthombar@cadence.com> To: <alexandre.belloni@bootlin.com>, <slongerbeam@gmail.com>, <vitor.soares@synopsys.com> Cc: praneeth@ti.com, mparab@cadence.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, Parshuram Thombare <pthombar@cadence.com> Subject: [PATCH v10 0/7] I3C mastership handover support Date: Mon, 30 Nov 2020 07:16:23 +0100 [thread overview] Message-ID: <1606716983-3645-1-git-send-email-pthombar@cadence.com> (raw) Main changes between v9 and v10 are: - Fix build failure reported by kernel test robot Main changes between v8 and v9 are: - Fix NULL dereference issue in current_master_show when cat'ing sysfs key current_master for secondary master before primary master gets initialized. Main changes between v7 and v8 are: - Document format changed from table to DOT diagram - Appropriate names for few functions - Moved mastership request process entirely to the driver - Reuse of i3c_master_add_i3c_dev_locked in core defslvs processing Main changes between v6 and v7 are: - Added separate functions for main and secondary master initialization - Secondary master initialization don't wait for DEFSLSVS. - Change to use I2C device information from DTS, and corresponding changes in controller driver and I3C core DEFSLVS processing to ignore I2C devices received in DEFSLVS - Reverted bus_init split - Fixed formatting issues in document Main changes between v5 and v6 are: - Moved populate_bus() hook to master subsystem code. - For secondary master initialization i3c_master_register spawan separate threads, as secondary master may have to wait for DEFSLVS and bus mastership. - Populate bus info is based on DEFSLVS data and take care of hot plugged / unplugged I3C devices. - Split bus_init into bus_init and master_set_info callbacks - Moved mastership aquire and handover to separate state machines. - Added DEFSLVS processing code. - Moved back all locks in side the subsystem code. - Secondary mastership support to Cadence I3C master controller driver - Sysfs key 'i3c_acquire_bus' to acauire bus. - NULL check for pool pointer in i3c_generic_ibi_free_pool. Main changes between v4 and v5 are: - Add populate_bus() hook - Split i3c_master_register into init and register pair - Split device information retrieval, let add partialy discovered devices - Make i3c_master_set_info private - Add separate function to register secondary master - Reworked secondary master register in CDNS driver - Export i3c_bus_set_mode Main changes between v3 and v4 are: - Reworked acquire bus ownership - Refactored the code Main changes between v2 and v3 are: - Added DEFSLVS devices are registered from master driver - Reworked I2C registering on secondary master side - Reworked Mastership event is enabled/disabled globally (for all devices) Main changes between initial version and v2 are: - Reworked devices registration on secondary master side - Reworked mastership event disabling/enabling - Reworked bus locking during mastership takeover process - Added DEFSLVS devices registration during initialization - Fixed style issues Parshuram Thombare (7): i3c: master: master initialization flow document i3c: master: use i3c_master_register only for main master i3c: master: add i3c_secondary_master_register i3c: master: add mastership handover support i3c: master: add defslvs processing i3c: master: sysfs key for acquire bus i3c: master: mastership handover, defslvs processing in cdns controller driver Documentation/driver-api/i3c/index.rst | 1 + .../driver-api/i3c/master-initialization-flow.rst | 187 ++++++++ drivers/i3c/master.c | 497 ++++++++++++++++++-- drivers/i3c/master/dw-i3c-master.c | 4 +- drivers/i3c/master/i3c-master-cdns.c | 329 ++++++++++++- drivers/i3c/master/mipi-i3c-hci/core.c | 4 +- include/linux/i3c/master.h | 23 +- 7 files changed, 970 insertions(+), 75 deletions(-) create mode 100644 Documentation/driver-api/i3c/master-initialization-flow.rst -- linux-i3c mailing list linux-i3c@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-i3c
next reply other threads:[~2020-11-30 6:18 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-30 6:16 Parshuram Thombare [this message] 2020-11-30 6:16 ` [PATCH v10 0/7] I3C mastership handover support Parshuram Thombare 2020-11-30 6:16 ` [PATCH v10 1/7] i3c: master: master initialization flow document Parshuram Thombare 2020-11-30 6:16 ` Parshuram Thombare 2020-11-30 6:17 ` [PATCH v10 2/7] i3c: master: use i3c_master_register only for main master Parshuram Thombare 2020-11-30 6:17 ` Parshuram Thombare 2020-12-04 4:24 ` Nicolas Pitre 2020-12-04 4:24 ` Nicolas Pitre 2020-12-08 5:47 ` Parshuram Raju Thombare 2020-12-08 5:47 ` Parshuram Raju Thombare 2021-06-08 23:21 ` Alexandre Belloni 2021-06-08 23:21 ` Alexandre Belloni 2021-06-17 8:42 ` Parshuram Raju Thombare 2021-06-17 8:42 ` Parshuram Raju Thombare 2020-11-30 6:18 ` [PATCH v10 3/7] i3c: master: add i3c_secondary_master_register Parshuram Thombare 2020-11-30 6:18 ` Parshuram Thombare 2020-12-04 4:42 ` Nicolas Pitre 2020-12-04 4:42 ` Nicolas Pitre 2020-12-08 6:00 ` Parshuram Raju Thombare 2020-12-08 6:00 ` Parshuram Raju Thombare 2020-11-30 6:18 ` [PATCH v10 4/7] i3c: master: add mastership handover support Parshuram Thombare 2020-11-30 6:18 ` Parshuram Thombare 2020-11-30 6:19 ` [PATCH v10 5/7] i3c: master: add defslvs processing Parshuram Thombare 2020-11-30 6:19 ` Parshuram Thombare 2020-11-30 6:20 ` [PATCH v10 6/7] i3c: master: sysfs key for acquire bus Parshuram Thombare 2020-11-30 6:20 ` Parshuram Thombare 2021-06-08 23:33 ` Alexandre Belloni 2021-06-08 23:33 ` Alexandre Belloni 2021-06-17 9:13 ` Parshuram Raju Thombare 2021-06-17 9:13 ` Parshuram Raju Thombare 2020-11-30 6:20 ` [PATCH v10 7/7] i3c: master: mastership handover, defslvs processing in cdns controller driver Parshuram Thombare 2020-11-30 6:20 ` Parshuram Thombare 2021-06-08 23:47 ` Alexandre Belloni 2021-06-08 23:47 ` Alexandre Belloni 2021-06-17 10:28 ` Parshuram Raju Thombare 2021-06-17 10:28 ` Parshuram Raju Thombare 2021-03-04 10:06 ` [PATCH v10 0/7] I3C mastership handover support Parshuram Raju Thombare 2021-03-04 10:06 ` Parshuram Raju Thombare
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1606716983-3645-1-git-send-email-pthombar@cadence.com \ --to=pthombar@cadence.com \ --cc=alexandre.belloni@bootlin.com \ --cc=linux-i3c@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mparab@cadence.com \ --cc=praneeth@ti.com \ --cc=slongerbeam@gmail.com \ --cc=vitor.soares@synopsys.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.