Lines Matching refs:p

13 				  struct dma_desc *p, void __iomem *ioaddr)
15 unsigned int tdes3 = le32_to_cpu(p->des3);
27 struct dma_desc *p)
29 unsigned int rdes3 = le32_to_cpu(p->des3);
43 static int dwxgmac2_get_tx_len(struct dma_desc *p)
45 return (le32_to_cpu(p->des2) & XGMAC_TDES2_B1L);
48 static int dwxgmac2_get_tx_owner(struct dma_desc *p)
50 return (le32_to_cpu(p->des3) & XGMAC_TDES3_OWN) > 0;
53 static void dwxgmac2_set_tx_owner(struct dma_desc *p)
55 p->des3 |= cpu_to_le32(XGMAC_TDES3_OWN);
58 static void dwxgmac2_set_rx_owner(struct dma_desc *p, int disable_rx_ic)
65 p->des3 |= cpu_to_le32(flags);
68 static int dwxgmac2_get_tx_ls(struct dma_desc *p)
70 return (le32_to_cpu(p->des3) & XGMAC_RDES3_LD) > 0;
73 static u16 dwxgmac2_wrback_get_rx_vlan_tci(struct dma_desc *p)
75 return le32_to_cpu(p->des0) & XGMAC_RDES0_VLAN_TAG_MASK;
78 static bool dwxgmac2_wrback_get_rx_vlan_valid(struct dma_desc *p)
82 et_lt = FIELD_GET(XGMAC_RDES3_ET_LT, le32_to_cpu(p->des3));
88 static int dwxgmac2_get_rx_frame_len(struct dma_desc *p, int rx_coe)
90 return (le32_to_cpu(p->des3) & XGMAC_RDES3_PL);
93 static void dwxgmac2_enable_tx_timestamp(struct dma_desc *p)
95 p->des2 |= cpu_to_le32(XGMAC_TDES2_TTSE);
98 static int dwxgmac2_get_tx_timestamp_status(struct dma_desc *p)
105 struct dma_desc *p = (struct dma_desc *)desc;
108 ns += le32_to_cpu(p->des1) * 1000000000ULL;
109 ns += le32_to_cpu(p->des0);
116 struct dma_desc *p = (struct dma_desc *)desc;
117 unsigned int rdes3 = le32_to_cpu(p->des3);
126 if ((p->des0 == 0xffffffff) && (p->des1 == 0xffffffff))
137 struct dma_desc *p = (struct dma_desc *)desc;
138 unsigned int rdes3 = le32_to_cpu(p->des3);
147 static void dwxgmac2_init_rx_desc(struct dma_desc *p, int disable_rx_ic,
150 dwxgmac2_set_rx_owner(p, disable_rx_ic);
153 static void dwxgmac2_init_tx_desc(struct dma_desc *p, int mode, int end)
155 p->des0 = 0;
156 p->des1 = 0;
157 p->des2 = 0;
158 p->des3 = 0;
161 static void dwxgmac2_prepare_tx_desc(struct dma_desc *p, int is_fs, int len,
165 unsigned int tdes3 = le32_to_cpu(p->des3);
167 p->des2 |= cpu_to_le32(len & XGMAC_TDES2_B1L);
196 p->des3 = cpu_to_le32(tdes3);
199 static void dwxgmac2_prepare_tso_tx_desc(struct dma_desc *p, int is_fs,
204 unsigned int tdes3 = le32_to_cpu(p->des3);
207 p->des2 |= cpu_to_le32(len1 & XGMAC_TDES2_B1L);
209 p->des2 |= cpu_to_le32((len2 << XGMAC_TDES2_B2L_SHIFT) &
236 p->des3 = cpu_to_le32(tdes3);
239 static void dwxgmac2_release_tx_desc(struct dma_desc *p, int mode)
241 p->des0 = 0;
242 p->des1 = 0;
243 p->des2 = 0;
244 p->des3 = 0;
247 static void dwxgmac2_set_tx_ic(struct dma_desc *p)
249 p->des2 |= cpu_to_le32(XGMAC_TDES2_IOC);
252 static void dwxgmac2_set_mss(struct dma_desc *p, unsigned int mss)
254 p->des0 = 0;
255 p->des1 = 0;
256 p->des2 = cpu_to_le32(mss);
257 p->des3 = cpu_to_le32(XGMAC_TDES3_CTXT | XGMAC_TDES3_TCMSSV);
260 static void dwxgmac2_set_addr(struct dma_desc *p, dma_addr_t addr)
262 p->des0 = cpu_to_le32(lower_32_bits(addr));
263 p->des1 = cpu_to_le32(upper_32_bits(addr));
266 static void dwxgmac2_clear(struct dma_desc *p)
268 p->des0 = 0;
269 p->des1 = 0;
270 p->des2 = 0;
271 p->des3 = 0;
274 static int dwxgmac2_get_rx_hash(struct dma_desc *p, u32 *hash,
277 unsigned int rdes3 = le32_to_cpu(p->des3);
295 *hash = le32_to_cpu(p->des1);
302 static void dwxgmac2_get_rx_header_len(struct dma_desc *p, unsigned int *len)
304 if (le32_to_cpu(p->des3) & XGMAC_RDES3_L34T)
305 *len = le32_to_cpu(p->des2) & XGMAC_RDES2_HL;
308 static void dwxgmac2_set_sec_addr(struct dma_desc *p, dma_addr_t addr, bool is_valid)
310 p->des2 = cpu_to_le32(lower_32_bits(addr));
311 p->des3 = cpu_to_le32(upper_32_bits(addr));
314 static void dwxgmac2_set_sarc(struct dma_desc *p, u32 sarc_type)
318 p->des3 |= cpu_to_le32(sarc_type & XGMAC_TDES3_SAIC);
321 static void dwxgmac2_set_vlan_tag(struct dma_desc *p, u16 tag, u16 inner_tag,
324 p->des0 = 0;
325 p->des1 = 0;
326 p->des2 = 0;
327 p->des3 = 0;
334 p->des2 = cpu_to_le32(des);
338 p->des3 = cpu_to_le32(des | XGMAC_TDES3_IVLTV);
342 p->des3 |= cpu_to_le32(tag & XGMAC_TDES3_VT);
343 p->des3 |= cpu_to_le32(XGMAC_TDES3_VLTV);
345 p->des3 |= cpu_to_le32(XGMAC_TDES3_CTXT);
348 static void dwxgmac2_set_vlan(struct dma_desc *p, u32 type)
351 p->des2 |= cpu_to_le32(type & XGMAC_TDES2_VTIR);
354 static void dwxgmac2_set_tbs(struct dma_edesc *p, u32 sec, u32 nsec)
356 p->des4 = cpu_to_le32((sec & XGMAC_TDES0_LT) | XGMAC_TDES0_LTV);
357 p->des5 = cpu_to_le32(nsec & XGMAC_TDES1_LT);
358 p->des6 = 0;
359 p->des7 = 0;