lkml.org 
[lkml]   [2011]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/3] coretemp: Get microcode revision from cpu_data
    Date
    From: Andi Kleen <ak@linux.intel.com>

    Now that the ucode revision is available in cpu_data remove
    the existing code in coretemp.c to query it manually. Read the ucode
    revision from cpu_data instead

    Cc: jbeulich@novell.com
    Cc: fenghua.yu@intel.com
    Cc: khali@linux-fr.org
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    ---
    drivers/hwmon/coretemp.c | 29 +++++------------------------
    1 files changed, 5 insertions(+), 24 deletions(-)
    diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
    index 9577c43..aff3e2c 100644
    --- a/drivers/hwmon/coretemp.c
    +++ b/drivers/hwmon/coretemp.c
    @@ -324,15 +324,6 @@ static int get_tjmax(struct cpuinfo_x86 *c, u32 id, struct device *dev)
    }
    }

    -static void __devinit get_ucode_rev_on_cpu(void *edx)
    -{
    - u32 eax;
    -
    - wrmsr(MSR_IA32_UCODE_REV, 0, 0);
    - sync_core();
    - rdmsr(MSR_IA32_UCODE_REV, eax, *(u32 *)edx);
    -}
    -
    static int get_pkg_tjmax(unsigned int cpu, struct device *dev)
    {
    int err;
    @@ -433,21 +424,11 @@ static int chk_ucode_version(struct platform_device *pdev)
    * Readings might stop update when processor visited too deep sleep,
    * fixed for stepping D0 (6EC).
    */
    - if (c->x86_model == 0xe && c->x86_mask < 0xc) {
    - /* check for microcode update */
    - err = smp_call_function_single(pdev->id, get_ucode_rev_on_cpu,
    - &edx, 1);
    - if (err) {
    - dev_err(&pdev->dev,
    - "Cannot determine microcode revision of "
    - "CPU#%u (%d)!\n", pdev->id, err);
    - return -ENODEV;
    - } else if (edx < 0x39) {
    - dev_err(&pdev->dev,
    - "Errata AE18 not fixed, update BIOS or "
    - "microcode of the CPU!\n");
    - return -ENODEV;
    - }
    + if (c->x86_model == 0xe && c->x86_mask < 0xc && c->x86_cpu_update < 0x39) {
    + dev_err(&pdev->dev,
    + "Errata AE18 not fixed, update BIOS or "
    + "microcode of the CPU!\n");
    + return -ENODEV;
    }
    return 0;
    }
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-05-25 01:07    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean