Re: [Linaro-mm-sig] [PATCH v5 05/38] drm: prime: use sgtable iterators in drm_prime_sg_to_page_addr_arrays()
Hi All, On 25.09.2020 23:23, Alex Deucher wrote: > On Tue, Sep 22, 2020 at 2:28 AM Marek Szyprowski > wrote: >> On 22.09.2020 01:15, Alex Goins wrote: >>> Tested-by: Alex Goins >>> >>> This change fixes a regression with drm_prime_sg_to_page_addr_arrays() and >>> AMDGPU in v5.9. >> Thanks for testing! >> >>> Commit 39913934 similarly revamped AMDGPU to use sgtable helper functions. >>> When >>> it changed from dma_map_sg_attrs() to dma_map_sgtable(), as a side effect it >>> started correctly updating sgt->nents to the return value of >>> dma_map_sg_attrs(). >>> However, drm_prime_sg_to_page_addr_arrays() incorrectly uses sgt->nents to >>> iterate over pages, rather than sgt->orig_nents, resulting in it now >>> returning >>> the incorrect number of pages on AMDGPU. >>> >>> I had written a patch that changes drm_prime_sg_to_page_addr_arrays() to use >>> for_each_sgtable_sg() instead of for_each_sg(), iterating using >>> sgt->orig_nents: >>> >>> - for_each_sg(sgt->sgl, sg, sgt->nents, count) { >>> + for_each_sgtable_sg(sgt, sg, count) { >>> >>> This patch takes it further, but still has the effect of fixing the number >>> of >>> pages that drm_prime_sg_to_page_addr_arrays() returns. Something like this >>> should be included in v5.9 to prevent a regression with AMDGPU. >> Probably the easiest way to handle a fix for v5.9 would be to simply >> merge the latest version of this patch also to v5.9-rcX: >> https://lore.kernel.org/dri-devel/20200904131711.12950-3-m.szyprow...@samsung.com/ >> >> >> This way we would get it fixed and avoid possible conflict in the -next. >> Do you have any AMDGPU fixes for v5.9 in the queue? Maybe you can add >> that patch to the queue? Dave: would it be okay that way? > I think this should go into drm-misc for 5.9 since it's an update to > drm_prime.c. Is that patch ready to merge? > Acked-by: Alex Deucher Maarten, Maxime or Thomas: could you take this one: https://lore.kernel.org/dri-devel/20200904131711.12950-3-m.szyprow...@samsung.com/ also to drm-misc-fixes for v5.9-rc? Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [Linaro-mm-sig] [PATCH v5 05/38] drm: prime: use sgtable iterators in drm_prime_sg_to_page_addr_arrays()
On Tue, Sep 22, 2020 at 2:28 AM Marek Szyprowski wrote: > > Hi Alex, > > On 22.09.2020 01:15, Alex Goins wrote: > > Tested-by: Alex Goins > > > > This change fixes a regression with drm_prime_sg_to_page_addr_arrays() and > > AMDGPU in v5.9. > > Thanks for testing! > > > Commit 39913934 similarly revamped AMDGPU to use sgtable helper functions. > > When > > it changed from dma_map_sg_attrs() to dma_map_sgtable(), as a side effect it > > started correctly updating sgt->nents to the return value of > > dma_map_sg_attrs(). > > However, drm_prime_sg_to_page_addr_arrays() incorrectly uses sgt->nents to > > iterate over pages, rather than sgt->orig_nents, resulting in it now > > returning > > the incorrect number of pages on AMDGPU. > > > > I had written a patch that changes drm_prime_sg_to_page_addr_arrays() to use > > for_each_sgtable_sg() instead of for_each_sg(), iterating using > > sgt->orig_nents: > > > > - for_each_sg(sgt->sgl, sg, sgt->nents, count) { > > + for_each_sgtable_sg(sgt, sg, count) { > > > > This patch takes it further, but still has the effect of fixing the number > > of > > pages that drm_prime_sg_to_page_addr_arrays() returns. Something like this > > should be included in v5.9 to prevent a regression with AMDGPU. > > Probably the easiest way to handle a fix for v5.9 would be to simply > merge the latest version of this patch also to v5.9-rcX: > https://lore.kernel.org/dri-devel/20200904131711.12950-3-m.szyprow...@samsung.com/ > > > This way we would get it fixed and avoid possible conflict in the -next. > Do you have any AMDGPU fixes for v5.9 in the queue? Maybe you can add > that patch to the queue? Dave: would it be okay that way? I think this should go into drm-misc for 5.9 since it's an update to drm_prime.c. Is that patch ready to merge? Acked-by: Alex Deucher Alex > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland > > ___ > Linaro-mm-sig mailing list > linaro-mm-...@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/linaro-mm-sig ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu