Lines Matching refs:sde
391 static inline int sdma_empty(struct sdma_engine *sde)
393 return sde->descq_tail == sde->descq_head;
396 static inline u16 sdma_descq_freecnt(struct sdma_engine *sde)
398 return sde->descq_cnt -
399 (sde->descq_tail -
400 READ_ONCE(sde->descq_head)) - 1;
403 static inline u16 sdma_descq_inprocess(struct sdma_engine *sde)
405 return sde->descq_cnt - sdma_descq_freecnt(sde);
828 int sdma_send_txreq(struct sdma_engine *sde,
832 int sdma_send_txlist(struct sdma_engine *sde,
837 int sdma_ahg_alloc(struct sdma_engine *sde);
838 void sdma_ahg_free(struct sdma_engine *sde, int ahg_index);
868 * @sde: sdma_engine to check
880 static inline unsigned sdma_progress(struct sdma_engine *sde, unsigned seq,
883 if (read_seqretry(&sde->head_lock, seq)) {
884 sde->desc_avail = sdma_descq_freecnt(sde);
885 if (tx->num_desc > sde->desc_avail)
893 void sdma_engine_error(struct sdma_engine *sde, u64 status);
894 void sdma_engine_interrupt(struct sdma_engine *sde, u64 status);
921 * +--------------------------+ | sde[0] -> eng 1 |
923 * |--------------------------| ->| sde[1] -> eng 2 |
927 * |--------------------------| --/ | sde[n-1] -> eng n |
934 * | * | \-- | sde[0] -> eng 1+n |
936 * | * | \->| sde[1] -> eng 2+n |
940 * \- | sde[m-1] -> eng m+n |
947 * \- | sde[0] -> eng 1+m+n |
949 * >| sde[1] -> eng 2+m+n |
953 * | sde[o-1] -> eng o+m+n|
961 * @sde - array of engines for this vl
969 struct sdma_engine *sde[];
983 * in turn point to an array of sde's for that vl.
1001 void _sdma_engine_progress_schedule(struct sdma_engine *sde);
1005 * @sde: sdma_engine to schedule progress
1011 struct sdma_engine *sde)
1013 if (!sde || sdma_descq_inprocess(sde) < (sde->descq_cnt / 8))
1015 _sdma_engine_progress_schedule(sde);
1030 ssize_t sdma_get_cpu_to_sde_map(struct sdma_engine *sde, char *buf);
1031 ssize_t sdma_set_cpu_to_sde_map(struct sdma_engine *sde, const char *buf,
1033 int sdma_engine_get_vl(struct sdma_engine *sde);