Hi Bernhard, +static u32 convert_rev_f(u32 val) +{ + return (((((val) >> 16) & 0xff) - 49) * 1000); +} + +static u32 convert_rev_g(u32 val) +{ + return (((((val) >> 14) & 0x3ff) - 49) * 250); +} Are you sure those are correct? The datasheets suggest that you need first extract the 0.25 degC from two lowest bits and THEN subtract 49. Your code does it first. Your method will work only if AMD made a mistake in documentation. Are you sure? Thanks, Rudolf