[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a61fb7b1-5f55-9141-3826-495947eb93de@linux.intel.com>
Date: Thu, 27 Oct 2022 15:57:02 +0300 (EEST)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Sreehari Kancharla <sreehari.kancharla@...ux.intel.com>
cc: Netdev <netdev@...r.kernel.org>, kuba@...nel.org,
davem@...emloft.net, johannes@...solutions.net,
ryazanov.s.a@...il.com, loic.poulain@...aro.org,
m.chetan.kumar@...el.com, chandrashekar.devegowda@...el.com,
linuxwwan@...el.com, chiranjeevi.rapolu@...ux.intel.com,
haijun.liu@...iatek.com, ricardo.martinez@...ux.intel.com,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
dinesh.sharma@...el.com, moises.veleta@...el.com,
sreehari.kancharla@...el.com
Subject: Re: [PATCH net-next v2 2/2] net: wwan: t7xx: Add NAPI support
On Thu, 27 Oct 2022, Sreehari Kancharla wrote:
> From: Haijun Liu <haijun.liu@...iatek.com>
>
> Replace the work queue based RX flow with a NAPI implementation
> Remove rx_thread and dpmaif_rxq_work.
> Enable GRO on RX path.
> Introduce dummy network device. its responsibility is
> - Binds one NAPI object for each DL HW queue and acts as
> the agent of all those network devices.
> - Use NAPI object to poll DL packets.
> - Helps to dispatch each packet to the network interface.
>
> Signed-off-by: Haijun Liu <haijun.liu@...iatek.com>
> Co-developed-by: Sreehari Kancharla <sreehari.kancharla@...ux.intel.com>
> Signed-off-by: Sreehari Kancharla <sreehari.kancharla@...ux.intel.com>
> Signed-off-by: Chandrashekar Devegowda <chandrashekar.devegowda@...el.com>
> Acked-by: Ricardo Martinez <ricardo.martinez@...ux.intel.com>
> Acked-by: M Chetan Kumar <m.chetan.kumar@...ux.intel.com>
> --
> + if (once_more) {
> + napi_gro_flush(napi, false);
> + work_done = budget;
> + t7xx_dpmaif_clr_ip_busy_sts(&rxq->dpmaif_ctrl->hw_info);
> + } else if (work_done < budget) {
> + napi_complete_done(napi, work_done);
> + t7xx_dpmaif_clr_ip_busy_sts(&rxq->dpmaif_ctrl->hw_info);
> + t7xx_dpmaif_dlq_unmask_rx_done(&rxq->dpmaif_ctrl->hw_info, rxq->index);
> + } else {
> + t7xx_dpmaif_clr_ip_busy_sts(&rxq->dpmaif_ctrl->hw_info);
> + }
> +
> + t7xx_pci_enable_sleep(rxq->dpmaif_ctrl->t7xx_dev);
> + pm_runtime_mark_last_busy(rxq->dpmaif_ctrl->dev);
> + pm_runtime_put_noidle(rxq->dpmaif_ctrl->dev);
> atomic_set(&rxq->rx_processing, 0);
> + return work_done;
A nitpick: I'd put newline prior to return, it's a bit crowded there
already.
The patch looks ok to me:
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
--
i.
Powered by blists - more mailing lists