Displaying 2 results from an estimated 2 matches for "drm_fb_memcpy_lin".
Did you mean:
  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_t...