Lines Matching defs:sdma_engine
321 struct sdma_engine { struct
323 struct hfi1_devdata *dd;
324 struct hfi1_pportdata *ppd;
326 void __iomem *tail_csr;
327 u64 imask; /* clear interrupt mask */
328 u64 idle_mask;
329 u64 progress_mask;
330 u64 int_mask;
332 volatile __le64 *head_dma; /* DMA'ed by chip */
334 dma_addr_t head_phys;
336 struct hw_sdma_desc *descq;
338 unsigned descq_full_count;
339 struct sdma_txreq **tx_ring;
341 dma_addr_t descq_phys;
343 u32 sdma_mask;
345 struct sdma_state state;
347 int cpu;
349 u8 sdma_shift;
351 u8 this_idx; /* zero relative engine */
353 spinlock_t senddmactrl_lock;
355 u64 p_senddmactrl; /* shadow per-engine SendDmaCtrl */
358 spinlock_t tail_lock ____cacheline_aligned_in_smp;
361 u64 tail_sn;
364 u32 descq_tail;
366 unsigned long ahg_bits;
368 u16 desc_avail;
370 u16 tx_tail;
372 u16 descq_cnt;
376 seqlock_t head_lock ____cacheline_aligned_in_smp;
379 u64 head_sn;
382 u32 descq_head;
384 u16 tx_head;
386 u64 last_status;
388 u64 err_cnt;
390 u64 sdma_int_cnt;
391 u64 idle_int_cnt;
392 u64 progress_int_cnt;
395 struct list_head dmawait;
400 ____cacheline_aligned_in_smp;
404 ____cacheline_aligned_in_smp;
406 struct work_struct err_halt_worker;
408 struct timer_list err_progress_check_timer;
409 u32 progress_check_head;
411 struct work_struct flush_worker;
413 spinlock_t flushlist_lock;
415 struct list_head flushlist;
416 struct cpumask cpu_mask;
440 static inline int sdma_empty(struct sdma_engine *sde) in sdma_empty() argument