On 30/04/18 18:59, Sinan Kaya wrote: > On 4/30/2018 9:54 AM, Robin Murphy wrote: >> For dma_map_sg(), DMA API implementations are free to merge consecutive >> segments into a single DMA mapping if conditions are suitable, thus the >> resulting DMA addresses which drm_prime_sg_to_page_addr_arrays() >> iterates over may be packed into fewer entries than sgt->nents implies. >> >> The current implementation does not account for this, meaning that its >> callers either have to reject the 0 < count < nents case or risk getting >> bogus DMA addresses beyond the first segment. Fortunately this is quite >> easy to handle without having to rejig structures to also store the >> mapped count, since the total DMA length should still be equal to the >> total buffer length. All we need is a second scatterlist cursor to >> iterate through the DMA addresses independently of the page addresses. >> >> Reviewed-by: Christian König <christian.koenig at amd.com> >> Signed-off-by: Robin Murphy <robin.murphy at arm.com> >> --- > > Much better > > Tested-by: Sinan Kaya <okaya at codeauora.org> > > for the first two patches. (1/3 and 2/3) Cheers Sinan. Alex, Christian, David; is the AMD GPU tree the right target for these patches, or is there a wider audience I should consider resending them to? (before I forget about them again...) Thanks, Robin.