On Tue, Mar 31, 2020 at 1:25 AM Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote: > > Hi Alex, > > On 2020-03-30 15:23, Alex Deucher wrote: > > On Mon, Mar 30, 2020 at 4:18 AM Marek Szyprowski > > <m.szyprowski@xxxxxxxxxxx> wrote: > >> Hi > >> > >> On 2020-03-27 10:10, Marek Szyprowski wrote: > >>> Hi Christian, > >>> > >>> On 2020-03-27 09:11, Christian König wrote: > >>>> Am 27.03.20 um 08:54 schrieb Marek Szyprowski: > >>>>> On 2020-03-25 10:07, Shane Francis wrote: > >>>>>> As dma_map_sg can reorganize scatter-gather lists in a > >>>>>> way that can cause some later segments to be empty we should > >>>>>> always use the sg_dma_len macro to fetch the actual length. > >>>>>> > >>>>>> This could now be 0 and not need to be mapped to a page or > >>>>>> address array > >>>>>> > >>>>>> Signed-off-by: Shane Francis <bigbeeshane@xxxxxxxxx> > >>>>>> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@xxxxxxxxx> > >>>>> This patch landed in linux-next 20200326 and it causes a kernel > >>>>> panic on > >>>>> various Exynos SoC based boards. > >>>>>> --- > >>>>>> drivers/gpu/drm/drm_prime.c | 2 +- > >>>>>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>>>>> > >>>>>> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c > >>>>>> index 86d9b0e45c8c..1de2cde2277c 100644 > >>>>>> --- a/drivers/gpu/drm/drm_prime.c > >>>>>> +++ b/drivers/gpu/drm/drm_prime.c > >>>>>> @@ -967,7 +967,7 @@ int drm_prime_sg_to_page_addr_arrays(struct > >>>>>> sg_table *sgt, struct page **pages, > >>>>>> index = 0; > >>>>>> for_each_sg(sgt->sgl, sg, sgt->nents, count) { > >>>>>> - len = sg->length; > >>>>>> + len = sg_dma_len(sg); > >>>>>> page = sg_page(sg); > >>>>>> addr = sg_dma_address(sg); > >>>>> Sorry, but this code is wrong :( > >>>> Well it is at least better than before because it makes most drivers > >>>> work correctly again. > >>> Well, I'm not sure that a half-broken fix should be considered as a > >>> fix ;) > >>> > >>> Anyway, I just got the comment from Shane, that my patch is fixing the > >>> issues with amdgpu and radeon, while still working fine for exynos, so > >>> it is indeed a proper fix. > >> Today I've noticed that this patch went to final v5.6 without even a day > >> of testing in linux-next, so v5.6 is broken on Exynos and probably a few > >> other ARM archs, which rely on the drm_prime_sg_to_page_addr_arrays > >> function. > > Please commit your patch and cc stable. > > I've already did that: https://lkml.org/lkml/2020/3/27/555 Do you have drm-misc commit rights or do you need someone to commit this for you? Alex > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel