X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fbackport-4.9%2F090-net-generalize-napi_complete_done.patch;h=dffad0216f2b9b3128b101a5f9846abc2c72771a;hp=d7b7b48979d326d70a91b2599ccb186152809b53;hb=6d682d82b02ae0eb4eba5186cdb9af521dd30249;hpb=834810617edba87e43f7b58fa32800155eea9aef diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index d7b7b48979..dffad0216f 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -159,7 +159,7 @@ Signed-off-by: David S. Miller flexcan_write(priv->reg_ctrl_default, ®s->ctrl); --- a/drivers/net/can/ifi_canfd/ifi_canfd.c +++ b/drivers/net/can/ifi_canfd/ifi_canfd.c -@@ -578,7 +578,7 @@ static int ifi_canfd_poll(struct napi_st +@@ -589,7 +589,7 @@ static int ifi_canfd_poll(struct napi_st work_done += ifi_canfd_do_rx_poll(ndev, quota - work_done); if (work_done < quota) { @@ -214,14 +214,14 @@ Signed-off-by: David S. Miller RCANFD_RFCC_RFIE); --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c -@@ -726,7 +726,7 @@ static int xcan_rx_poll(struct napi_stru - can_led_event(ndev, CAN_LED_EVENT_RX); +@@ -838,7 +838,7 @@ static int xcan_rx_poll(struct napi_stru + } if (work_done < quota) { - napi_complete(napi); + napi_complete_done(napi, work_done); ier = priv->read_reg(priv, XCAN_IER_OFFSET); - ier |= (XCAN_IXR_RXOK_MASK | XCAN_IXR_RXNEMP_MASK); + ier |= XCAN_IXR_RXNEMP_MASK; priv->write_reg(priv, XCAN_IER_OFFSET, ier); --- a/drivers/net/ethernet/3com/typhoon.c +++ b/drivers/net/ethernet/3com/typhoon.c @@ -269,7 +269,7 @@ Signed-off-by: David S. Miller "NAPI Complete, did %d packets with budget %d\n", --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c -@@ -651,7 +651,7 @@ static int xgene_enet_napi(struct napi_s +@@ -658,7 +658,7 @@ static int xgene_enet_napi(struct napi_s processed = xgene_enet_process_ring(ring, budget); if (processed != budget) { @@ -280,7 +280,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/arc/emac_main.c +++ b/drivers/net/ethernet/arc/emac_main.c -@@ -275,7 +275,7 @@ static int arc_emac_poll(struct napi_str +@@ -284,7 +284,7 @@ static int arc_emac_poll(struct napi_str work_done = arc_emac_rx(ndev, budget); if (work_done < budget) { @@ -302,7 +302,7 @@ Signed-off-by: David S. Miller if (alx->flags & ALX_FLAG_USING_MSIX) { --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c -@@ -1885,7 +1885,7 @@ static int atl1c_clean(struct napi_struc +@@ -1886,7 +1886,7 @@ static int atl1c_clean(struct napi_struc if (work_done < budget) { quit_polling: @@ -357,7 +357,7 @@ Signed-off-by: David S. Miller enet_dmac_writel(priv, priv->dma_chan_int_mask, --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c -@@ -1145,7 +1145,7 @@ static int bgmac_poll(struct napi_struct +@@ -1146,7 +1146,7 @@ static int bgmac_poll(struct napi_struct return weight; if (handled < weight) { @@ -388,7 +388,7 @@ Signed-off-by: David S. Miller BNX2_PCICFG_INT_ACK_CMD_INDEX_VALID | --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c -@@ -3229,7 +3229,7 @@ static int bnx2x_poll(struct napi_struct +@@ -3236,7 +3236,7 @@ static int bnx2x_poll(struct napi_struct * has been updated when NAPI was scheduled. */ if (IS_FCOE_FP(fp)) { @@ -399,7 +399,7 @@ Signed-off-by: David S. Miller /* bnx2x_has_rx_work() reads the status block, --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c -@@ -1768,7 +1768,7 @@ static int bnxt_poll_nitroa0(struct napi +@@ -1781,7 +1781,7 @@ static int bnxt_poll_nitroa0(struct napi } if (!bnxt_has_work(bp, cpr) && rx_pkts < budget) { @@ -582,7 +582,7 @@ Signed-off-by: David S. Miller dnet_writel(bp, int_enable, INTR_ENB); --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c -@@ -3346,7 +3346,7 @@ int be_poll(struct napi_struct *napi, in +@@ -3344,7 +3344,7 @@ int be_poll(struct napi_struct *napi, in be_process_mcc(adapter); if (max_work < budget) { @@ -615,7 +615,7 @@ Signed-off-by: David S. Miller buf_int_enable_value |= NPS_ENET_ENABLE << RX_RDY_SHIFT; --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c -@@ -1615,7 +1615,7 @@ static int fec_enet_rx_napi(struct napi_ +@@ -1623,7 +1623,7 @@ static int fec_enet_rx_napi(struct napi_ fec_enet_tx(ndev); if (pkts < budget) { @@ -637,7 +637,7 @@ Signed-off-by: David S. Miller return received; --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c -@@ -3186,7 +3186,7 @@ static int gfar_poll_rx_sq(struct napi_s +@@ -3197,7 +3197,7 @@ static int gfar_poll_rx_sq(struct napi_s if (work_done < budget) { u32 imask; @@ -646,7 +646,7 @@ Signed-off-by: David S. Miller /* Clear the halt bit in RSTAT */ gfar_write(®s->rstat, gfargrp->rstat); -@@ -3275,7 +3275,7 @@ static int gfar_poll_rx(struct napi_stru +@@ -3286,7 +3286,7 @@ static int gfar_poll_rx(struct napi_stru if (!num_act_queues) { u32 imask; @@ -657,7 +657,7 @@ Signed-off-by: David S. Miller gfar_write(®s->rstat, gfargrp->rstat); --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c -@@ -3303,7 +3303,7 @@ static int ucc_geth_poll(struct napi_str +@@ -3301,7 +3301,7 @@ static int ucc_geth_poll(struct napi_str howmany += ucc_geth_rx(ugeth, i, budget - howmany); if (howmany < budget) { @@ -712,7 +712,7 @@ Signed-off-by: David S. Miller * then check once more to make sure we are done. --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c -@@ -999,7 +999,7 @@ restart_poll: +@@ -1028,7 +1028,7 @@ restart_poll: if (frames_processed < budget) { enable_scrq_irq(adapter, adapter->rx_scrq[scrq_num]); @@ -803,7 +803,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -2696,11 +2696,9 @@ static int mvneta_poll(struct napi_struc +@@ -2702,11 +2702,9 @@ static int mvneta_poll(struct napi_struc rx_done = mvneta_rx_swbm(pp, budget, &pp->rxqs[rx_queue]); } @@ -819,7 +819,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c -@@ -5404,7 +5404,7 @@ static int mvpp2_poll(struct napi_struct +@@ -5406,7 +5406,7 @@ static int mvpp2_poll(struct napi_struct if (budget > 0) { cause_rx = 0; @@ -841,7 +841,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/moxa/moxart_ether.c +++ b/drivers/net/ethernet/moxa/moxart_ether.c -@@ -269,7 +269,7 @@ rx_next: +@@ -270,7 +270,7 @@ rx_next: } if (rx < budget) { @@ -1040,7 +1040,7 @@ Signed-off-by: David S. Miller writel(irq->mask, adpt->base + EMAC_INT_MASK); --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c -@@ -7579,7 +7579,7 @@ static int rtl8169_poll(struct napi_stru +@@ -7578,7 +7578,7 @@ static int rtl8169_poll(struct napi_stru } if (work_done < budget) { @@ -1095,7 +1095,7 @@ Signed-off-by: David S. Miller dma_intr_ena = smsc9420_reg_read(pd, DMAC_INTR_ENA); --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -2677,7 +2677,7 @@ static int stmmac_poll(struct napi_struc +@@ -2705,7 +2705,7 @@ static int stmmac_poll(struct napi_struc work_done = stmmac_rx(priv, budget); if (work_done < budget) { @@ -1106,7 +1106,7 @@ Signed-off-by: David S. Miller return work_done; --- a/drivers/net/ethernet/sun/niu.c +++ b/drivers/net/ethernet/sun/niu.c -@@ -3786,7 +3786,7 @@ static int niu_poll(struct napi_struct * +@@ -3785,7 +3785,7 @@ static int niu_poll(struct napi_struct * work_done = niu_poll_core(np, lp, budget); if (work_done < budget) { @@ -1117,7 +1117,7 @@ Signed-off-by: David S. Miller return work_done; --- a/drivers/net/ethernet/sun/sungem.c +++ b/drivers/net/ethernet/sun/sungem.c -@@ -922,7 +922,7 @@ static int gem_poll(struct napi_struct * +@@ -924,7 +924,7 @@ static int gem_poll(struct napi_struct * gp->status = readl(gp->regs + GREG_STAT); } while (gp->status & GREG_STAT_NAPI); @@ -1150,7 +1150,7 @@ Signed-off-by: David S. Miller return work_done; --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c -@@ -839,7 +839,7 @@ static int cpsw_rx_poll(struct napi_stru +@@ -843,7 +843,7 @@ static int cpsw_rx_poll(struct napi_stru } if (num_rx < budget) { @@ -1304,7 +1304,7 @@ Signed-off-by: David S. Miller adapter->rx_last_jiffies = jiffies; --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c -@@ -1851,7 +1851,7 @@ vmxnet3_poll(struct napi_struct *napi, i +@@ -1873,7 +1873,7 @@ vmxnet3_poll(struct napi_struct *napi, i rxd_done = vmxnet3_do_poll(rx_queue->adapter, budget); if (rxd_done < budget) { @@ -1313,7 +1313,7 @@ Signed-off-by: David S. Miller vmxnet3_enable_all_intrs(rx_queue->adapter); } return rxd_done; -@@ -1882,7 +1882,7 @@ vmxnet3_poll_rx_only(struct napi_struct +@@ -1904,7 +1904,7 @@ vmxnet3_poll_rx_only(struct napi_struct rxd_done = vmxnet3_rq_rx_complete(rq, adapter, budget); if (rxd_done < budget) { @@ -1346,7 +1346,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/wireless/ath/ath10k/pci.c +++ b/drivers/net/wireless/ath/ath10k/pci.c -@@ -2800,7 +2800,7 @@ static int ath10k_pci_napi_poll(struct n +@@ -2804,7 +2804,7 @@ static int ath10k_pci_napi_poll(struct n done = ath10k_htt_txrx_compl_task(ar, budget); if (done < budget) { @@ -1379,7 +1379,7 @@ Signed-off-by: David S. Miller */ --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c -@@ -1059,7 +1059,7 @@ err: +@@ -1070,7 +1070,7 @@ err: if (work_done < budget) { int more_to_do = 0;