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

Commit 458a9f61 authored by Francois Romieu's avatar Francois Romieu
Browse files

r8169: Tx performance tweak helper



Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
parent ccdffb9a
Loading
Loading
Loading
Loading
+10 −5
Original line number Original line Diff line number Diff line
@@ -2054,12 +2054,20 @@ static void rtl_hw_start_8169(struct net_device *dev)
	RTL_W16(IntrMask, tp->intr_event);
	RTL_W16(IntrMask, tp->intr_event);
}
}


static void rtl_tx_performance_tweak(struct pci_dev *pdev, u8 force)
{
	u8 ctl;

	pci_read_config_byte(pdev, 0x69, &ctl);
	ctl = (ctl & ~0x70) | force;
	pci_write_config_byte(pdev, 0x69, ctl);
}

static void rtl_hw_start_8168(struct net_device *dev)
static void rtl_hw_start_8168(struct net_device *dev)
{
{
	struct rtl8169_private *tp = netdev_priv(dev);
	struct rtl8169_private *tp = netdev_priv(dev);
	void __iomem *ioaddr = tp->mmio_addr;
	void __iomem *ioaddr = tp->mmio_addr;
	struct pci_dev *pdev = tp->pci_dev;
	struct pci_dev *pdev = tp->pci_dev;
	u8 ctl;


	RTL_W8(Cfg9346, Cfg9346_Unlock);
	RTL_W8(Cfg9346, Cfg9346_Unlock);


@@ -2073,10 +2081,7 @@ static void rtl_hw_start_8168(struct net_device *dev)


	RTL_W16(CPlusCmd, tp->cp_cmd);
	RTL_W16(CPlusCmd, tp->cp_cmd);


	/* Tx performance tweak. */
	rtl_tx_performance_tweak(pdev, 0x50);
	pci_read_config_byte(pdev, 0x69, &ctl);
	ctl = (ctl & ~0x70) | 0x50;
	pci_write_config_byte(pdev, 0x69, ctl);


	RTL_W16(IntrMitigate, 0x5151);
	RTL_W16(IntrMitigate, 0x5151);