[coreboot-gerrit] Change in coreboot[master]: nehalem/raminit: clean up code and remove write_mchbar functions
Felix Held (Code Review)
gerrit at coreboot.org
Sun Jul 29 05:33:26 CEST 2018
Felix Held has uploaded this change for review. ( https://review.coreboot.org/27708
Change subject: nehalem/raminit: clean up code and remove write_mchbar functions
......................................................................
nehalem/raminit: clean up code and remove write_mchbar functions
This part of the cleanup patches changes the hash of the output binary; likely
due to the compiler optimizing things differently.
Change-Id: I1a22f6216a75e2b463d4e169e97ad6e0bbaafae8
Signed-off-by: Felix Held <felix-coreboot at felixheld.de>
---
M src/northbridge/intel/nehalem/raminit.c
1 file changed, 28 insertions(+), 45 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/08/27708/1
diff --git a/src/northbridge/intel/nehalem/raminit.c b/src/northbridge/intel/nehalem/raminit.c
index 4e2679d..8fa0bd2 100644
--- a/src/northbridge/intel/nehalem/raminit.c
+++ b/src/northbridge/intel/nehalem/raminit.c
@@ -96,22 +96,6 @@
#include <lib.h> /* Prototypes */
-static inline void write_mchbar32(u32 addr, u32 val)
-{
- MCHBAR32(addr) = val;
-}
-
-static inline void write_mchbar16(u32 addr, u16 val)
-{
- MCHBAR16(addr) = val;
-}
-
-static inline void write_mchbar8(u32 addr, u8 val)
-{
- MCHBAR8(addr) = val;
-}
-
-
static inline u32 read_mchbar32(u32 addr)
{
return MCHBAR32(addr);
@@ -158,7 +142,7 @@
MCHBAR32(0x1d4) =
(val & ((1 << bits) - 1)) | (2 << bits) | (flag << bits);
MCHBAR32(0x1d0) = 0x40000000 | addr;
- while (read_mchbar32(0x1d0) & 0x800000)
+ while (MCHBAR32(0x1d0) & 0x800000)
;
}
@@ -297,7 +281,7 @@
MCHBAR32(0x504 + (channel << 10)) =
(val & ((1 << bits) - 1)) | (2 << bits) | (flag << bits);
MCHBAR32(0x500 + (channel << 10)) = 0x40000000 | addr;
- while (read_mchbar32(0x500 + (channel << 10)) & 0x800000)
+ while (MCHBAR32(0x500 + (channel << 10)) & 0x800000)
;
}
@@ -518,8 +502,8 @@
MCHBAR32(0x13c + 8 * k));
}
- write_mchbar32(0x334 + (channel << 10) + (j * 0x44),
- zero ? 0 : val3[j]);
+ MCHBAR32(0x334 + (channel << 10) + (j * 0x44)) =
+ zero ? 0 : val3[j];
MCHBAR32(0x32c + (channel << 10) + (j * 0x44)) =
zero ? 0 : (0x18191819 & lmask);
MCHBAR16(0x34a + (channel << 10) + (j * 0x44)) = c;
@@ -1282,7 +1266,7 @@
(frequency_11(info) * 2 -
4 * (info->fsb_frequency))) >> 3, 7);
}
- if (read_mchbar8(0x2ca9) & 1)
+ if (MCHBAR8(0x2ca9) & 1)
some_delay_3_half_cycles = 3;
for (channel = 0; channel < NUM_CHANNELS; channel++) {
MCHBAR32_OR(0x220 + (channel << 10), 0x18001117);
@@ -1318,7 +1302,7 @@
0x4c9, 4, 1);
}
- write_mchbar8(0x2c4, ((1 + (info->clock_speed_index != 0)) << 6) | 0xC);
+ MCHBAR8(0x2c4) = ((1 + (info->clock_speed_index != 0)) << 6) | 0xC;
{
u8 freq_divisor = 2;
if (info->fsb_frequency == frequency_11(info))
@@ -1665,7 +1649,8 @@
reg32 = MCHBAR32((channel << 10) + 0x274);
train.reg274265[channel][0] = reg32 >> 16;
train.reg274265[channel][1] = reg32 & 0xffff;
- train.reg274265[channel][2] = read_mchbar16 ((channel << 10) + 0x265) >> 8;
+ train.reg274265[channel][2] =
+ MCHBAR16((channel << 10) + 0x265) >> 8;
}
train.reg2ca9_bit0 = MCHBAR8(0x2ca9) & 1;
train.reg_6dc = MCHBAR32(0x6dc);
@@ -1705,13 +1690,15 @@
u32 raw;
} csr;
- while (!(read32(DEFAULT_HECIBAR + 0xc) & 8));
+ while (!(read32(DEFAULT_HECIBAR + 0xc) & 8))
+ ;
do
csr.raw = read32(DEFAULT_HECIBAR + 0x4);
while (len >
csr.csr.buffer_depth - (csr.csr.buffer_write_ptr -
- csr.csr.buffer_read_ptr));
+ csr.csr.buffer_read_ptr))
+ ;
}
static void send_heci_packet(struct mei_header *head, u32 *payload)
@@ -1788,8 +1775,9 @@
do
csr.raw = read32(DEFAULT_HECIBAR + 0xc);
- while ((head->length + 3) >> 2 >
- csr.csr.buffer_write_ptr - csr.csr.buffer_read_ptr);
+ while (((head->length + 3) >> 2) >
+ (csr.csr.buffer_write_ptr - csr.csr.buffer_read_ptr))
+ ;
for (i = 0; i < (head->length + 3) >> 2; i++)
packet[i++] = read32(DEFAULT_HECIBAR + 0x8);
@@ -3688,11 +3676,11 @@
int channel;
for (channel = 0; channel < NUM_CHANNELS; channel++) {
- write_mchbar32((channel << 10) + 0x274,
- (info->cached_training->reg274265[channel][0] << 16)
- | info->cached_training->reg274265[channel][1]);
- write_mchbar16((channel << 10) + 0x265,
- info->cached_training->reg274265[channel][2] << 8);
+ MCHBAR32((channel << 10) + 0x274) =
+ (info->cached_training->reg274265[channel][0] << 16) |
+ info->cached_training->reg274265[channel][1];
+ MCHBAR16((channel << 10) + 0x265) =
+ info->cached_training->reg274265[channel][2] << 8;
}
if (info->cached_training->reg2ca9_bit0)
MCHBAR8_OR(0x2ca9, 1);
@@ -4339,8 +4327,8 @@
((info.populated_ranks_mask[channel] & 3) << 20);
for (channel = 0; channel < NUM_CHANNELS; channel++) {
MCHBAR16(0x31c + (channel << 10)) = 0x101;
- write_mchbar16(0x360 + (channel << 10), 0x909);
- write_mchbar16(0x3a4 + (channel << 10), 0x101);
+ MCHBAR16(0x360 + (channel << 10)) = 0x909;
+ MCHBAR16(0x3a4 + (channel << 10)) = 0x101;
MCHBAR16(0x3e8 + (channel << 10)) = 0x101;
MCHBAR32(0x320 + (channel << 10)) = 0x29002900;
MCHBAR32(0x324 + (channel << 10)) = 0x0;
@@ -4437,7 +4425,7 @@
MCHBAR8(0x5f4) = 0x1;
MCHBAR32_AND(0x130, 0xfffffffd); // | 2 when ?
- while (read_mchbar32(0x130) & 1)
+ while (MCHBAR32(0x130) & 1)
;
gav(read_1d0(0x14b, 7)); // = 0x81023100
write_1d0(0x30, 0x14b, 7, 1);
@@ -4464,7 +4452,7 @@
MCHBAR32_AND(0x138, ~0x07000000);
MCHBAR32(0x130) = 0x31111301;
/* Wait until REG130b0 is 1. */
- while (read_mchbar32(0x130) & 1)
+ while (MCHBAR32(0x130) & 1)
;
{
@@ -4504,7 +4492,7 @@
MCHBAR32(0x130) = 0x11111301 | (info.populated_ranks[1][0][0] << 30) |
(info.populated_ranks[0][0][0] << 29);
- while (read_mchbar8(0x130) & 1) // !!!!
+ while (MCHBAR8(0x130) & 1)
;
read_1d0(0xa1, 6); // = 0x1cf4054 // !!!!
read_1d0(0x2f3, 6); // = 0x10a4054 // !!!!
@@ -4548,12 +4536,8 @@
MCHBAR32_AND_OR(0x134, 0xfc01ffff, 0x10000);
MCHBAR32_AND_OR(0x134, 0xfc85ffff, 0x850000);
for (channel = 0; channel < NUM_CHANNELS; channel++)
- write_mchbar32(0x260 + (channel << 10),
- (read_mchbar32(0x260 + (channel << 10)) &
- ~0xf00000) | 0x8000000 | ((info.
- populated_ranks_mask
- [channel] & 3) <<
- 20));
+ MCHBAR32_AND_OR(0x260 + (channel << 10), ~0xf00000, 0x8000000 |
+ ((info.populated_ranks_mask[channel] & 3) << 20));
if (!s3resume)
jedec_init(&info);
@@ -4826,8 +4810,7 @@
udelay(1000);
u16 ecx;
- for (ecx = 0xffff; ecx && (read_mchbar16(0x1170) & 0x1000);
- ecx--) // OK
+ for (ecx = 0xffff; ecx && (MCHBAR16(0x1170) & 0x1000); ecx--)
;
MCHBAR16_AND(0x1190, ~0x4000);
}
--
To view, visit https://review.coreboot.org/27708
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a22f6216a75e2b463d4e169e97ad6e0bbaafae8
Gerrit-Change-Number: 27708
Gerrit-PatchSet: 1
Gerrit-Owner: Felix Held <felix-coreboot at felixheld.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180729/feb218d1/attachment-0001.html>
More information about the coreboot-gerrit
mailing list