37 unsigned int nopaged_len = skb_headlen(skb);
39 unsigned int i = 1,
len;
41 if (priv->
plat->enh_desc)
46 len = nopaged_len - bmax;
50 priv->
hw->desc->prepare_tx_desc(desc, 1, bmax, csum);
53 entry = (++priv->
cur_tx) % txsize;
54 desc = priv->dma_tx +
entry;
58 (skb->
data + bmax * i),
60 priv->
hw->desc->prepare_tx_desc(desc, 0, bmax,
62 priv->
hw->desc->set_tx_owner(desc);
70 priv->
hw->desc->prepare_tx_desc(desc, 0,
len,
72 priv->
hw->desc->set_tx_owner(desc);
80 static unsigned int stmmac_is_jumbo_frm(
int len,
int enh_desc)
92 static void stmmac_refill_desc3(
int bfsize,
struct dma_desc *
p)
96 static void stmmac_init_desc3(
int des3_as_data_buf,
struct dma_desc *
p)
100 static void stmmac_clean_desc3(
struct dma_desc *
p)
115 for (i = 0; i < (size - 1); i++) {
117 p->
des3 = (
unsigned int)dma_phy;
120 p->
des3 = (
unsigned int)phy_addr;
123 static int stmmac_set_16kib_bfsize(
int mtu)
130 .is_jumbo_frm = stmmac_is_jumbo_frm,
132 .refill_desc3 = stmmac_refill_desc3,
133 .init_desc3 = stmmac_init_desc3,
134 .init_dma_chain = stmmac_init_dma_chain,
135 .clean_desc3 = stmmac_clean_desc3,
136 .set_16kib_bfsize = stmmac_set_16kib_bfsize,