linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] soundwire: qcom: various improvements
@ 2021-03-08 13:49 Srinivas Kandagatla
  2021-03-08 13:49 ` [PATCH v3 1/9] dt-bindings: soundwire: qcom: clarify data port bus parameters Srinivas Kandagatla
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Srinivas Kandagatla @ 2021-03-08 13:49 UTC (permalink / raw)
  To: vkoul
  Cc: yung-chuan.liao, pierre-louis.bossart, sanyog.r.kale,
	linux-kernel, alsa-devel, Srinivas Kandagatla

Thanks for reviewing v2 of this patchset!

During testing SoundWire controller on SM8250 MTP, we found
few issues like all the interrupts are not handled,
all transport parameters are not read from device tree.
Patch to add Auto Enumeration supported by the controller
is also part of this series.

Other major issue was register read/writes which was interrupt based
was an overhead and puts lot of limitation on context it can be used from.

With previous approach number of interrupts generated
after enumeration are around 130:
$ cat /proc/interrupts  | grep soundwire
21: 130 0 0 0 0 0 0 0 GICv3 234 Edge      soundwire
    
after this patch they are just 3 interrupts
$ cat /proc/interrupts  | grep soundwire
21: 3 0 0 0 0 0 0 0 GICv3 234 Edge      soundwire

So this patchset add various improvements to the existing driver
to address above issues.

Tested it on SM8250 MTP with 2x WSA881x speakers, HeadPhones on
WCD938x via lpass-rx-macro and Analog MICs via lpass-tx-macro.
Also tested on DragonBoard DB845c with 2xWSA881x speakers.

Changes since v1:
	- added auto enumeration patches to this patchset
	- added comments to qcom bindings to clarify invalid values
	- cleanup trasport parameters to use internal port config

Srinivas Kandagatla (9):
  dt-bindings: soundwire: qcom: clarify data port bus parameters
  soundwire: qcom: add support to missing transport params
  soundwire: qcom: set continue execution flag for ignored commands
  soundwire: qcom: start the clock during initialization
  soundwire: qcom: update register read/write routine
  soundwire: qcom: add support to new interrupts
  soundwire: export sdw_compare_devid() and sdw_extract_slave_id()
  soundwire: qcom: add auto enumeration support
  soundwire: qcom: wait for enumeration to be complete in probe

 .../bindings/soundwire/qcom,sdw.txt           |  20 +
 drivers/soundwire/bus.c                       |   4 +-
 drivers/soundwire/qcom.c                      | 529 ++++++++++++++----
 include/linux/soundwire/sdw.h                 |   2 +
 4 files changed, 441 insertions(+), 114 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-03-08 16:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-08 13:49 [PATCH v3 0/9] soundwire: qcom: various improvements Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 1/9] dt-bindings: soundwire: qcom: clarify data port bus parameters Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 2/9] soundwire: qcom: add support to missing transport params Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 3/9] soundwire: qcom: set continue execution flag for ignored commands Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 4/9] soundwire: qcom: start the clock during initialization Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 5/9] soundwire: qcom: update register read/write routine Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 6/9] soundwire: qcom: add support to new interrupts Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 7/9] soundwire: export sdw_compare_devid() and sdw_extract_slave_id() Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 8/9] soundwire: qcom: add auto enumeration support Srinivas Kandagatla
2021-03-08 15:56   ` Pierre-Louis Bossart
2021-03-08 16:16     ` Srinivas Kandagatla
2021-03-08 13:49 ` [PATCH v3 9/9] soundwire: qcom: wait for enumeration to be complete in probe Srinivas Kandagatla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).