Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Greg Ungerer and committed by
Linus Torvalds
cc462f7d 6c5a7d50

+16 -12
+14 -10
drivers/net/fec.c
··· 2243 2243 /* Catch all multicast addresses, so set the 2244 2244 * filter to all 1's. 2245 2245 */ 2246 - ep->fec_hash_table_high = 0xffffffff; 2247 - ep->fec_hash_table_low = 0xffffffff; 2246 + ep->fec_grp_hash_table_high = 0xffffffff; 2247 + ep->fec_grp_hash_table_low = 0xffffffff; 2248 2248 } else { 2249 2249 /* Clear filter and add the addresses in hash register. 2250 2250 */ 2251 - ep->fec_hash_table_high = 0; 2252 - ep->fec_hash_table_low = 0; 2251 + ep->fec_grp_hash_table_high = 0; 2252 + ep->fec_grp_hash_table_low = 0; 2253 2253 2254 2254 dmi = dev->mc_list; 2255 2255 ··· 2280 2280 hash = (crc >> (32 - HASH_BITS)) & 0x3f; 2281 2281 2282 2282 if (hash > 31) 2283 - ep->fec_hash_table_high |= 1 << (hash - 32); 2283 + ep->fec_grp_hash_table_high |= 1 << (hash - 32); 2284 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 2430 */ 2431 2431 fec_request_intrs(dev); 2432 2432 2433 - fecp->fec_hash_table_high = 0; 2434 - fecp->fec_hash_table_low = 0; 2433 + fecp->fec_grp_hash_table_high = 0; 2434 + fecp->fec_grp_hash_table_low = 0; 2435 2435 fecp->fec_r_buff_size = PKT_MAXBLR_SIZE; 2436 2436 fecp->fec_ecntrl = 2; 2437 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 2443 dev->base_addr = (unsigned long)fecp; 2440 2444 ··· 2504 2500 2505 2501 /* Reset all multicast. 2506 2502 */ 2507 - fecp->fec_hash_table_high = 0; 2508 - fecp->fec_hash_table_low = 0; 2503 + fecp->fec_grp_hash_table_high = 0; 2504 + fecp->fec_grp_hash_table_low = 0; 2509 2505 2510 2506 /* Set maximum receive buffer size. 2511 2507 */
+2 -2
drivers/net/fec.h
··· 88 88 unsigned long fec_reserved7[158]; 89 89 unsigned long fec_addr_low; /* Low 32bits MAC address */ 90 90 unsigned long fec_addr_high; /* High 16bits MAC address */ 91 - unsigned long fec_hash_table_high; /* High 32bits hash table */ 92 - unsigned long fec_hash_table_low; /* Low 32bits hash table */ 91 + unsigned long fec_grp_hash_table_high;/* High 32bits hash table */ 92 + unsigned long fec_grp_hash_table_low; /* Low 32bits hash table */ 93 93 unsigned long fec_r_des_start; /* Receive descriptor ring */ 94 94 unsigned long fec_x_des_start; /* Transmit descriptor ring */ 95 95 unsigned long fec_r_buff_size; /* Maximum receive buff size */