mirror_ubuntu-kernels/drivers/net/ethernet/broadcom
Heiner Kallweit 24f97b6af9 tg3: improve PCI VPD access
When working on the PCI VPD code I also tested with a Broadcom BCM95719
card. tg3 uses internal NVRAM access with this card, so I forced it to
PCI VPD mode for testing. PCI VPD access fails
(i + PCI_VPD_LRDT_TAG_SIZE + j > len) because only TG3_NVM_VPD_LEN (256)
bytes are read, but PCI VPD has 400 bytes on this card.

So add a constant TG3_NVM_PCI_VPD_MAX_LEN that defines the maximum
PCI VPD size. The actual VPD size is returned by pci_read_vpd().
In addition it's not worth looping over pci_read_vpd(). If we miss the
125ms timeout per VPD dword read then definitely something is wrong,
and if the tg3 module loading is killed then there's also not much
benefit in retrying the VPD read.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/cb9e9113-0861-3904-87e0-d4c4ab3c8860@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-01-25 15:24:19 -08:00
..
bnx2x net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
bnxt Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-01-15 17:57:26 -08:00
genet net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00
b44.c net: b44: fix error return code in b44_init_one() 2020-11-17 10:50:28 -08:00
b44.h
bcm63xx_enet.c bcm63xx_enet: improve rx loop 2021-01-07 12:39:53 -08:00
bcm63xx_enet.h bcm63xx_enet: convert to build_skb 2021-01-07 12:39:53 -08:00
bcmsysport.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-20 12:16:11 -08:00
bcmsysport.h net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00
bgmac-bcma-mdio.c
bgmac-bcma.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bgmac-platform.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bgmac.c net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00
bgmac.h net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00
bnx2_fw.h
bnx2.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bnx2.h
cnic_defs.h net: cnic: fix spelling mistake "reserverd" -> "reserved" 2020-02-17 21:59:16 -08:00
cnic_if.h
cnic.c cnic: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
cnic.h
Kconfig net: broadcom: Drop OF dependency from BGMAC_PLATFORM 2021-01-07 12:51:15 -08:00
Makefile
sb1250-mac.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
tg3.c tg3: improve PCI VPD access 2021-01-25 15:24:19 -08:00
tg3.h tg3: improve PCI VPD access 2021-01-25 15:24:19 -08:00
unimac.h net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00