<p>Felix Held has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/27709">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">nehalem/raminit: remove read_mchbar functions<br><br>Change-Id: I7935cc166aa39f4053f45eef925d92ce50fd98ba<br>Signed-off-by: Felix Held <felix-coreboot@felixheld.de><br>---<br>M src/northbridge/intel/nehalem/raminit.c<br>1 file changed, 46 insertions(+), 48 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/27709/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/northbridge/intel/nehalem/raminit.c b/src/northbridge/intel/nehalem/raminit.c</span><br><span>index 8fa0bd2..96fc0b1 100644</span><br><span>--- a/src/northbridge/intel/nehalem/raminit.c</span><br><span>+++ b/src/northbridge/intel/nehalem/raminit.c</span><br><span>@@ -96,20 +96,6 @@</span><br><span> </span><br><span> #include <lib.h>          /* Prototypes */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static inline u32 read_mchbar32(u32 addr)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  return MCHBAR32(addr);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static inline u16 read_mchbar16(u32 addr)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-       return MCHBAR16(addr);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static inline u8 read_mchbar8(u32 addr)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- return MCHBAR8(addr);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span> </span><br><span> static void clflush(u32 addr)</span><br><span> {</span><br><span>@@ -3690,10 +3676,13 @@</span><br><span> </span><br><span> static void dmi_setup(void)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+    /* only used for dummy reads */</span><br><span style="color: hsl(120, 100%, 40%);">+       volatile u16 tmp;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  gav(read8(DEFAULT_DMIBAR + 0x254));</span><br><span>  write8(DEFAULT_DMIBAR + 0x254, 0x1);</span><br><span>         write16(DEFAULT_DMIBAR + 0x1b8, 0x18f2);</span><br><span style="color: hsl(0, 100%, 40%);">-        read_mchbar16(0x48);</span><br><span style="color: hsl(120, 100%, 40%);">+  tmp = MCHBAR16(0x48);</span><br><span>        MCHBAR16(0x48) = 0x2;</span><br><span> </span><br><span>    write32(DEFAULT_DMIBAR + 0xd68, read32(DEFAULT_DMIBAR + 0xd68) | 0x08000000);</span><br><span>@@ -3709,6 +3698,10 @@</span><br><span>       u16 ggc;</span><br><span>     u8 gfxsize;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+       /* only used for dummy reads */</span><br><span style="color: hsl(120, 100%, 40%);">+       volatile u8 tmp8;</span><br><span style="color: hsl(120, 100%, 40%);">+     volatile u32 tmp32;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>        x2ca8 = MCHBAR8(0x2ca8);</span><br><span>     if ((x2ca8 & 1) || (x2ca8 == 8 && !s3resume)) {</span><br><span>          printk(BIOS_DEBUG, "soft reset detected, rebooting properly\n");</span><br><span>@@ -3728,7 +3721,7 @@</span><br><span>   MCHBAR16(0x1170) = 0xa880;</span><br><span>   MCHBAR8(0x11c1) = 0x1;</span><br><span>       MCHBAR16(0x1170) = 0xb880;</span><br><span style="color: hsl(0, 100%, 40%);">-      read_mchbar8(0x1210);</span><br><span style="color: hsl(120, 100%, 40%);">+ tmp8 = MCHBAR8(0x1210);</span><br><span>      MCHBAR8(0x1210) = 0x84;</span><br><span> </span><br><span>  if (get_option(&gfxsize, "gfx_uma_size") != CB_SUCCESS) {</span><br><span>@@ -3748,7 +3741,7 @@</span><br><span>              pci_read_config8(NORTHBRIDGE, 0x8);     // = 0x18</span><br><span>            MCHBAR16_OR(0x2c30, 0x200);</span><br><span>          MCHBAR16(0x2c32) = 0x434;</span><br><span style="color: hsl(0, 100%, 40%);">-               read_mchbar32(0x2c44);</span><br><span style="color: hsl(120, 100%, 40%);">+                tmp32 = MCHBAR32(0x2c44);</span><br><span>            MCHBAR32(0x2c44) = 0x1053687;</span><br><span>                pci_read_config8(GMA, 0x62);    // = 0x2</span><br><span>             pci_write_config8(GMA, 0x62, 0x2);</span><br><span>@@ -3758,7 +3751,7 @@</span><br><span>           write8(DEFAULT_RCBA + 0x2320, 0xfc);</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar32(0x30);</span><br><span style="color: hsl(120, 100%, 40%);">+  tmp32 = MCHBAR32(0x30);</span><br><span>      MCHBAR32(0x30) = 0x40;</span><br><span> </span><br><span>   pci_write_config16(NORTHBRIDGE, D0F0_GGC, ggc);</span><br><span>@@ -3775,6 +3768,11 @@</span><br><span>     u16 deven;</span><br><span>   int cbmem_wasnot_inited;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+  /* only used for dummy reads */</span><br><span style="color: hsl(120, 100%, 40%);">+       volatile u8 tmp8;</span><br><span style="color: hsl(120, 100%, 40%);">+     volatile u16 tmp16;</span><br><span style="color: hsl(120, 100%, 40%);">+   volatile u32 tmp32;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>        x2ca8 = MCHBAR8(0x2ca8);</span><br><span>     deven = pci_read_config16(NORTHBRIDGE, D0F0_DEVEN);</span><br><span> </span><br><span>@@ -4077,7 +4075,7 @@</span><br><span>              set_2dxx_series(&info, s3resume);</span><br><span> </span><br><span>            if (!(deven & 8)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 read_mchbar32(0x2cb0);</span><br><span style="color: hsl(120, 100%, 40%);">+                        tmp32 = MCHBAR32(0x2cb0);</span><br><span>                    MCHBAR32(0x2cb0) = 0x40;</span><br><span>             }</span><br><span> </span><br><span>@@ -4085,16 +4083,16 @@</span><br><span> </span><br><span>          if (deven & 8) {</span><br><span>                         MCHBAR32_OR(0xff8, 0x1800);</span><br><span style="color: hsl(0, 100%, 40%);">-                     read_mchbar32(0x2cb0);</span><br><span style="color: hsl(120, 100%, 40%);">+                        tmp32 = MCHBAR32(0x2cb0);</span><br><span>                    MCHBAR32(0x2cb0) = 0x00;</span><br><span>                     pci_read_config8(PCI_DEV (0, 0x2, 0x0), 0x4c);</span><br><span>                       pci_read_config8(PCI_DEV (0, 0x2, 0x0), 0x4c);</span><br><span>                       pci_read_config8(PCI_DEV (0, 0x2, 0x0), 0x4e);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-                      read_mchbar8(0x1150);</span><br><span style="color: hsl(0, 100%, 40%);">-                   read_mchbar8(0x1151);</span><br><span style="color: hsl(0, 100%, 40%);">-                   read_mchbar8(0x1022);</span><br><span style="color: hsl(0, 100%, 40%);">-                   read_mchbar8(0x16d0);</span><br><span style="color: hsl(120, 100%, 40%);">+                 tmp8 = MCHBAR8(0x1150);</span><br><span style="color: hsl(120, 100%, 40%);">+                       tmp8 = MCHBAR8(0x1151);</span><br><span style="color: hsl(120, 100%, 40%);">+                       tmp8 = MCHBAR8(0x1022);</span><br><span style="color: hsl(120, 100%, 40%);">+                       tmp8 = MCHBAR8(0x16d0);</span><br><span>                      MCHBAR32(0x1300) = 0x60606060;</span><br><span>                       MCHBAR32(0x1304) = 0x60606060;</span><br><span>                       MCHBAR32(0x1308) = 0x78797a7b;</span><br><span>@@ -4145,12 +4143,12 @@</span><br><span>                     MCHBAR16(0x11c0) = 0xc40b;</span><br><span>                   MCHBAR16(0x11c2) = 0x303;</span><br><span>                    MCHBAR16(0x11c4) = 0x301;</span><br><span style="color: hsl(0, 100%, 40%);">-                       read_mchbar32(0x1190);</span><br><span style="color: hsl(120, 100%, 40%);">+                        tmp32 = MCHBAR32(0x1190);</span><br><span>                    MCHBAR32(0x1190) = 0x8900080a;</span><br><span>                       MCHBAR32(0x11b8) = 0x70c3000;</span><br><span>                        MCHBAR8(0x11ec) = 0xa;</span><br><span>                       MCHBAR16(0x1100) = 0x800;</span><br><span style="color: hsl(0, 100%, 40%);">-                       read_mchbar32(0x11bc);</span><br><span style="color: hsl(120, 100%, 40%);">+                        tmp32 = MCHBAR32(0x11bc);</span><br><span>                    MCHBAR32(0x11bc) = 0x1e84800;</span><br><span>                        MCHBAR16(0x11ca) = 0xfa;</span><br><span>                     MCHBAR32(0x11e4) = 0x4e20;</span><br><span>@@ -4185,9 +4183,9 @@</span><br><span>   if ((deven & 8) && x2ca8 == 0) {</span><br><span>                 MCHBAR16(0x1214) = 0x320;</span><br><span>            MCHBAR32(0x1600) = 0x40000000;</span><br><span style="color: hsl(0, 100%, 40%);">-          read_mchbar32(0x11f4);</span><br><span style="color: hsl(120, 100%, 40%);">+                tmp32 = MCHBAR32(0x11f4);</span><br><span>            MCHBAR32(0x11f4) = 0x10000000;</span><br><span style="color: hsl(0, 100%, 40%);">-          read_mchbar16(0x1230);</span><br><span style="color: hsl(120, 100%, 40%);">+                tmp16 = MCHBAR16(0x1230);</span><br><span>            MCHBAR16(0x1230) = 0x8000;</span><br><span>           MCHBAR32(0x1400) = 0x13040020;</span><br><span>               MCHBAR32(0x1404) = 0xe090120;</span><br><span>@@ -4285,12 +4283,12 @@</span><br><span>              MCHBAR16(0x1220) = 0x1388;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar32(0x2c80);  // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x2c80);       // !!!!</span><br><span>      MCHBAR32(0x2c80) = 0x1053688;</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar32(0x1c04);  // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x1c04);       // !!!!</span><br><span>      MCHBAR32(0x1804) = 0x406080;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        read_mchbar8(0x2ca8);</span><br><span style="color: hsl(120, 100%, 40%);">+ tmp8 = MCHBAR8(0x2ca8);</span><br><span> </span><br><span>  if (x2ca8 == 0) {</span><br><span>            MCHBAR8_AND(0x2ca8, ~3);</span><br><span>@@ -4300,12 +4298,12 @@</span><br><span>   }</span><br><span> </span><br><span>        MCHBAR8(0x2ca8) = MCHBAR8(0x2ca8);</span><br><span style="color: hsl(0, 100%, 40%);">-      read_mchbar32(0x2c80);  // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x2c80);       // !!!!</span><br><span>      MCHBAR32(0x2c80) = 0x53688;</span><br><span>  pci_write_config32(PCI_DEV (0xff, 0, 0), 0x60, 0x20220);</span><br><span style="color: hsl(0, 100%, 40%);">-        read_mchbar16(0x2c20);  // !!!!</span><br><span style="color: hsl(0, 100%, 40%);">- read_mchbar16(0x2c10);  // !!!!</span><br><span style="color: hsl(0, 100%, 40%);">- read_mchbar16(0x2c00);  // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp16 = MCHBAR16(0x2c20);       // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp16 = MCHBAR16(0x2c10);       // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp16 = MCHBAR16(0x2c00);       // !!!!</span><br><span>      MCHBAR16(0x2c00) = 0x8c0;</span><br><span>    udelay(1000);</span><br><span>        write_1d0(0, 0x33d, 0, 0);</span><br><span>@@ -4318,9 +4316,9 @@</span><br><span>   MCHBAR16(0x616) = 0x26a;</span><br><span>     MCHBAR32(0x134) = 0x856000;</span><br><span>  MCHBAR32(0x160) = 0x5ffffff;</span><br><span style="color: hsl(0, 100%, 40%);">-    read_mchbar32(0x114);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x114);        // !!!!</span><br><span>      MCHBAR32(0x114) = 0xc2024440;</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar32(0x118);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x118);        // !!!!</span><br><span>      MCHBAR32(0x118) = 0x4;</span><br><span>       for (channel = 0; channel < NUM_CHANNELS; channel++)</span><br><span>              MCHBAR32(0x260 + (channel << 10)) = 0x30809ff |</span><br><span>@@ -4411,12 +4409,12 @@</span><br><span>              write_1d0(info.cached_training->reg_10b, 0x10b, 6, 1);</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar32(0x1f4);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x1f4);        // !!!!</span><br><span>      MCHBAR32(0x1f4) = 0x20000;</span><br><span>   MCHBAR32(0x1f0) = 0x1d000200;</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar8(0x1f0);    // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp8 = MCHBAR8(0x1f0);  // !!!!</span><br><span>      MCHBAR8(0x1f0) = 0x1;</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar8(0x1f0);    // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp8 = MCHBAR8(0x1f0);  // !!!!</span><br><span> </span><br><span>  program_board_delay(&info);</span><br><span> </span><br><span>@@ -4444,9 +4442,9 @@</span><br><span>  write_1d0(0, 0xae, 6, 1);</span><br><span>    read_1d0(0x300, 4);     // = 0x48088080 // !!!!</span><br><span>      write_1d0(0, 0x300, 6, 1);</span><br><span style="color: hsl(0, 100%, 40%);">-      read_mchbar16(0x356);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp16 = MCHBAR16(0x356);        // !!!!</span><br><span>      MCHBAR16(0x356) = 0x1040;</span><br><span style="color: hsl(0, 100%, 40%);">-       read_mchbar16(0x756);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp16 = MCHBAR16(0x756);        // !!!!</span><br><span>      MCHBAR16(0x756) = 0x1040;</span><br><span>    MCHBAR32_AND(0x140, ~0x07000000);</span><br><span>    MCHBAR32_AND(0x138, ~0x07000000);</span><br><span>@@ -4477,7 +4475,7 @@</span><br><span>                    info.populated_ranks[channel][0][0] ? 9 : 1);</span><br><span> </span><br><span>    rmw_1d0(0x116, 0xe, 1, 4, 1);   // = 0x4040432 // !!!!</span><br><span style="color: hsl(0, 100%, 40%);">-  read_mchbar32(0x144);   // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp32 = MCHBAR32(0x144);        // !!!!</span><br><span>      write_1d0(2, 0xae, 6, 1);</span><br><span>    write_1d0(2, 0x300, 6, 1);</span><br><span>   write_1d0(2, 0x121, 3, 1);</span><br><span>@@ -4554,9 +4552,9 @@</span><br><span> </span><br><span>       MCHBAR8(0x12c) = 0x9f;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      read_mchbar8(0x271);    // 2 // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+  tmp8 = MCHBAR8(0x271);  // 2 // !!!!</span><br><span>         MCHBAR8(0x271) = 0xe;</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar8(0x671);    // !!!!</span><br><span style="color: hsl(120, 100%, 40%);">+       tmp8 = MCHBAR8(0x671);  // !!!!</span><br><span>      MCHBAR8(0x671) = 0xe;</span><br><span> </span><br><span>    if (!s3resume) {</span><br><span>@@ -4568,7 +4566,7 @@</span><br><span>                             (info.populated_ranks[channel][0][1] << 5);</span><br><span>                    MCHBAR32(0x29c + (channel << 10)) = 0x77a;</span><br><span>             }</span><br><span style="color: hsl(0, 100%, 40%);">-               read_mchbar32(0x2c0);   /// !!!</span><br><span style="color: hsl(120, 100%, 40%);">+               tmp32 = MCHBAR32(0x2c0);        /// !!!</span><br><span>              MCHBAR32(0x2c0) = 0x6009cc00;</span><br><span> </span><br><span>            {</span><br><span>@@ -4618,7 +4616,7 @@</span><br><span>                            (info.populated_ranks[channel][0][1] << 5);</span><br><span>                    MCHBAR32(0x29c + (channel << 10)) = 0x77a;</span><br><span>             }</span><br><span style="color: hsl(0, 100%, 40%);">-               read_mchbar32(0x2c0);   /// !!!</span><br><span style="color: hsl(120, 100%, 40%);">+               tmp32 = MCHBAR32(0x2c0);        /// !!!</span><br><span>              MCHBAR32(0x2c0) = 0x6009cc00;</span><br><span>        }</span><br><span> </span><br><span>@@ -4731,7 +4729,7 @@</span><br><span>        reg1c = read32p(DEFAULT_EPBAR | 0x01c); // = 0x8001 // OK</span><br><span>    pci_read_config32(NORTHBRIDGE, 0x40);   // = DEFAULT_EPBAR | 0x001 // OK</span><br><span>     write32p(DEFAULT_EPBAR | 0x01c, reg1c); // OK</span><br><span style="color: hsl(0, 100%, 40%);">-   read_mchbar8(0xe08);    // = 0x0</span><br><span style="color: hsl(120, 100%, 40%);">+      tmp8 = MCHBAR8(0xe08);  // = 0x0</span><br><span>     pci_read_config32(NORTHBRIDGE, 0xe4);   // = 0x316126</span><br><span>        MCHBAR8_OR(0x1210, 2);</span><br><span>       MCHBAR32(0x1200) = 0x8800440;</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/27709">change 27709</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/27709"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7935cc166aa39f4053f45eef925d92ce50fd98ba </div>
<div style="display:none"> Gerrit-Change-Number: 27709 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Felix Held <felix-coreboot@felixheld.de> </div>