mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
net: bql: fix building with BQL disabled
It is now possible to disable BQL, but that causes the cpsw driver to break:
drivers/net/ethernet/ti/am65-cpsw-nuss.c:297:28: error: no member named 'dql' in 'struct netdev_queue'
297 | dql_avail(&netif_txq->dql),
There is already a helper function in net/sch_generic.h that could
be used to help here. Move its implementation into the common
linux/netdevice.h along with the other bql interfaces and change
both users over to the new interface.
Fixes: ea7f3cfaa5
("net: bql: allow the config to be disabled")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1eecc7ab82
commit
eb2c11b27c
|
@ -294,7 +294,7 @@ static void am65_cpsw_nuss_ndo_host_tx_timeout(struct net_device *ndev,
|
|||
txqueue,
|
||||
netif_tx_queue_stopped(netif_txq),
|
||||
jiffies_to_msecs(jiffies - trans_start),
|
||||
dql_avail(&netif_txq->dql),
|
||||
netdev_queue_dql_avail(netif_txq),
|
||||
k3_cppi_desc_pool_avail(tx_chn->desc_pool));
|
||||
|
||||
if (netif_tx_queue_stopped(netif_txq)) {
|
||||
|
|
|
@ -3499,6 +3499,16 @@ static inline void netdev_queue_set_dql_min_limit(struct netdev_queue *dev_queue
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline int netdev_queue_dql_avail(const struct netdev_queue *txq)
|
||||
{
|
||||
#ifdef CONFIG_BQL
|
||||
/* Non-BQL migrated drivers will return 0, too. */
|
||||
return dql_avail(&txq->dql);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* netdev_txq_bql_enqueue_prefetchw - prefetch bql data for write
|
||||
* @dev_queue: pointer to transmit queue
|
||||
|
|
|
@ -238,12 +238,7 @@ static inline bool qdisc_may_bulk(const struct Qdisc *qdisc)
|
|||
|
||||
static inline int qdisc_avail_bulklimit(const struct netdev_queue *txq)
|
||||
{
|
||||
#ifdef CONFIG_BQL
|
||||
/* Non-BQL migrated drivers will return 0, too. */
|
||||
return dql_avail(&txq->dql);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
return netdev_queue_dql_avail(txq);
|
||||
}
|
||||
|
||||
struct Qdisc_class_ops {
|
||||
|
|
Loading…
Reference in a new issue