atyfb: Remove unneeded calls to wait_for_idle
PATCH 4/12 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().
---
drivers/video/aty/mach64_accel.c | 10 ---------- 1 files changed, 0 insertions(+), 10 deletions(-)
drivers/video/aty/mach64_accel.c +0 -10
@@ -200,8 +200,6 @@ void atyfb_copyarea(struct fb_info *infoif (!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 *infoif (!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 *infreturn ;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
Quoted 3 lines · Antonino A. Daplas
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.
Signature · 10 lines
Ville Syrjälä [email protected] 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&kid0709&bid&3057&dat1642
Quoted 9 lines · Ville Syrjälä
Quoted 3 lines · Antonino A. Daplas
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.
Signature · 10 lines
Ville Syrjälä [email protected] 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&kid0709&bid&3057&dat1642