Lines Matching defs:sdma_engine
311 struct sdma_engine { struct
313 struct hfi1_devdata *dd;
314 struct hfi1_pportdata *ppd;
316 void __iomem *tail_csr;
317 u64 imask; /* clear interrupt mask */
318 u64 idle_mask;
319 u64 progress_mask;
320 u64 int_mask;
322 volatile __le64 *head_dma; /* DMA'ed by chip */
324 dma_addr_t head_phys;
326 struct hw_sdma_desc *descq;
328 unsigned descq_full_count;
329 struct sdma_txreq **tx_ring;
331 dma_addr_t descq_phys;
333 u32 sdma_mask;
335 struct sdma_state state;
337 int cpu;
339 u8 sdma_shift;
341 u8 this_idx; /* zero relative engine */
343 spinlock_t senddmactrl_lock;
345 u64 p_senddmactrl; /* shadow per-engine SendDmaCtrl */
348 spinlock_t tail_lock ____cacheline_aligned_in_smp;
351 u64 tail_sn;
354 u32 descq_tail;
356 unsigned long ahg_bits;
358 u16 desc_avail;
360 u16 tx_tail;
362 u16 descq_cnt;
366 seqlock_t head_lock ____cacheline_aligned_in_smp;
369 u64 head_sn;
372 u32 descq_head;
374 u16 tx_head;
376 u64 last_status;
378 u64 err_cnt;
380 u64 sdma_int_cnt;
381 u64 idle_int_cnt;
382 u64 progress_int_cnt;
385 seqlock_t waitlock;
386 struct list_head dmawait;
391 ____cacheline_aligned_in_smp;
395 ____cacheline_aligned_in_smp;
397 struct work_struct err_halt_worker;
399 struct timer_list err_progress_check_timer;
400 u32 progress_check_head;
402 struct work_struct flush_worker;
404 spinlock_t flushlist_lock;
406 struct list_head flushlist;
407 struct cpumask cpu_mask;
408 struct kobject kobj;
432 static inline int sdma_empty(struct sdma_engine *sde) in sdma_empty() argument