[coreboot-gerrit] Change in coreboot[master]: nb/intel/x4x: Add a convenient macro to loop over bytelanes
Arthur Heymans (Code Review)
gerrit at coreboot.org
Sun Nov 5 08:43:12 CET 2017
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/22347
Change subject: nb/intel/x4x: Add a convenient macro to loop over bytelanes
......................................................................
nb/intel/x4x: Add a convenient macro to loop over bytelanes
During raminit a lot of procedures need to be done for each bytelane.
Change-Id: Ib9a30ffabaf5c845e962e3e79cf4a20faa1d9857
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
M src/northbridge/intel/x4x/raminit_ddr2.c
M src/northbridge/intel/x4x/rcven.c
M src/northbridge/intel/x4x/x4x.h
3 files changed, 8 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/47/22347/1
diff --git a/src/northbridge/intel/x4x/raminit_ddr2.c b/src/northbridge/intel/x4x/raminit_ddr2.c
index e3d5bb9..9ed4295 100644
--- a/src/northbridge/intel/x4x/raminit_ddr2.c
+++ b/src/northbridge/intel/x4x/raminit_ddr2.c
@@ -809,7 +809,7 @@
int ch, lane, rank;
FOR_EACH_POPULATED_CHANNEL(s->dimms, ch) {
- for (lane = 0; lane < 8; lane++) {
+ FOR_EACH_BYTELANE(lane) {
FOR_EACH_POPULATED_RANK_IN_CHANNEL(s->dimms, ch, rank) {
switch (s->selected_timings.mem_clk) {
case MEM_CLOCK_667MHz:
@@ -871,7 +871,7 @@
int ch, lane, rank;
FOR_EACH_POPULATED_CHANNEL(s->dimms, ch) {
- for (lane = 0; lane < 8; lane++) {
+ FOR_EACH_BYTELANE(lane) {
FOR_EACH_POPULATED_RANK_IN_CHANNEL(s->dimms, ch, rank) {
rt_set_dqs(ch, lane, rank,
&s->rt_dqs[ch][rank][lane]);
@@ -1148,7 +1148,7 @@
reg32 |= s->rcven_t[channel].min_common_coarse << 16;
MCHBAR32(0x400 * channel + 0x248) = reg32;
- for (lane = 0; lane < 8; lane++) {
+ FOR_EACH_BYTELANE(lane) {
medium |= s->rcven_t[channel].medium[lane]
<< (lane * 2);
coarse_offset |=
diff --git a/src/northbridge/intel/x4x/rcven.c b/src/northbridge/intel/x4x/rcven.c
index 1f27208..b1ef034 100644
--- a/src/northbridge/intel/x4x/rcven.c
+++ b/src/northbridge/intel/x4x/rcven.c
@@ -325,7 +325,7 @@
addr = test_address(channel, rank);
break;
}
- for (lane = 0; lane < 8; lane++) {
+ FOR_EACH_BYTELANE(lane) {
printk(BIOS_DEBUG, "Channel %d, Lane %d addr=0x%08x\n",
channel, lane, addr);
timing[lane].coarse = (s->selected_timings.CAS + 1);
@@ -361,7 +361,7 @@
s->rcven_t[channel].min_common_coarse = mincoarse;
printk(BIOS_DEBUG, "Receive enable, final timings:\n");
/* Normalise coarse */
- for (lane = 0; lane < 8; lane++) {
+ FOR_EACH_BYTELANE(lane) {
if (timing[lane].coarse == 0)
reg8 = 0;
else
diff --git a/src/northbridge/intel/x4x/x4x.h b/src/northbridge/intel/x4x/x4x.h
index 434c5f3..5f2c440 100644
--- a/src/northbridge/intel/x4x/x4x.h
+++ b/src/northbridge/intel/x4x/x4x.h
@@ -161,6 +161,7 @@
#define TOTAL_CHANNELS 2
#define TOTAL_DIMMS 4
+#define TOTAL_BYTELANES 8
#define DIMMS_PER_CHANNEL (TOTAL_DIMMS / TOTAL_CHANNELS)
#define RAW_CARD_UNPOPULATED 0xff
#define RAW_CARD_POPULATED 0
@@ -215,6 +216,8 @@
FOR_EACH_CHANNEL(ch) FOR_EACH_RANK_IN_CHANNEL(r)
#define FOR_EACH_POPULATED_RANK(dimms, ch, r) \
FOR_EACH_RANK(ch, r) IF_RANK_POPULATED(dimms, ch, r)
+#define FOR_EACH_BYTELANE(l) \
+ for (l = 0; l < TOTAL_BYTELANES; l++)
#define DDR3_MAX_CAS 18
--
To view, visit https://review.coreboot.org/22347
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib9a30ffabaf5c845e962e3e79cf4a20faa1d9857
Gerrit-Change-Number: 22347
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur at aheymans.xyz>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20171105/8c58875d/attachment.html>
More information about the coreboot-gerrit
mailing list