nvethernet: Indicate more Rx frames pending

Issue: The function osi_process_rx_completions does
       not provide indication whether there are more
       Rx frames in the HW ring to be processed by SW.
       This indication is needed in OSD layers like
       AUTOSAR MCAL driver as per the spec.
Fix:   Add more rx data flag arg to osi_process_rx_completions() call

Bug 3019362

Change-Id: Ic6c524d1f28b543fc164f2176a8e36d52ca8de58
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2361263
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-by: Srinivas Ramachandran <srinivasra@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Mahesh Patil
2020-06-15 16:35:25 -07:00
committed by Revanth Kumar Uppala
parent 0d329bb260
commit a7a0aea104

View File

@@ -2753,10 +2753,12 @@ static int ether_napi_poll_rx(struct napi_struct *napi, int budget)
struct ether_priv_data *pdata = rx_napi->pdata;
struct osi_dma_priv_data *osi_dma = pdata->osi_dma;
unsigned int chan = rx_napi->chan;
unsigned int more_data_avail;
unsigned long flags;
int received = 0;
received = osi_process_rx_completions(osi_dma, chan, budget);
received = osi_process_rx_completions(osi_dma, chan, budget,
&more_data_avail);
if (received < budget) {
napi_complete(napi);
spin_lock_irqsave(&pdata->rlock, flags);