Messages in this thread | | | Subject | Re: [RFC] mmc: meson-gx: use memcpy_to/fromio for dram-access-quirk | From | Robin Murphy <> | Date | Wed, 9 Jun 2021 16:01:13 +0100 |
| |
On 2021-06-09 15:55, Neil Armstrong wrote: > Hi Robin, > > On 09/06/2021 16:45, Robin Murphy wrote: >> On 2021-06-09 14:07, Neil Armstrong wrote: >>> Hi, >>> >>> On 08/06/2021 17:50, Marek Szyprowski wrote: >>>> Hi >>>> >>>> On 08.06.2021 17:33, Neil Armstrong wrote: >>>>> It has been reported that usage of memcpy() to/from an iomem mapping is invalid, >>>>> and and recent arm64 memcpy update [1] triggers a memory abort when dram-access-quirk >>>>> is used on the G12A/G12B platforms. >>>>> >>>>> This adds a local sg_copy_to_buffer which makes usage of io versions of memcpy >>>>> when dram-access-quirk is enabled. >>>>> >>>>> Fixes: acdc8e71d9bb ("mmc: meson-gx: add dram-access-quirk") >>>>> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> >>>>> Suggested-by: Mark Rutland <mark.rutland@arm.com> >>>>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >>>>> >>>>> [1] 285133040e6c ("arm64: Import latest memcpy()/memmove() implementation") >>>>> >>>>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> >>>>> --- >>>>> Hi Ulf, Marek, Mark, >>>>> >>>>> I haven't tested the patch yet, but should fix issue reported at [2]. >>>> >>>> Works fine here and fixed the issue. >>>> >>>> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> >>> >>> Thanks, I'll need to rework to pass an __iomem pointer to memcpy_to/fromio so sparse doesn't scream anymore. >> >> Hmm, might it be worth factoring out general sg_copy_{to,from}_iomem() helpers? From a quick grep I found at least mv_cesa_sg_copy() already doing essentially the same thing as meson_mmc_copy_buffer(). > > It's definitely worth it, but since we need a quick fix, we should have meson_mmc_copy_buffer() as a fix then we should definitely move to sg_copy_{to,from}_iomem() helpers
Oh, that makes sense for sure - I was just doing some general thinking out loud before I forget about the whole thing :)
Cheers, Robin.
| |