Hi Mani, On Fri, 11 Dec 2020 at 06:38, Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> wrote: > > On Thu, Dec 10, 2020 at 12:15:50PM +0100, Loic Poulain wrote: > > The RX queue size can be determined at runtime by retrieving the > > number of available transfer descriptors. > > > > Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx> > > --- > > v2: Fixed commit message typo > > > > drivers/net/mhi_net.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) [...] > > - > > INIT_DELAYED_WORK(&mhi_netdev->rx_refill, mhi_net_rx_refill_work); > > u64_stats_init(&mhi_netdev->stats.rx_syncp); > > u64_stats_init(&mhi_netdev->stats.tx_syncp); > > @@ -268,6 +265,9 @@ static int mhi_net_probe(struct mhi_device *mhi_dev, > > if (err) > > goto out_err; > > > > + /* Number of transfer descriptors determines size of the queue */ > > + mhi_netdev->rx_queue_sz = mhi_get_free_desc_count(mhi_dev, DMA_FROM_DEVICE); > > + > > This value is not static right? You might need to fetch the count in > mhi_net_rx_refill_work(). It is, actually here driver is just looking for the total queue size, which is the number of descriptors at init time. This total queue size is used later to determine the level of MHI queue occupancy rate. Regards, Loic