r8169: drop member opts1_mask from struct rtl8169_private
We can get rid of member opts1_mask and in addition save a few cpu cycles in the hot path of rtl_rx(). Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ebcd5daa7f
commit
6202806e7c
@ -836,7 +836,6 @@ struct rtl8169_private {
|
|||||||
struct rtl8169_counters *counters;
|
struct rtl8169_counters *counters;
|
||||||
struct rtl8169_tc_offsets tc_offset;
|
struct rtl8169_tc_offsets tc_offset;
|
||||||
u32 saved_wolopts;
|
u32 saved_wolopts;
|
||||||
u32 opts1_mask;
|
|
||||||
|
|
||||||
struct rtl_fw {
|
struct rtl_fw {
|
||||||
const struct firmware *fw;
|
const struct firmware *fw;
|
||||||
@ -7347,7 +7346,7 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
|
|||||||
struct RxDesc *desc = tp->RxDescArray + entry;
|
struct RxDesc *desc = tp->RxDescArray + entry;
|
||||||
u32 status;
|
u32 status;
|
||||||
|
|
||||||
status = le32_to_cpu(desc->opts1) & tp->opts1_mask;
|
status = le32_to_cpu(desc->opts1);
|
||||||
if (status & DescOwn)
|
if (status & DescOwn)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -7365,14 +7364,16 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
|
|||||||
dev->stats.rx_length_errors++;
|
dev->stats.rx_length_errors++;
|
||||||
if (status & RxCRC)
|
if (status & RxCRC)
|
||||||
dev->stats.rx_crc_errors++;
|
dev->stats.rx_crc_errors++;
|
||||||
if (status & RxFOVF) {
|
/* RxFOVF is a reserved bit on later chip versions */
|
||||||
|
if (tp->mac_version == RTL_GIGA_MAC_VER_01 &&
|
||||||
|
status & RxFOVF) {
|
||||||
rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
|
rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
|
||||||
dev->stats.rx_fifo_errors++;
|
dev->stats.rx_fifo_errors++;
|
||||||
}
|
} else if (status & (RxRUNT | RxCRC) &&
|
||||||
if ((status & (RxRUNT | RxCRC)) &&
|
!(status & RxRWT) &&
|
||||||
!(status & (RxRWT | RxFOVF)) &&
|
dev->features & NETIF_F_RXALL) {
|
||||||
(dev->features & NETIF_F_RXALL))
|
|
||||||
goto process_pkt;
|
goto process_pkt;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
dma_addr_t addr;
|
dma_addr_t addr;
|
||||||
@ -8327,9 +8328,6 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||||||
tp->event_slow = cfg->event_slow;
|
tp->event_slow = cfg->event_slow;
|
||||||
tp->coalesce_info = cfg->coalesce_info;
|
tp->coalesce_info = cfg->coalesce_info;
|
||||||
|
|
||||||
tp->opts1_mask = (tp->mac_version != RTL_GIGA_MAC_VER_01) ?
|
|
||||||
~(RxBOVF | RxFOVF) : ~0;
|
|
||||||
|
|
||||||
timer_setup(&tp->timer, rtl8169_phy_timer, 0);
|
timer_setup(&tp->timer, rtl8169_phy_timer, 0);
|
||||||
|
|
||||||
tp->rtl_fw = RTL_FIRMWARE_UNKNOWN;
|
tp->rtl_fw = RTL_FIRMWARE_UNKNOWN;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user