diff options
Diffstat (limited to 'drivers/char/agp/intel-agp.c')
| -rw-r--r-- | drivers/char/agp/intel-agp.c | 15 | 
1 files changed, 4 insertions, 11 deletions
| diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index 3999a5f25f38..8a713f1e9653 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c @@ -8,6 +8,7 @@  #include <linux/kernel.h>  #include <linux/pagemap.h>  #include <linux/agp_backend.h> +#include <asm/smp.h>  #include "agp.h"  /* @@ -815,12 +816,6 @@ static void intel_i830_setup_flush(void)  		intel_i830_fini_flush();  } -static void -do_wbinvd(void *null) -{ -	wbinvd(); -} -  /* The chipset_flush interface needs to get data that has already been   * flushed out of the CPU all the way out to main memory, because the GPU   * doesn't snoop those buffers. @@ -837,12 +832,10 @@ static void intel_i830_chipset_flush(struct agp_bridge_data *bridge)  	memset(pg, 0, 1024); -	if (cpu_has_clflush) { +	if (cpu_has_clflush)  		clflush_cache_range(pg, 1024); -	} else { -		if (on_each_cpu(do_wbinvd, NULL, 1) != 0) -			printk(KERN_ERR "Timed out waiting for cache flush.\n"); -	} +	else if (wbinvd_on_all_cpus() != 0) +		printk(KERN_ERR "Timed out waiting for cache flush.\n");  }  /* The intel i830 automatically initializes the agp aperture during POST. | 
