linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 4/12] atyfb: Remove unneeded calls to wait_for_idle
@ 2006-04-29  0:32 Antonino A. Daplas
  2006-05-01 10:20 ` Ville Syrjälä
  0 siblings, 1 reply; 3+ messages in thread
From: Antonino A. Daplas @ 2006-04-29  0:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Fbdev development list, Alexander Kern,
	Ville Syrjälä

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: Antonino Daplas <adaplas@pol.net>
---

 drivers/video/aty/mach64_accel.c |   10 ----------
 1 files changed, 0 insertions(+), 10 deletions(-)

diff --git a/drivers/video/aty/mach64_accel.c b/drivers/video/aty/mach64_accel.c
index c98f4a4..1490e5e 100644
--- a/drivers/video/aty/mach64_accel.c
+++ b/drivers/video/aty/mach64_accel.c
@@ -200,8 +200,6 @@ void atyfb_copyarea(struct fb_info *info
 	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
 	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 *inf
 		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 *inf
 		}
 	}
 
-	wait_for_idle(par);
-
 	/* restore pix_width */
 	wait_for_fifo(1, par);
 	aty_st_le32(DP_PIX_WIDTH, pix_width_save, par);



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 4/12] atyfb: Remove unneeded calls to wait_for_idle
  2006-04-29  0:32 [PATCH 4/12] atyfb: Remove unneeded calls to wait_for_idle Antonino A. Daplas
@ 2006-05-01 10:20 ` Ville Syrjälä
  2006-05-11 20:11   ` Ville Syrjälä
  0 siblings, 1 reply; 3+ messages in thread
From: Ville Syrjälä @ 2006-05-01 10:20 UTC (permalink / raw)
  To: Antonino A. Daplas
  Cc: Andrew Morton, Linux Fbdev development list, Alexander Kern

On Sat, Apr 29, 2006 at 08:32:34AM +0800, Antonino A. Daplas wrote:
> 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().

Still works on my Mobility :) I'll try to test with older chips later 
this week, but I don't expect any problems. AFAIK the only case when an 
engine sync is necessary is 3D/scaler <-> 2D transition on pre-Rage Pro 
chips.

-- 
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 4/12] atyfb: Remove unneeded calls to wait_for_idle
  2006-05-01 10:20 ` Ville Syrjälä
@ 2006-05-11 20:11   ` Ville Syrjälä
  0 siblings, 0 replies; 3+ messages in thread
From: Ville Syrjälä @ 2006-05-11 20:11 UTC (permalink / raw)
  To: Antonino A. Daplas, Andrew Morton, Linux Fbdev development list,
	Alexander Kern

On Mon, May 01, 2006 at 01:20:23PM +0300, Ville Syrjälä wrote:
> On Sat, Apr 29, 2006 at 08:32:34AM +0800, Antonino A. Daplas wrote:
> > 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().
> 
> Still works on my Mobility :) I'll try to test with older chips later 
> this week, but I don't expect any problems. AFAIK the only case when an 
> engine sync is necessary is 3D/scaler <-> 2D transition on pre-Rage Pro 
> chips.

Now also tested with VT2, Rage II+ and IIC. No problems.

-- 
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid\x120709&bid&3057&dat\x121642

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-05-11 20:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-29  0:32 [PATCH 4/12] atyfb: Remove unneeded calls to wait_for_idle Antonino A. Daplas
2006-05-01 10:20 ` Ville Syrjälä
2006-05-11 20:11   ` Ville Syrjälä

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).