RE: [PATCHv3 net-next 21/22] net: mvpp2: set dma mask and coherent dma mask on PPv2.2
From: Thomas Petazzoni > Sent: 07 March 2017 18:12 > Hello, > > On Tue, 7 Mar 2017 17:24:21 +, David Laight wrote: > > > Are the coherent mappings just used for ring structures? > > If it might be reasonable to allocate them as a single entity, > > thus guaranteeing they all reside in a single 4G region. > > Do we have the guarantee that a DMA coherent allocation will not span a > 4G boundary? I'm pretty sure they are guaranteed not to cross any boundary they don't have to. So a 16k buffer won't cross a 16k boundary. David
Re: [PATCHv3 net-next 21/22] net: mvpp2: set dma mask and coherent dma mask on PPv2.2
Hello, On Tue, 7 Mar 2017 17:24:21 +, David Laight wrote: > Are the coherent mappings just used for ring structures? > If it might be reasonable to allocate them as a single entity, > thus guaranteeing they all reside in a single 4G region. Do we have the guarantee that a DMA coherent allocation will not span a 4G boundary? Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
RE: [PATCHv3 net-next 21/22] net: mvpp2: set dma mask and coherent dma mask on PPv2.2
From: Thomas Petazzoni > Sent: 07 March 2017 15:53 > On PPv2.2, the streaming mappings can be anywhere in the first 40 bits > of the physical address space. However, for the coherent mappings, we > still need them to be in the first 32 bits of the address space, > because all BM pools share a single register to store the high 32 bits > of the BM pool address, which means all BM pools must be allocated in > the same 4GB memory area. Are the coherent mappings just used for ring structures? If it might be reasonable to allocate them as a single entity, thus guaranteeing they all reside in a single 4G region. David