Skip to content

Commit

Permalink
m68knommu: fix ColdFire 5272 fec driver hash registers
Browse files Browse the repository at this point in the history
Renamed the 5272 hash_table registers to match the "grp" hash_table
registers of the other ColdFire parts. They are actually a group hash.
The makes for consistent setup across all ColdFire parts.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Greg Ungerer authored and Linus Torvalds committed May 1, 2008
1 parent 6c5a7d5 commit cc462f7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 12 deletions.
24 changes: 14 additions & 10 deletions drivers/net/fec.c
Original file line number Diff line number Diff line change
Expand Up @@ -2243,13 +2243,13 @@ static void set_multicast_list(struct net_device *dev)
/* Catch all multicast addresses, so set the
* filter to all 1's.
*/
ep->fec_hash_table_high = 0xffffffff;
ep->fec_hash_table_low = 0xffffffff;
ep->fec_grp_hash_table_high = 0xffffffff;
ep->fec_grp_hash_table_low = 0xffffffff;
} else {
/* Clear filter and add the addresses in hash register.
*/
ep->fec_hash_table_high = 0;
ep->fec_hash_table_low = 0;
ep->fec_grp_hash_table_high = 0;
ep->fec_grp_hash_table_low = 0;

dmi = dev->mc_list;

Expand Down Expand Up @@ -2280,9 +2280,9 @@ static void set_multicast_list(struct net_device *dev)
hash = (crc >> (32 - HASH_BITS)) & 0x3f;

if (hash > 31)
ep->fec_hash_table_high |= 1 << (hash - 32);
ep->fec_grp_hash_table_high |= 1 << (hash - 32);
else
ep->fec_hash_table_low |= 1 << hash;
ep->fec_grp_hash_table_low |= 1 << hash;
}
}
}
Expand Down Expand Up @@ -2430,11 +2430,15 @@ int __init fec_enet_init(struct net_device *dev)
*/
fec_request_intrs(dev);

fecp->fec_hash_table_high = 0;
fecp->fec_hash_table_low = 0;
fecp->fec_grp_hash_table_high = 0;
fecp->fec_grp_hash_table_low = 0;
fecp->fec_r_buff_size = PKT_MAXBLR_SIZE;
fecp->fec_ecntrl = 2;
fecp->fec_r_des_active = 0;
#ifndef CONFIG_M5272
fecp->fec_hash_table_high = 0;
fecp->fec_hash_table_low = 0;
#endif

dev->base_addr = (unsigned long)fecp;

Expand Down Expand Up @@ -2500,8 +2504,8 @@ fec_restart(struct net_device *dev, int duplex)

/* Reset all multicast.
*/
fecp->fec_hash_table_high = 0;
fecp->fec_hash_table_low = 0;
fecp->fec_grp_hash_table_high = 0;
fecp->fec_grp_hash_table_low = 0;

/* Set maximum receive buffer size.
*/
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/fec.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ typedef struct fec {
unsigned long fec_reserved7[158];
unsigned long fec_addr_low; /* Low 32bits MAC address */
unsigned long fec_addr_high; /* High 16bits MAC address */
unsigned long fec_hash_table_high; /* High 32bits hash table */
unsigned long fec_hash_table_low; /* Low 32bits hash table */
unsigned long fec_grp_hash_table_high;/* High 32bits hash table */
unsigned long fec_grp_hash_table_low; /* Low 32bits hash table */
unsigned long fec_r_des_start; /* Receive descriptor ring */
unsigned long fec_x_des_start; /* Transmit descriptor ring */
unsigned long fec_r_buff_size; /* Maximum receive buff size */
Expand Down

0 comments on commit cc462f7

Please sign in to comment.