USB: DMA: mapping existing buffer is not supported?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: gregkh@xxxxxxxxxxxxxxxxxxx
- Subject: USB: DMA: mapping existing buffer is not supported?
- From: Randy Li <ayaka@xxxxxxxxxxx>
- Date: Thu, 14 Sep 2023 03:06:58 +0800
- Cc: linux-usb@xxxxxxxxxxxxxxx, Linux Media Mailing List <linux-media@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, corbet@xxxxxxx, linux-doc@xxxxxxxxxxxxxxx
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
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
[Index of Archives]
[Kernel Newbies]
[Security]
[Netfilter]
[Bugtraq]
[Linux FS]
[Yosemite Forum]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]