pkt_desc
unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx);
trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head);
ndesc += pkt_desc;
reclaim_idx = (reclaim_idx + pkt_desc) & q->mask;
unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx);
trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head);
reclaim_idx = (reclaim_idx + pkt_desc) & q->mask;
ndesc += pkt_desc;
static void gve_tx_fill_pkt_desc(union gve_tx_desc *pkt_desc,
pkt_desc->pkt.type_flags = GVE_TXD_TSO | GVE_TXF_L4CSUM;
pkt_desc->pkt.l4_csum_offset = csum_offset >> 1;
pkt_desc->pkt.l4_hdr_offset = l4_hdr_offset >> 1;
pkt_desc->pkt.type_flags = GVE_TXD_STD | GVE_TXF_L4CSUM;
pkt_desc->pkt.l4_csum_offset = csum_offset >> 1;
pkt_desc->pkt.l4_hdr_offset = l4_hdr_offset >> 1;
pkt_desc->pkt.type_flags = GVE_TXD_STD;
pkt_desc->pkt.l4_csum_offset = 0;
pkt_desc->pkt.l4_hdr_offset = 0;
pkt_desc->pkt.desc_cnt = desc_cnt;
pkt_desc->pkt.len = cpu_to_be16(pkt_len);
pkt_desc->pkt.seg_len = cpu_to_be16(hlen);
pkt_desc->pkt.seg_addr = cpu_to_be64(addr);
union gve_tx_desc *pkt_desc, *seg_desc;
pkt_desc = &tx->desc[idx];
gve_tx_fill_pkt_desc(pkt_desc, skb->csum_offset, skb->ip_summed,
union gve_tx_desc *pkt_desc, *mtd_desc, *seg_desc;
pkt_desc = &tx->desc[idx];
gve_tx_fill_pkt_desc(pkt_desc, skb->csum_offset, skb->ip_summed,
static void aqc111_rx_checksum(struct sk_buff *skb, u64 pkt_desc)
if (pkt_desc & AQ_RX_PD_L4_ERR || pkt_desc & AQ_RX_PD_L3_ERR)
pkt_type = pkt_desc & AQ_RX_PD_L4_TYPE_MASK;
u64 pkt_desc = le64_to_cpup(pkt_desc_ptr);
pkt_len = (u32)((pkt_desc & AQ_RX_PD_LEN_MASK) >>
if (pkt_desc & AQ_RX_PD_DROP ||
!(pkt_desc & AQ_RX_PD_RX_OK) ||
aqc111_rx_checksum(new_skb, pkt_desc);
if (pkt_desc & AQ_RX_PD_VLAN) {
vlan_tag = pkt_desc >> AQ_RX_PD_VLAN_SHIFT;
(sizeof(pkt_desc) + HDLC_MAX_MRU) - TX_RING_BUFFERS)
return desc_abs_number(port, desc, transmit) * sizeof(pkt_desc);
static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc,
return (pkt_desc __iomem *)(win0base(port_to_card(port))
return (pkt_desc __iomem *)(winbase(port_to_card(port))
pkt_desc __iomem *desc = desc_address(port, i, transmit);
static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc,
pkt_desc __iomem *desc;
if (cda >= desc_off && (cda < desc_off + sizeof(pkt_desc)))
pkt_desc __iomem *desc;
if (cda >= desc_off && (cda < desc_off + sizeof(pkt_desc)))
pkt_desc __iomem *desc;
pkt_desc __iomem *desc = desc_address(port, i, transmit);
static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc,
pkt_desc __iomem *desc;
if ((cda >= desc_off) && (cda < desc_off + sizeof(pkt_desc)))
pkt_desc __iomem *desc = desc_address(port, port->txlast, 1);
pkt_desc __iomem *desc;
return desc_abs_number(port, desc, transmit) * sizeof(pkt_desc);
static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc,
return (pkt_desc __iomem *)(port->card->rambase +
i = card->ram_size / ((valid0 + valid1) * (sizeof(pkt_desc) +
card->buff_offset = (valid0 + valid1) * sizeof(pkt_desc) *
i = ramsize / (card->n_ports * (sizeof(pkt_desc) + HDLC_MAX_MRU));
card->buff_offset = card->n_ports * sizeof(pkt_desc) *
i = ramsize / (2 * (sizeof(pkt_desc) + HDLC_MAX_MRU));
card->buff_offset = 2 * sizeof(pkt_desc) * (card->tx_ring_buffers +
u8 *pkt_desc;
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
u8 *pkt_desc;
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
memset(pkt_desc, 0, tx_pkt_desc_sz);
u8 *pkt_desc;
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
data_addr = (unsigned long)pkt_desc;
pkt_desc = skb_push(skb, offset);
memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
rtw_tx_fill_txdesc_checksum(rtwdev, pkt_info, pkt_desc);
u8 *pkt_desc;
pkt_desc = skb_push(skb, chip->tx_pkt_desc_sz);
memset(pkt_desc, 0, chip->tx_pkt_desc_sz);
static void process_it_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_ir_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void generate_rx_packet_descs(struct amdtp_stream *s, struct pkt_desc *desc,
const struct pkt_desc *desc, unsigned int count)
const struct pkt_desc *desc,
struct pkt_desc *desc = s->packet_descs_cursor;
struct pkt_desc *desc = s->packet_descs_cursor;
struct pkt_desc *descs;
s->packet_descs_cursor = list_first_entry(&s->packet_descs_list, struct pkt_desc, link);
static void cache_seq(struct amdtp_stream *s, const struct pkt_desc *src, unsigned int desc_count)
static int generate_tx_packet_descs(struct amdtp_stream *s, struct pkt_desc *desc,
const struct pkt_desc *desc,
struct pkt_desc *packet_descs;
struct pkt_desc *packet_descs_cursor;
static void process_ir_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_it_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_it_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_ir_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void probe_tracepoints_events(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_ir_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
const struct pkt_desc *cursor = desc;
static void process_it_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
const struct pkt_desc *cursor = desc;
const struct pkt_desc *desc, unsigned int count)
const struct pkt_desc *desc, unsigned int count)
const struct pkt_desc *descs, unsigned int count);
const struct pkt_desc *descs, unsigned int count);
static void process_ir_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,
static void process_it_ctx_payloads(struct amdtp_stream *s, const struct pkt_desc *desc,