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

Commit 9c7df915 authored by Matt Carlson's avatar Matt Carlson Committed by David S. Miller
Browse files

tg3: Use devfn to determine function number



The driver sometimes needs to know which function number the current
device is.  This patch changes the code to use devfn over internal
register values.

Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 57d8b880
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -1085,13 +1085,9 @@ static int tg3_mdio_init(struct tg3 *tp)
	struct phy_device *phydev;

	if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) {
		u32 funcnum, is_serdes;
		u32 is_serdes;

		funcnum = tr32(TG3_CPMU_STATUS) & TG3_CPMU_STATUS_PCIE_FUNC;
		if (funcnum)
			tp->phy_addr = 2;
		else
			tp->phy_addr = 1;
		tp->phy_addr = PCI_FUNC(tp->pdev->devfn) + 1;

		if (tp->pci_chip_rev_id != CHIPREV_ID_5717_A0)
			is_serdes = tr32(SG_DIG_STATUS) & SG_DIG_IS_SERDES;
@@ -13608,7 +13604,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp)
		else
			tg3_nvram_unlock(tp);
	} else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) {
		if (tr32(TG3_CPMU_STATUS) & TG3_CPMU_STATUS_PCIE_FUNC)
		if (PCI_FUNC(tp->pdev->devfn))
			mac_offset = 0xcc;
	} else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906)
		mac_offset = 0x10;
+1 −3
Original line number Diff line number Diff line
@@ -1073,10 +1073,8 @@
#define TG3_CPMU_HST_ACC		0x0000361c
#define  CPMU_HST_ACC_MACCLK_MASK	 0x001f0000
#define  CPMU_HST_ACC_MACCLK_6_25	 0x00130000
/* 0x3620 --> 0x362c unused */
/* 0x3620 --> 0x3630 unused */

#define TG3_CPMU_STATUS			0x0000362c
#define  TG3_CPMU_STATUS_PCIE_FUNC	 0x20000000
#define TG3_CPMU_CLCK_STAT		0x00003630
#define  CPMU_CLCK_STAT_MAC_CLCK_MASK	 0x001f0000
#define  CPMU_CLCK_STAT_MAC_CLCK_62_5	 0x00000000