mbox series

[v9,00/13] Introduce framework for SLIMbus device driver

Message ID 20171207102720.21071-1-srinivas.kandagatla@linaro.org
Headers show
Series Introduce framework for SLIMbus device driver | expand

Message

Srinivas Kandagatla Dec. 7, 2017, 10:27 a.m. UTC
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


Thanks for everyone who reviewed v8 patchset, here is v9 with
review comments addressed.

SLIMbus (Serial Low Power Interchip Media Bus) is a specification
developed by MIPI (Mobile Industry Processor Interface) alliance.
SLIMbus is a 2-wire implementation, which is used to communicate with
peripheral components like audio-codec.
SLIMbus uses Time-Division-Multiplexing to accommodate multiple data
channels, and control channel. Control channel has messages to do
device-enumeration, messages to send/receive control-data to/from
SLIMbus devices, messages for port/channel management, and messages to
do bandwidth allocation.
Framework is introduced to support  multiple instances of the bus
(1 controller per bus), and multiple slave devices per controller.
SPI and I2C frameworks, and comments from last time when I submitted
the patches were referred-to while working on this framework.

These patchsets introduce device-management, OF helpers, and messaging
APIs, controller driver for Qualcomm's SLIMbus controller, and
clock-pause feature for entering/exiting low-power mode for SLIMbus.
Framework patches to do channel, port and bandwidth
management are work-in-progress and will be sent out once these
initial patches are accepted.

These patchsets were tested on IFC6410 board with Qualcomm APQ8064
processor using the controller driver, and a WCD9310 codec.

v8: https://lkml.org/lkml/2017/11/30/713

Changes from v8 to v9:
* Fixed Licence tags as suggested by Philippe Ombredanne and Greg KH
* Fixed typos spotted by Jonathan Neuschafer in documentation
* Added missing addtion in index.rst file spotted by Jonathan Neuschafer

Sagar Dharia (9):
  Documentation: Add SLIMbus summary
  dt-bindings: Add SLIMbus bindings
  slimbus: Add SLIMbus bus type
  slimbus: core: Add slim controllers support
  slimbus: Add messaging APIs to slimbus framework
  slimbus: Add support for 'clock-pause' feature
  dt-bindings: Add qcom slimbus controller bindings
  slimbus: qcom: Add Qualcomm Slimbus controller driver
  slimbus: qcom: Add runtime-pm support using clock-pause

Srinivas Kandagatla (4):
  slimbus: core: add support to device tree helper
  regmap: add SLIMbus support
  slimbus: core: add common defines required for controllers
  MAINTAINERS: Add SLIMbus maintainer

 Documentation/devicetree/bindings/slimbus/bus.txt  |  50 ++
 .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt |  39 ++
 Documentation/driver-api/index.rst                 |   1 +
 Documentation/driver-api/slimbus/index.rst         |  15 +
 Documentation/driver-api/slimbus/summary.rst       | 106 +++
 MAINTAINERS                                        |   8 +
 drivers/Kconfig                                    |   2 +
 drivers/Makefile                                   |   1 +
 drivers/base/regmap/Kconfig                        |   4 +
 drivers/base/regmap/Makefile                       |   1 +
 drivers/base/regmap/regmap-slimbus.c               |  80 +++
 drivers/slimbus/Kconfig                            |  23 +
 drivers/slimbus/Makefile                           |  10 +
 drivers/slimbus/core.c                             | 478 +++++++++++++
 drivers/slimbus/messaging.c                        | 328 +++++++++
 drivers/slimbus/qcom-ctrl.c                        | 748 +++++++++++++++++++++
 drivers/slimbus/sched.c                            | 119 ++++
 drivers/slimbus/slimbus.h                          | 259 +++++++
 include/linux/mod_devicetable.h                    |  13 +
 include/linux/regmap.h                             |  18 +
 include/linux/slimbus.h                            | 162 +++++
 21 files changed, 2465 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/slimbus/bus.txt
 create mode 100644 Documentation/devicetree/bindings/slimbus/slim-qcom-ctrl.txt
 create mode 100644 Documentation/driver-api/slimbus/index.rst
 create mode 100644 Documentation/driver-api/slimbus/summary.rst
 create mode 100644 drivers/base/regmap/regmap-slimbus.c
 create mode 100644 drivers/slimbus/Kconfig
 create mode 100644 drivers/slimbus/Makefile
 create mode 100644 drivers/slimbus/core.c
 create mode 100644 drivers/slimbus/messaging.c
 create mode 100644 drivers/slimbus/qcom-ctrl.c
 create mode 100644 drivers/slimbus/sched.c
 create mode 100644 drivers/slimbus/slimbus.h
 create mode 100644 include/linux/slimbus.h

-- 
2.15.0

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Comments

Vinod Koul Dec. 8, 2017, 8:44 a.m. UTC | #1
On Thu, Dec 07, 2017 at 11:22:51PM +0000, Srinivas Kandagatla wrote:
> Thankyou for taking time to review the patch,

> 

> On 07/12/17 17:32, Jonathan Corbet wrote:

> >On Thu,  7 Dec 2017 10:27:08 +0000

> >srinivas.kandagatla@linaro.org wrote:

> >

> >A couple of overall comments...

> >

> >>  Documentation/driver-api/index.rst           |   1 +

> >>  Documentation/driver-api/slimbus/index.rst   |  15 ++++

> >>  Documentation/driver-api/slimbus/summary.rst | 106 +++++++++++++++++++++++++++

> >>  3 files changed, 122 insertions(+)

> >>  create mode 100644 Documentation/driver-api/slimbus/index.rst

> >>  create mode 100644 Documentation/driver-api/slimbus/summary.rst

> >

> >Do we really need a separate subdirectory for a single file?

> >

> May be not, TBH, I did take some inspiration from soundwire patches.


FWIW, SoundWire patches have more Documentation. We have 4 files atm, though
they are not part of current series, so a directory looks apt for that

> I can drop that in next version. We can think of adding directory if we end

> up adding more apis for the new features in future.

> 

> >It seems you have kerneldoc comments for your data structures and at least

> >some of your exported symbols.  If you really want to document this stuff

> >well, I'd suggest finishing out those comments, then pulling them into the

> >documentation in the appropriate places.

> Am sure all the exported symbols have kernel doc, I will pull them into

> relevant sub sections.

> 

> Do you think something like this http://paste.ubuntu.com/26135862/ makes

> sense?

> 

> thanks,

> srini

> >

> >Thanks,

> >

> >jon

> >

> _______________________________________________

> Alsa-devel mailing list

> Alsa-devel@alsa-project.org

> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


-- 
~Vinod
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel