Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc462f7d authored by Greg Ungerer's avatar Greg Ungerer Committed by Linus Torvalds
Browse files

m68knommu: fix ColdFire 5272 fec driver hash registers



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: default avatarGreg Ungerer <gerg@uclinux.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6c5a7d50
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -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;

@@ -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;
			}
		}
	}
@@ -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;

@@ -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.
	*/
+2 −2
Original line number Diff line number Diff line
@@ -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 */