* Patch by Stephen Williams, 19 March 2004
authorwdenk <wdenk>
Tue, 23 Mar 2004 23:20:24 +0000 (23:20 +0000)
committerwdenk <wdenk>
Tue, 23 Mar 2004 23:20:24 +0000 (23:20 +0000)
  Increase speed of sector reads from SystemACE,
  shorten poll timeout and remove a useless reset

* Patch by Tolunay Orkun, 19 Mar 2004:
  Make GigE PHY 1000Mbps Speed/Duplex detection conditional
  (CONFIG_PHY_GIGE)

* Patch by Brad Kemp, 18 Mar 2004:
  prevent machine checks during a PCI scan

* Patch by Pierre Aubert, 18 Mar 2004:
  Fix string cleaning in IDE identification

CHANGELOG
common/cmd_ace.c
common/cmd_ide.c
common/miiphyutil.c
cpu/mpc8260/traps.c
include/configs/OCOTEA.h
include/configs/XPEDITE1K.h

index 52e81e5a660e06cce0dfb2c9a5c8540ba6535830..632cbb5c3304a700d4e81ec8471a64ccaa77ce65 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,20 @@
 Changes for U-Boot 1.0.2:
 ======================================================================
 
+* Patch by Stephen Williams, 19 March 2004
+  Increase speed of sector reads from SystemACE,
+  shorten poll timeout and remove a useless reset
+
+* Patch by Tolunay Orkun, 19 Mar 2004:
+  Make GigE PHY 1000Mbps Speed/Duplex detection conditional
+  (CONFIG_PHY_GIGE)
+
+* Patch by Brad Kemp, 18 Mar 2004:
+  prevent machine checks during a PCI scan
+
+* Patch by Pierre Aubert, 18 Mar 2004:
+  Fix string cleaning in IDE identification
+
 * Patch by Pierre Aubert, 18 Mar 2004:
   - Unify video mode handling for Chips & Technologies 69000 Video
     chip and Silicon Motion SMI 712/710/810 Video chip
index b6f8604780139106f14867843702780639d8c184..3512a1518947113a821e00e115f1238bb515c3c9 100644 (file)
@@ -190,16 +190,13 @@ static unsigned long systemace_read(int dev,
              /* Write sector count | ReadMemCardData. */
            ace_writew((trans&0xff) | 0x0300, 0x14);
 
-             /* CONTROLREG = CFGRESET|LOCKREQ */
-           ace_writew(0x0082, 0x18);
-
            retry = trans * 16;
            while (retry > 0) {
                  int idx;
 
                    /* Wait for buffer to become ready. */
                  while (! (ace_readw(0x04) & 0x0020)) {
-                       udelay(1000);
+                       udelay(100);
                  }
 
                    /* Read 16 words of 2bytes from the sector buffer. */
index 3bed194c7ef0a5c4bf1fa55097a45af445c6eca3..842a2fd786665acd3dacb8d20e9480293c1119ff 100644 (file)
@@ -1417,7 +1417,7 @@ static void ident_cpy (unsigned char *dst, unsigned char *src, unsigned int len)
        unsigned char *end, *last;
 
        last = dst;
-       end  = src + len;
+       end  = src + len - 1;
 
        /* reserve space for '\0' */
        if (len < 2)
index f6436cf2452583555f0a96be0969dbd8727a6a89..919de3ebc5eec8f782551e47a52139df2d51c519 100644 (file)
@@ -135,6 +135,7 @@ int miiphy_speed (unsigned char addr)
 {
        unsigned short reg;
 
+#if defined(CONFIG_PHY_GIGE)
        if (miiphy_read (addr, PHY_1000BTSR, &reg)) {
                printf ("PHY 1000BT Status read failed\n");
        } else {
@@ -144,6 +145,7 @@ int miiphy_speed (unsigned char addr)
                        }
                }
        }
+#endif /* CONFIG_PHY_GIGE */
 
        if (miiphy_read (addr, PHY_ANLPAR, &reg)) {
                puts ("PHY speed1 read failed, assuming 10bT\n");
@@ -165,7 +167,7 @@ int miiphy_duplex (unsigned char addr)
 {
        unsigned short reg;
 
-
+#if defined(CONFIG_PHY_GIGE)
        if (miiphy_read (addr, PHY_1000BTSR, &reg)) {
                printf ("PHY 1000BT Status read failed\n");
        } else {
@@ -178,6 +180,7 @@ int miiphy_duplex (unsigned char addr)
                        }
                }
        }
+#endif /* CONFIG_PHY_GIGE */
 
        if (miiphy_read (addr, PHY_ANLPAR, &reg)) {
                puts ("PHY duplex read failed, assuming half duplex\n");
index 715ef6006951f256dc5bc73a8392e1743d81d6d4..0c39e434ed34177470add5c97f4c7630ca74cf3c 100644 (file)
@@ -140,7 +140,7 @@ MachineCheckException(struct pt_regs *regs)
        dump_pci();
 #endif
        /* clear the error in the error status register */
-       if(immap->im_pci.pci_esr && cpu_to_le32(PCI_ERROR_PCI_NO_RSP)) {
+       if(immap->im_pci.pci_esr & cpu_to_le32(PCI_ERROR_PCI_NO_RSP)) {
                immap->im_pci.pci_esr = cpu_to_le32(PCI_ERROR_PCI_NO_RSP);
                return;
        }
index dea8953832b5a00df94336379783129e7a44ae3b..74e5acd5426fc655ca90df267b693da202bae019 100644 (file)
 #define CONFIG_PHY2_ADDR       0x10
 #define CONFIG_PHY3_ADDR       0x18
 #define CONFIG_CIS8201_PHY     1       /* Enable 'special' RGMII mode for Cicada phy */
+#define CONFIG_PHY_GIGE                1       /* Include GbE speed/duplex detection */
 #define CONFIG_NETMASK         255.255.255.0
 #define CONFIG_IPADDR          10.1.2.3
 #define CONFIG_ETHADDR         00:04:AC:E3:28:8A
index 4a19541b02e630810808c91f74bd47e228f26c1e..3cc4ff41a15fe3a8c6671d068e32a01a36c3b9c5 100644 (file)
@@ -174,6 +174,7 @@ extern void out32(unsigned int, unsigned long);
 #define CONFIG_PHY2_ADDR       4       /* PHY address phy2 */
 #define CONFIG_PHY3_ADDR       8       /* PHY address phy3 */
 #define CONFIG_NET_MULTI       1
+#define CONFIG_PHY_GIGE                1       /* Include GbE speed/duplex detection */
 #define CFG_RX_ETH_BUFFER   32 /* Number of ethernet rx buffers & descriptors */
 
 #define CONFIG_COMMANDS               (CONFIG_CMD_DFL  | \