amd64_edac: Use DBAM_DIMM macro
authorBorislav Petkov <borislav.petkov@amd.com>
Wed, 12 Sep 2012 16:16:01 +0000 (18:16 +0200)
committerBorislav Petkov <bp@alien8.de>
Wed, 28 Nov 2012 10:46:19 +0000 (11:46 +0100)
Instead of open-coding it, use the DBAM_DIMM macro in
amd64_csrow_nr_pages() which we have already.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
drivers/edac/amd64_edac.c
drivers/edac/amd64_edac.h

index cfb7e57..89cd71e 100644 (file)
@@ -2094,7 +2094,7 @@ static u32 amd64_csrow_nr_pages(struct amd64_pvt *pvt, u8 dct, int csrow_nr)
         * number of bits to shift the DBAM register to extract the proper CSROW
         * field.
         */
-       cs_mode =  (dbam >> ((csrow_nr / 2) * 4)) & 0xF;
+       cs_mode = DBAM_DIMM(csrow_nr / 2, dbam);
 
        nr_pages = pvt->ops->dbam_to_cs(pvt, dct, cs_mode) << (20 - PAGE_SHIFT);
 
index abefab4..e864f40 100644 (file)
 #define DBAM1                          0x180
 
 /* Extract the DIMM 'type' on the i'th DIMM from the DBAM reg value passed */
-#define DBAM_DIMM(i, reg)              ((((reg) >> (4*i))) & 0xF)
+#define DBAM_DIMM(i, reg)              ((((reg) >> (4*(i)))) & 0xF)
 
 #define DBAM_MAX_VALUE                 11