Displaying 2 results from an estimated 2 matches for "drm_fb_memcpy_lines".
2019 Apr 10
1
[PATCH v2 1/3] drm: switch drm_fb_memcpy_dstclip to accept __iomem dst
...he __io_virt() macro, so cirrus can't simply convert
pointers that way. The drm format helpers have to use memcpy_toio()
instead.
This patch makes drm_fb_memcpy_dstclip() accept a __iomem dst pointer
and use memcpy_toio() instead of memcpy(). With that separating out the
memcpy loop into the drm_fb_memcpy_lines() helper isn't useful any more,
so move the code back into the calling functins.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
include/drm/drm_format_helper.h | 3 +-
drivers/gpu/drm/cirrus/cirrus.c | 2 +-
drivers/gpu/drm/drm_format_helper.c | 45 +++++++++++++++----...
2019 Apr 09
0
[PATCH 4/4] drm: add convert_lines_toio() variant, fix cirrus builds on powerpc.
...nv->func(dbuf, src, pixels);
+ memcpy_toio(dst, dbuf, dst_linelength);
+ src += src_pitch;
+ dst += dst_pitch;
+ }
+
+ kfree(dbuf);
+}
+
static u32 clip_offset(struct drm_rect *clip, u32 pitch, u32 cpp)
{
return (clip->y1 * pitch) + (clip->x1 * cpp);
@@ -143,6 +169,19 @@ static void drm_fb_memcpy_lines(void *dst, unsigned int dst_pitch,
}
}
+static void drm_fb_memcpy_lines_toio(void __iomem *dst, unsigned int dst_pitch,
+ void *src, unsigned int src_pitch,
+ unsigned int linelength, unsigned int lines)
+{
+ int line;
+
+ for (line = 0; line < lines; line++) {
+ memcpy_toi...