netdev/upper: Make quota_load public

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
This commit is contained in:
Zhe Weng 2023-05-23 20:17:24 +08:00 committed by Alan Carvalho de Assis
parent 6ede91c5e7
commit 483eb10f37
2 changed files with 37 additions and 18 deletions

View File

@ -106,23 +106,6 @@ static int quota_fetch_dec(FAR struct netdev_lowerhalf_s *lower,
return ret;
}
/****************************************************************************
* Name: quota_load
*
* Description:
* Fetch the quota, works like atomic_load.
*
****************************************************************************/
static int quota_load(FAR struct netdev_lowerhalf_s *lower,
enum netpkt_type_e type)
{
irqstate_t flags = spin_lock_irqsave(NULL);
int ret = lower->quota[type];
spin_unlock_irqrestore(NULL, flags);
return ret;
}
/****************************************************************************
* Name: netpkt_get
*
@ -232,7 +215,7 @@ netdev_upper_alloc(FAR struct netdev_lowerhalf_s *dev)
static inline bool netdev_upper_can_tx(FAR struct netdev_upperhalf_s *upper)
{
return quota_load(upper->lower, NETPKT_TX) > 0;
return netdev_lower_quota_load(upper->lower, NETPKT_TX) > 0;
}
/****************************************************************************
@ -840,6 +823,27 @@ void netdev_lower_txdone(FAR struct netdev_lowerhalf_s *dev)
netdev_upper_queue_work(&dev->netdev);
}
/****************************************************************************
* Name: netdev_lower_quota_load
*
* Description:
* Fetch the quota, works like atomic_load.
*
* Input Parameters:
* dev - The lower half device driver structure
* type - Whether get quota for TX or RX
*
****************************************************************************/
int netdev_lower_quota_load(FAR struct netdev_lowerhalf_s *dev,
enum netpkt_type_e type)
{
irqstate_t flags = spin_lock_irqsave(NULL);
int ret = dev->quota[type];
spin_unlock_irqrestore(NULL, flags);
return ret;
}
/****************************************************************************
* Name: netpkt_alloc
*

View File

@ -234,6 +234,21 @@ void netdev_lower_rxready(FAR struct netdev_lowerhalf_s *dev);
void netdev_lower_txdone(FAR struct netdev_lowerhalf_s *dev);
/****************************************************************************
* Name: netdev_lower_quota_load
*
* Description:
* Fetch the quota, use this interface when device is running.
*
* Input Parameters:
* dev - The lower half device driver structure
* type - Whether get quota for TX or RX
*
****************************************************************************/
int netdev_lower_quota_load(FAR struct netdev_lowerhalf_s *dev,
enum netpkt_type_e type);
/****************************************************************************
* Name: netpkt_alloc
*