diff options
Diffstat (limited to 'drivers/gpu/drm/hyperv/hyperv_drm_modeset.c')
| -rw-r--r-- | drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c index 8c97a20dfe23..93f51e70a951 100644 --- a/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c +++ b/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c @@ -23,13 +23,16 @@ static int hyperv_blit_to_vram_rect(struct drm_framebuffer *fb,  				    struct drm_rect *rect)  {  	struct hyperv_drm_device *hv = to_hv(fb->dev); +	void __iomem *dst = hv->vram;  	void *vmap = map->vaddr; /* TODO: Use mapping abstraction properly */  	int idx;  	if (!drm_dev_enter(&hv->dev, &idx))  		return -ENODEV; -	drm_fb_memcpy_dstclip(hv->vram, fb->pitches[0], vmap, fb, rect); +	dst += drm_fb_clip_offset(fb->pitches[0], fb->format, rect); +	drm_fb_memcpy_toio(dst, fb->pitches[0], vmap, fb, rect); +  	drm_dev_exit(idx);  	return 0; |