[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1e783efe-8659-8be1-82b7-15186302e88c@soulik.info>
Date: Thu, 14 Sep 2023 03:06:58 +0800
From: Randy Li <ayaka@...lik.info>
To: gregkh@...uxfoundation.org
Cc: linux-usb@...r.kernel.org,
Linux Media Mailing List <linux-media@...r.kernel.org>,
linux-kernel@...r.kernel.org, corbet@....net,
linux-doc@...r.kernel.org
Subject: USB: DMA: mapping existing buffer is not supported?
Hello
I was trying to understand why USB webcams (UVC) have to copy video data
through the CPU (uvc_video_complete() schedules
uvc_video_copy_data_work() for this purpose). During my investigation, I
noticed that functions like|usb_sg_*() and |usb_buffer_*() are not
available since kernel version 2.6.12.
I can comprehend that USB host controllers such as xHCI, commonly found
in embedded implementations like dwc3, do not support IOMMU. However,
this should not prevent them from operating on a contiguous buffer.
If the USB subsystem can no longer work with existing buffers, I propose
that we consider removing the remaining documentation in the "Working
with existing buffers" section of Documentation/driver-api/usb/dma.rst.
Sincerely
Randy
Powered by blists - more mailing lists