summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/drm/drm_fb_helper.c
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-08-12 03:48:22 +0000
committerjsg <jsg@openbsd.org>2020-08-12 03:48:22 +0000
commita58cb6b3ee48f4f24cf1630183e69465bd16bcc1 (patch)
tree44b1c96560f3c73b6fa1b0dc8a832958608d4308 /sys/dev/pci/drm/drm_fb_helper.c
parentssh-keyscan(1): simplify conloop() with timercmp(3), timersub(3); ok djm@ (diff)
downloadwireguard-openbsd-a58cb6b3ee48f4f24cf1630183e69465bd16bcc1.tar.xz
wireguard-openbsd-a58cb6b3ee48f4f24cf1630183e69465bd16bcc1.zip
drm/drm_fb_helper: fix fbdev with sparc64
From Sam Ravnborg cea0a7943a30a6d0320c8558a844dd27e8f0aa8b in linux 5.7.y/5.7.15 2a1658bf922ffd9b7907e270a7d9cdc9643fc45d in mainline linux
Diffstat (limited to 'sys/dev/pci/drm/drm_fb_helper.c')
-rw-r--r--sys/dev/pci/drm/drm_fb_helper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/drm_fb_helper.c b/sys/dev/pci/drm/drm_fb_helper.c
index 13929cc0b08..60fe7c8d8b0 100644
--- a/sys/dev/pci/drm/drm_fb_helper.c
+++ b/sys/dev/pci/drm/drm_fb_helper.c
@@ -405,7 +405,11 @@ static void drm_fb_helper_dirty_blit_real(struct drm_fb_helper *fb_helper,
unsigned int y;
for (y = clip->y1; y < clip->y2; y++) {
- memcpy(dst, src, len);
+ if (!fb_helper->dev->mode_config.fbdev_use_iomem)
+ memcpy(dst, src, len);
+ else
+ memcpy_toio((void __iomem *)dst, src, len);
+
src += fb->pitches[0];
dst += fb->pitches[0];
}