On 12/9/2020 8:03 AM, Loic Poulain wrote:
The RX queue size can be determined at runtime by retrieveing the

retrieving

number of available transfer descriptors

Signed-off-by: Loic Poulain <loic.poul...@linaro.org>
---
  drivers/net/mhi_net.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c
index 8e72d94..0333e07 100644
--- a/drivers/net/mhi_net.c
+++ b/drivers/net/mhi_net.c
@@ -256,9 +256,6 @@ static int mhi_net_probe(struct mhi_device *mhi_dev,
        mhi_netdev->mdev = mhi_dev;
        SET_NETDEV_DEV(ndev, &mhi_dev->dev);
- /* All MHI net channels have 128 ring elements (at least for now) */
-       mhi_netdev->rx_queue_sz = 128;
-
        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);
+
        err = register_netdev(ndev);
        if (err)
                goto out_err;



--
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

Reply via email to