From: Mathias Nyman > Sent: 11 May 2017 15:45 > On 09.05.2017 18:38, David Laight wrote: > > From: Mathias Nyman > >> Sent: 09 May 2017 12:24 > >> On 08.05.2017 09:26, Mathias Nyman wrote: > >>> On 05.05.2017 15:05, Matthias Lange wrote: > >>>> There is no reason to restrict allocations to the first 16MB ISA DMA > >>>> addresses. > > ... > > > > What about the 4G boundary? > > Can you elaborate on when this 4G boundary is an issue? > Driver set dma mask (64 or 32), uses kmalloc() to get kernel logical addresses and > then dma_map_single to map it. > > > IIRC dma_alloc_coherent() is most likely what the code should be using. > > These bounce buffer is small, per endpoint and only lives for the time of the endpoint. > We know the direction of the data, and exactly when trb is done (syncpoint). > the bounce buffer is used and mapped only when the data we want transferred breaks a > xHC boundary requirement, and unmapped immediately when the transfer is done. > > I think streaming fits better this purpose. Ah, ok, so if the physical address is too large a separate bounce buffer is used? David -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html