Re: [PATCH v14 00/53] Introduce QC USB SND audio offloading support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mark/Takashi,

On 2/8/2024 3:13 PM, Wesley Cheng wrote:
<snip>

Would it be possible to see if we could start pulling some of these non offloading dependent changes into your repos? It would really be helpful since the # of patches is getting a little cumbersome to maintain. If we need to make any follow ups, I can address them as a separate patch and add it to the series w/ the other changes that are still pending.

Mathias Nyman (13):
   xhci: fix possible null pointer dereference at secondary interrupter
     removal
   xhci: fix off by one check when adding a secondary interrupter.
   xhci: Add interrupt pending autoclear flag to each interrupter
   xhci: Add helper to set an interrupters interrupt moderation interval
   xhci: make isoc_bei_interval variable interrupter specific.
   xhci: remove unnecessary event_ring_deq parameter from
     xhci_handle_event()
   xhci: update event ring dequeue pointer position to controller
     correctly
   xhci: move event processing for one interrupter to a separate function
   xhci: add helper that checks for unhandled events on a event ring
   xhci: Don't check if the event ring is valid before every event TRB
   xhci: Decouple handling an event from checking for unhandled events
   xhci: add helper to stop endpoint and wait for completion
   xhci: sideband: add initial api to register a sideband entity


Will work with Mathias on the XHCI stuff when he gets some time to review the set of changes added for the XHCI interrupters. Some of the series in USB SND are dependent on that, such as the qc_audio_offload driver, since it makes calls into the XHCI sideband that was added, so won't be able to pull that in yet. (This is the only driver that will interact w/ XHCI sideband, all ASoC and general USB SND changes are independent)

Thanks
Wesley Cheng

Wesley Cheng (40):
   usb: host: xhci: Export enable and disable interrupter APIs
   usb: host: xhci: Repurpose event handler for skipping interrupter
     events
   xhci: export XHCI IMOD setting helper for interrupters
   usb: host: xhci-sideband: Expose a sideband interrupter enable API
   usb: host: xhci-mem: Cleanup pending secondary event ring events
   usb: host: xhci-mem: Allow for interrupter clients to choose specific
     index
   ASoC: Add SOC USB APIs for adding an USB backend
   ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add USB_RX port
   ASoC: qcom: qdsp6: Introduce USB AFE port to q6dsp
ASoC: qdsp6: q6afe: Increase APR timeout > ASoC: qcom: qdsp6: Add USB backend ASoC driver for Q6> ALSA:
usb-audio: Introduce USB SND platform op callbacks
   ALSA: usb-audio: Export USB SND APIs for modules
   ALSA: usb-audio: Save UAC sample size information
   usb: dwc3: Specify maximum number of XHCI interrupters
   usb: host: xhci-plat: Set XHCI max interrupters if property is present
   ALSA: usb-audio: qcom: Add USB QMI definitions
   ALSA: usb-audio: qcom: Introduce QC USB SND offloading support
   ALSA: usb-audio: Check for support for requested audio format
   ASoC: usb: Add PCM format check API for USB backend
   ASoC: qcom: qdsp6: Ensure PCM format is supported by USB audio device
   ALSA: usb-audio: Prevent starting of audio stream if in use
   ALSA: usb-audio: Do not allow USB offload path if PCM device is in use
   ASoC: dt-bindings: Add Q6USB backend
   ASoC: dt-bindings: Update example for enabling USB offload on SM8250
   ALSA: usb-audio: qcom: Populate PCM and USB chip information
   ASoC: qcom: qdsp6: Add support to track available USB PCM devices
   ASoC: Introduce SND kcontrols to select sound card and PCM device
   ASoC: qcom: qdsp6: Add SOC USB offload select get/put callbacks
   ASoC: Add SND kcontrol for fetching USB offload status
   ASoC: qcom: qdsp6: Add PCM ops to track current state
   ASoC: usb: Create SOC USB SND jack kcontrol
   ASoC: qcom: qdsp6: Add headphone jack for offload connection status
   ASoC: usb: Fetch ASoC sound card information
   ALSA: usb-audio: mixer: Add USB offloading mixer control
   ALSA: usb-audio: qcom: Use card and PCM index from QMI request
   ALSA: usb-audio: Allow for rediscovery of connected USB SND devices
   ASoC: usb: Rediscover USB SND devices on USB port add
   ASoC: qcom: Populate SoC components string
   ASoC: doc: Add documentation for SOC USB

  .../devicetree/bindings/sound/qcom,q6usb.yaml |   55 +
  .../bindings/sound/qcom,sm8250.yaml           |   15 +
  Documentation/sound/soc/index.rst             |    1 +
  Documentation/sound/soc/usb.rst               |  611 ++++++
  drivers/usb/dwc3/core.c                       |   12 +
  drivers/usb/dwc3/core.h                       |    2 +
  drivers/usb/dwc3/host.c                       |    5 +-
  drivers/usb/host/Kconfig                      |    9 +
  drivers/usb/host/Makefile                     |    2 +
  drivers/usb/host/xhci-mem.c                   |   53 +-
  drivers/usb/host/xhci-plat.c                  |    2 +
  drivers/usb/host/xhci-ring.c                  |  240 ++-
  drivers/usb/host/xhci-sideband.c              |  439 ++++
  drivers/usb/host/xhci.c                       |   97 +-
  drivers/usb/host/xhci.h                       |   21 +-
  .../sound/qcom,q6dsp-lpass-ports.h            |    1 +
  include/linux/usb/xhci-sideband.h             |   70 +
  include/sound/q6usboffload.h                  |   20 +
  include/sound/soc-usb.h                       |   90 +
  sound/soc/Makefile                            |    2 +-
  sound/soc/qcom/Kconfig                        |    4 +
  sound/soc/qcom/common.c                       |   41 +
  sound/soc/qcom/common.h                       |    4 +-
  sound/soc/qcom/qdsp6/Makefile                 |    1 +
  sound/soc/qcom/qdsp6/q6afe-dai.c              |   60 +
  sound/soc/qcom/qdsp6/q6afe.c                  |  193 +-
  sound/soc/qcom/qdsp6/q6afe.h                  |   36 +-
  sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c      |   23 +
  sound/soc/qcom/qdsp6/q6dsp-lpass-ports.h      |    1 +
  sound/soc/qcom/qdsp6/q6routing.c              |    9 +
  sound/soc/qcom/qdsp6/q6usb.c                  |  401 ++++
  sound/soc/qcom/sm8250.c                       |   14 +-
  sound/soc/soc-usb.c                           |  538 +++++
  sound/usb/Kconfig                             |   19 +
  sound/usb/Makefile                            |    3 +-
  sound/usb/card.c                              |  109 +
  sound/usb/card.h                              |   24 +
  sound/usb/endpoint.c                          |    1 +
  sound/usb/format.c                            |    1 +
  sound/usb/helper.c                            |    1 +
  sound/usb/mixer.c                             |    5 +
  sound/usb/mixer_usb_offload.c                 |   72 +
  sound/usb/mixer_usb_offload.h                 |   17 +
  sound/usb/pcm.c                               |  104 +-
  sound/usb/pcm.h                               |   11 +
  sound/usb/qcom/Makefile                       |    2 +
  sound/usb/qcom/qc_audio_offload.c             | 1910 +++++++++++++++++
  sound/usb/qcom/usb_audio_qmi_v01.c            |  892 ++++++++
  sound/usb/qcom/usb_audio_qmi_v01.h            |  162 ++
  49 files changed, 6228 insertions(+), 177 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6usb.yaml
  create mode 100644 Documentation/sound/soc/usb.rst
  create mode 100644 drivers/usb/host/xhci-sideband.c
  create mode 100644 include/linux/usb/xhci-sideband.h
  create mode 100644 include/sound/q6usboffload.h
  create mode 100644 include/sound/soc-usb.h
  create mode 100644 sound/soc/qcom/qdsp6/q6usb.c
  create mode 100644 sound/soc/soc-usb.c
  create mode 100644 sound/usb/mixer_usb_offload.c
  create mode 100644 sound/usb/mixer_usb_offload.h
  create mode 100644 sound/usb/qcom/Makefile
  create mode 100644 sound/usb/qcom/qc_audio_offload.c
  create mode 100644 sound/usb/qcom/usb_audio_qmi_v01.c
  create mode 100644 sound/usb/qcom/usb_audio_qmi_v01.h





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux