lkml.org 
[lkml]   [2010]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/cpu] intel-agp: Switch to wbinvd_on_all_cpus
    Commit-ID:  48a719c238bcbb72d6da79de9c5b3b93ab472107
    Gitweb: http://git.kernel.org/tip/48a719c238bcbb72d6da79de9c5b3b93ab472107
    Author: Borislav Petkov <borislav.petkov@amd.com>
    AuthorDate: Fri, 22 Jan 2010 16:01:04 +0100
    Committer: H. Peter Anvin <hpa@zytor.com>
    CommitDate: Fri, 22 Jan 2010 16:06:30 -0800

    intel-agp: Switch to wbinvd_on_all_cpus

    Simplify if-statement while at it.

    [ hpa: we need to #include <asm/smp.h> ]

    Cc: Dave Jones <davej@redhat.com>
    Cc: David Airlie <airlied@linux.ie>
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    LKML-Reference: <1264172467-25155-3-git-send-email-bp@amd64.org>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    ---
    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 3999a5f..8a713f1 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.

    \
     
     \ /
      Last update: 2010-01-23 01:45    [W:7.631 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site