Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2a54501 authored by Hemant Kumar's avatar Hemant Kumar Committed by Jack Pham
Browse files

sound: usb: Add support to share iova with remote processor



ISOC data transfer for audio device is offloaded to remote
usb audio driver entity. This requires remote entity to access
device context info, event ring, transfer rings and transfer
buffers allocated by APPS XHCI device. Hence add a platform
device which maps the XHCI device physical memory to virtual
memory and shares with remote processor's iommu. All the memory
info is then sent over QMI to remote entity.

Change-Id: I1abc80652a167cefa667b914b3a80a87326c3d44
Signed-off-by: default avatarHemant Kumar <hemantk@codeaurora.org>
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent b3e2d647
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
QTI USB Audio QMI Device

USB Audio QMI device is used to attach to remote processor IOMMU and
map USB Audio driver specific memory to iova to share with remote
processor.

Required Properties:

- compatible : "qcom,usb-audio-qmi-dev"

- iommus : A list of phandle and IOMMU specifier pairs that describe the
  IOMMU master interfaces of the device.

- qcom,usb-audio-stream-id : Stream id is prepended to iova before passing
  iova to remote processor. This allows remote processor to access iova.

- qcom,usb-audio-intr-num : Interrupter number for external sub system
  destination.

Example:
	usb_audio_qmi_dev {
		compatible = "qcom,usb-audio-qmi-dev";
		iommus = <&lpass_q6_smmu 12>;
		qcom,usb-audio-stream-id = <12>;
		qcom,usb-audio-intr-num = <1>;
	};
+681 −9

File changed.

Preview size limit exceeded, changes collapsed.