Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58221097 authored by Antonino A. Daplas's avatar Antonino A. Daplas Committed by Linus Torvalds
Browse files

[PATCH] atyfb: Remove unneeded calls to wait_for_idle



The drawing functions of atyfb is unecessary syncing the GPU which is
affecting performance.  Remove the calls, any direct access by fbcon to the
framebuffer will always be preceeded by a call to atyfb_sync().

Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 72c24cc5
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -200,8 +200,6 @@ void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area)
	if (!area->width || !area->height)
		return;
	if (!par->accel_flags) {
		if (par->blitter_may_be_busy)
			wait_for_idle(par);
		cfb_copyarea(info, area);
		return;
	}
@@ -248,8 +246,6 @@ void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
	if (!rect->width || !rect->height)
		return;
	if (!par->accel_flags) {
		if (par->blitter_may_be_busy)
			wait_for_idle(par);
		cfb_fillrect(info, rect);
		return;
	}
@@ -288,14 +284,10 @@ void atyfb_imageblit(struct fb_info *info, const struct fb_image *image)
		return;
	if (!par->accel_flags ||
	    (image->depth != 1 && info->var.bits_per_pixel != image->depth)) {
		if (par->blitter_may_be_busy)
			wait_for_idle(par);

		cfb_imageblit(info, image);
		return;
	}

	wait_for_idle(par);
	pix_width = pix_width_save = aty_ld_le32(DP_PIX_WIDTH, par);
	host_cntl = aty_ld_le32(HOST_CNTL, par) | HOST_BYTE_ALIGN;

@@ -425,8 +417,6 @@ void atyfb_imageblit(struct fb_info *info, const struct fb_image *image)
		}
	}

	wait_for_idle(par);

	/* restore pix_width */
	wait_for_fifo(1, par);
	aty_st_le32(DP_PIX_WIDTH, pix_width_save, par);