]> err.no Git - linux-2.6/blobdiff - drivers/net/netxen/netxen_nic_niu.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
[linux-2.6] / drivers / net / netxen / netxen_nic_niu.c
index 75102d30730f0cdecf3942485211cfbcfe5eb59f..1c852a76c80d6bc352f1caf191bc4ae599163261 100644 (file)
@@ -40,7 +40,7 @@
 
 static long phy_lock_timeout = 100000000;
 
-static inline int phy_lock(struct netxen_adapter *adapter)
+static int phy_lock(struct netxen_adapter *adapter)
 {
        int i;
        int done = 0, timeout = 0;
@@ -68,14 +68,14 @@ static inline int phy_lock(struct netxen_adapter *adapter)
        return 0;
 }
 
-static inline int phy_unlock(struct netxen_adapter *adapter)
+static int phy_unlock(struct netxen_adapter *adapter)
 {
        readl(pci_base_offset(adapter, NETXEN_PCIE_REG(PCIE_SEM3_UNLOCK)));
 
        return 0;
 }
 
-/* 
+/*
  * netxen_niu_gbe_phy_read - read a register from the GbE PHY via
  * mii management interface.
  *
@@ -88,7 +88,7 @@ static inline int phy_unlock(struct netxen_adapter *adapter)
  *       -1 on error
  *
  */
-int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg, 
+int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
                                __u32 * readval)
 {
        long timeout = 0;
@@ -171,7 +171,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
        return result;
 }
 
-/* 
+/*
  * netxen_niu_gbe_phy_write - write a register to the GbE PHY via
  * mii management interface.
  *
@@ -184,7 +184,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
  *       -1 on error
  *
  */
-int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg, 
+int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
                                __u32 val)
 {
        long timeout = 0;
@@ -275,7 +275,7 @@ int netxen_niu_gbe_enable_phy_interrupts(struct netxen_adapter *adapter)
        netxen_set_phy_int_speed_changed(enable);
 
        if (0 !=
-           netxen_niu_gbe_phy_write(adapter, 
+           netxen_niu_gbe_phy_write(adapter,
                                     NETXEN_NIU_GB_MII_MGMT_ADDR_INT_ENABLE,
                                     enable))
                result = -EIO;
@@ -300,17 +300,19 @@ int netxen_niu_gbe_disable_phy_interrupts(struct netxen_adapter *adapter)
        return result;
 }
 
+#if 0
 int netxen_niu_xgbe_clear_phy_interrupts(struct netxen_adapter *adapter)
 {
        netxen_crb_writelit_adapter(adapter, NETXEN_NIU_ACTIVE_INT, -1);
        return 0;
 }
+#endif  /*  0  */
 
-int netxen_niu_gbe_clear_phy_interrupts(struct netxen_adapter *adapter)
+static int netxen_niu_gbe_clear_phy_interrupts(struct netxen_adapter *adapter)
 {
        int result = 0;
        if (0 !=
-           netxen_niu_gbe_phy_write(adapter, 
+           netxen_niu_gbe_phy_write(adapter,
                                     NETXEN_NIU_GB_MII_MGMT_ADDR_INT_STATUS,
                                     -EIO))
                result = -EIO;
@@ -318,12 +320,12 @@ int netxen_niu_gbe_clear_phy_interrupts(struct netxen_adapter *adapter)
        return result;
 }
 
-/* 
+/*
  * netxen_niu_gbe_set_mii_mode- Set 10/100 Mbit Mode for GbE MAC
  *
  */
-void netxen_niu_gbe_set_mii_mode(struct netxen_adapter *adapter,
-                                int port, long enable)
+static void netxen_niu_gbe_set_mii_mode(struct netxen_adapter *adapter,
+                                       int port, long enable)
 {
        netxen_crb_writelit_adapter(adapter, NETXEN_NIU_MODE, 0x2);
        netxen_crb_writelit_adapter(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
@@ -342,9 +344,9 @@ void netxen_niu_gbe_set_mii_mode(struct netxen_adapter *adapter,
                                    NETXEN_NIU_GB_MII_MGMT_CONFIG(port), 0x7);
 
        if (enable) {
-               /* 
-                * Do NOT enable flow control until a suitable solution for 
-                *  shutting down pause frames is found. 
+               /*
+                * Do NOT enable flow control until a suitable solution for
+                *  shutting down pause frames is found.
                 */
                netxen_crb_writelit_adapter(adapter,
                                            NETXEN_NIU_GB_MAC_CONFIG_0(port),
@@ -357,11 +359,11 @@ void netxen_niu_gbe_set_mii_mode(struct netxen_adapter *adapter,
                printk(KERN_ERR PFX "ERROR clearing PHY interrupts\n");
 }
 
-/* 
+/*
  * netxen_niu_gbe_set_gmii_mode- Set GbE Mode for GbE MAC
  */
-void netxen_niu_gbe_set_gmii_mode(struct netxen_adapter *adapter,
-                                 int port, long enable)
+static void netxen_niu_gbe_set_gmii_mode(struct netxen_adapter *adapter,
+                                        int port, long enable)
 {
        netxen_crb_writelit_adapter(adapter, NETXEN_NIU_MODE, 0x2);
        netxen_crb_writelit_adapter(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
@@ -380,9 +382,9 @@ void netxen_niu_gbe_set_gmii_mode(struct netxen_adapter *adapter,
                                    NETXEN_NIU_GB_MII_MGMT_CONFIG(port), 0x7);
 
        if (enable) {
-               /* 
-                * Do NOT enable flow control until a suitable solution for 
-                *  shutting down pause frames is found. 
+               /*
+                * Do NOT enable flow control until a suitable solution for
+                *  shutting down pause frames is found.
                 */
                netxen_crb_writelit_adapter(adapter,
                                            NETXEN_NIU_GB_MAC_CONFIG_0(port),
@@ -464,7 +466,8 @@ int netxen_niu_xg_init_port(struct netxen_adapter *adapter, int port)
        return 0;
 }
 
-/* 
+#if 0
+/*
  * netxen_niu_gbe_handle_phy_interrupt - Handles GbE PHY interrupts
  * @param enable 0 means don't enable the port
  *              1 means enable (or re-enable) the port
@@ -544,8 +547,8 @@ int netxen_niu_gbe_handle_phy_interrupt(struct netxen_adapter *adapter,
                                                                    port,
                                                                    enable);
                                } else {
-                                       printk(KERN_ERR PFX "ERROR reading"
-                                              "PHY status. Illegal speed.\n");
+                                       printk(KERN_ERR PFX "ERROR reading "
+                                              "PHY status. Invalid speed.\n");
                                        result = -1;
                                }
                        } else {
@@ -559,13 +562,14 @@ int netxen_niu_gbe_handle_phy_interrupt(struct netxen_adapter *adapter,
        }
        return result;
 }
+#endif  /*  0  */
 
 /*
  * Return the current station MAC address.
  * Note that the passed-in value must already be in network byte order.
  */
-int netxen_niu_macaddr_get(struct netxen_adapter *adapter,
-                          netxen_ethernet_macaddr_t * addr)
+static int netxen_niu_macaddr_get(struct netxen_adapter *adapter,
+                                 netxen_ethernet_macaddr_t * addr)
 {
        u32 stationhigh;
        u32 stationlow;
@@ -603,6 +607,7 @@ int netxen_niu_macaddr_set(struct netxen_adapter *adapter,
        int phy = physical_port[adapter->portnum];
        unsigned char mac_addr[6];
        int i;
+       DECLARE_MAC_BUF(mac);
 
        for (i = 0; i < 10; i++) {
                temp[0] = temp[1] = 0;
@@ -618,7 +623,7 @@ int netxen_niu_macaddr_set(struct netxen_adapter *adapter,
                    (adapter, NETXEN_NIU_GB_STATION_ADDR_0(phy), &val, 4))
                        return -2;
 
-               netxen_niu_macaddr_get(adapter, 
+               netxen_niu_macaddr_get(adapter,
                                       (netxen_ethernet_macaddr_t *) mac_addr);
                if (memcmp(mac_addr, addr, 6) == 0)
                        break;
@@ -627,19 +632,15 @@ int netxen_niu_macaddr_set(struct netxen_adapter *adapter,
        if (i == 10) {
                printk(KERN_ERR "%s: cannot set Mac addr for %s\n",
                       netxen_nic_driver_name, adapter->netdev->name);
-               printk(KERN_ERR "MAC address set: "
-                      "%02x:%02x:%02x:%02x:%02x:%02x.\n",
-                      addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
-
-               printk(KERN_ERR "MAC address get: "
-                      "%02x:%02x:%02x:%02x:%02x:%02x.\n",
-                      mac_addr[0],
-                      mac_addr[1],
-                      mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
+               printk(KERN_ERR "MAC address set: %s.\n",
+                      print_mac(mac, addr));
+               printk(KERN_ERR "MAC address get: %s.\n",
+                      print_mac(mac, mac_addr));
        }
        return 0;
 }
 
+#if 0
 /* Enable a GbE interface */
 int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
                               int port, netxen_niu_gbe_ifmode_t mode)
@@ -717,6 +718,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
                return -EIO;
        return 0;
 }
+#endif  /*  0  */
 
 /* Disable a GbE interface */
 int netxen_niu_disable_gbe_port(struct netxen_adapter *adapter)
@@ -724,7 +726,7 @@ int netxen_niu_disable_gbe_port(struct netxen_adapter *adapter)
        __u32 mac_cfg0;
        u32 port = physical_port[adapter->portnum];
 
-       if ((port < 0) || (port > NETXEN_NIU_MAX_GBE_PORTS))
+       if (port > NETXEN_NIU_MAX_GBE_PORTS)
                return -EINVAL;
        mac_cfg0 = 0;
        netxen_gb_soft_reset(mac_cfg0);
@@ -740,24 +742,24 @@ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
        __u32 mac_cfg;
        u32 port = physical_port[adapter->portnum];
 
-       if (port != 0)
+       if (port > NETXEN_NIU_MAX_XG_PORTS)
                return -EINVAL;
+
        mac_cfg = 0;
-       netxen_xg_soft_reset(mac_cfg);
-       if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_CONFIG_0,
-                                  &mac_cfg, 4))
+       if (netxen_nic_hw_write_wx(adapter,
+               NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), &mac_cfg, 4))
                return -EIO;
        return 0;
 }
 
 /* Set promiscuous mode for a GbE interface */
-int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter, 
+int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter,
                                    netxen_niu_prom_mode_t mode)
 {
        __u32 reg;
        u32 port = physical_port[adapter->portnum];
 
-       if ((port < 0) || (port > NETXEN_NIU_MAX_GBE_PORTS))
+       if (port > NETXEN_NIU_MAX_GBE_PORTS)
                return -EINVAL;
 
        /* save previous contents */
@@ -857,6 +859,7 @@ int netxen_niu_xg_macaddr_set(struct netxen_adapter *adapter,
        return 0;
 }
 
+#if 0
 /*
  * Return the current station MAC address.
  * Note that the passed-in value must already be in network byte order.
@@ -887,6 +890,7 @@ int netxen_niu_xg_macaddr_get(struct netxen_adapter *adapter,
 
        return 0;
 }
+#endif  /*  0  */
 
 int netxen_niu_xg_set_promiscuous_mode(struct netxen_adapter *adapter,
                                       netxen_niu_prom_mode_t mode)
@@ -894,7 +898,7 @@ int netxen_niu_xg_set_promiscuous_mode(struct netxen_adapter *adapter,
        __u32 reg;
        u32 port = physical_port[adapter->portnum];
 
-       if ((port < 0) || (port > NETXEN_NIU_MAX_XG_PORTS))
+       if (port > NETXEN_NIU_MAX_XG_PORTS)
                return -EINVAL;
 
        if (netxen_nic_hw_read_wx(adapter,