mirror of https://gitee.com/openkylin/linux.git
net: enetc: move up enetc_reuse_page and enetc_page_reusable
For XDP_TX, we need to call enetc_reuse_page from enetc_clean_tx_ring, so we need to avoid a forward declaration. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1ee8d6f3be
commit
65d0cbb414
|
@ -275,6 +275,25 @@ static int enetc_bd_ready_count(struct enetc_bdr *tx_ring, int ci)
|
||||||
return pi >= ci ? pi - ci : tx_ring->bd_count - ci + pi;
|
return pi >= ci ? pi - ci : tx_ring->bd_count - ci + pi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool enetc_page_reusable(struct page *page)
|
||||||
|
{
|
||||||
|
return (!page_is_pfmemalloc(page) && page_ref_count(page) == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void enetc_reuse_page(struct enetc_bdr *rx_ring,
|
||||||
|
struct enetc_rx_swbd *old)
|
||||||
|
{
|
||||||
|
struct enetc_rx_swbd *new;
|
||||||
|
|
||||||
|
new = &rx_ring->rx_swbd[rx_ring->next_to_alloc];
|
||||||
|
|
||||||
|
/* next buf that may reuse a page */
|
||||||
|
enetc_bdr_idx_inc(rx_ring, &rx_ring->next_to_alloc);
|
||||||
|
|
||||||
|
/* copy page reference */
|
||||||
|
*new = *old;
|
||||||
|
}
|
||||||
|
|
||||||
static void enetc_get_tx_tstamp(struct enetc_hw *hw, union enetc_tx_bd *txbd,
|
static void enetc_get_tx_tstamp(struct enetc_hw *hw, union enetc_tx_bd *txbd,
|
||||||
u64 *tstamp)
|
u64 *tstamp)
|
||||||
{
|
{
|
||||||
|
@ -516,25 +535,6 @@ static void enetc_get_offloads(struct enetc_bdr *rx_ring,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool enetc_page_reusable(struct page *page)
|
|
||||||
{
|
|
||||||
return (!page_is_pfmemalloc(page) && page_ref_count(page) == 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void enetc_reuse_page(struct enetc_bdr *rx_ring,
|
|
||||||
struct enetc_rx_swbd *old)
|
|
||||||
{
|
|
||||||
struct enetc_rx_swbd *new;
|
|
||||||
|
|
||||||
new = &rx_ring->rx_swbd[rx_ring->next_to_alloc];
|
|
||||||
|
|
||||||
/* next buf that may reuse a page */
|
|
||||||
enetc_bdr_idx_inc(rx_ring, &rx_ring->next_to_alloc);
|
|
||||||
|
|
||||||
/* copy page reference */
|
|
||||||
*new = *old;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct enetc_rx_swbd *enetc_get_rx_buff(struct enetc_bdr *rx_ring,
|
static struct enetc_rx_swbd *enetc_get_rx_buff(struct enetc_bdr *rx_ring,
|
||||||
int i, u16 size)
|
int i, u16 size)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue