aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r--drivers/net/fec.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index d7a3ea88eddb..8408b43d50d9 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -2243,13 +2243,13 @@ static void set_multicast_list(struct net_device *dev)
2243 /* Catch all multicast addresses, so set the 2243 /* Catch all multicast addresses, so set the
2244 * filter to all 1's. 2244 * filter to all 1's.
2245 */ 2245 */
2246 ep->fec_hash_table_high = 0xffffffff; 2246 ep->fec_grp_hash_table_high = 0xffffffff;
2247 ep->fec_hash_table_low = 0xffffffff; 2247 ep->fec_grp_hash_table_low = 0xffffffff;
2248 } else { 2248 } else {
2249 /* Clear filter and add the addresses in hash register. 2249 /* Clear filter and add the addresses in hash register.
2250 */ 2250 */
2251 ep->fec_hash_table_high = 0; 2251 ep->fec_grp_hash_table_high = 0;
2252 ep->fec_hash_table_low = 0; 2252 ep->fec_grp_hash_table_low = 0;
2253 2253
2254 dmi = dev->mc_list; 2254 dmi = dev->mc_list;
2255 2255
@@ -2280,9 +2280,9 @@ static void set_multicast_list(struct net_device *dev)
2280 hash = (crc >> (32 - HASH_BITS)) & 0x3f; 2280 hash = (crc >> (32 - HASH_BITS)) & 0x3f;
2281 2281
2282 if (hash > 31) 2282 if (hash > 31)
2283 ep->fec_hash_table_high |= 1 << (hash - 32); 2283 ep->fec_grp_hash_table_high |= 1 << (hash - 32);
2284 else 2284 else
2285 ep->fec_hash_table_low |= 1 << hash; 2285 ep->fec_grp_hash_table_low |= 1 << hash;
2286 } 2286 }
2287 } 2287 }
2288 } 2288 }
@@ -2430,11 +2430,15 @@ int __init fec_enet_init(struct net_device *dev)
2430 */ 2430 */
2431 fec_request_intrs(dev); 2431 fec_request_intrs(dev);
2432 2432
2433 fecp->fec_hash_table_high = 0; 2433 fecp->fec_grp_hash_table_high = 0;
2434 fecp->fec_hash_table_low = 0; 2434 fecp->fec_grp_hash_table_low = 0;
2435 fecp->fec_r_buff_size = PKT_MAXBLR_SIZE; 2435 fecp->fec_r_buff_size = PKT_MAXBLR_SIZE;
2436 fecp->fec_ecntrl = 2; 2436 fecp->fec_ecntrl = 2;
2437 fecp->fec_r_des_active = 0; 2437 fecp->fec_r_des_active = 0;
2438#ifndef CONFIG_M5272
2439 fecp->fec_hash_table_high = 0;
2440 fecp->fec_hash_table_low = 0;
2441#endif
2438 2442
2439 dev->base_addr = (unsigned long)fecp; 2443 dev->base_addr = (unsigned long)fecp;
2440 2444
@@ -2500,8 +2504,8 @@ fec_restart(struct net_device *dev, int duplex)
2500 2504
2501 /* Reset all multicast. 2505 /* Reset all multicast.
2502 */ 2506 */
2503 fecp->fec_hash_table_high = 0; 2507 fecp->fec_grp_hash_table_high = 0;
2504 fecp->fec_hash_table_low = 0; 2508 fecp->fec_grp_hash_table_low = 0;
2505 2509
2506 /* Set maximum receive buffer size. 2510 /* Set maximum receive buffer size.
2507 */ 2511 */