Lines Matching refs:ring_id
699 static void xmm7360_td_ring_activate(struct xmm_dev *xmm, u8 ring_id)
701 struct td_ring *ring = &xmm->td_ring[ring_id];
704 xmm->cp->s_rptr[ring_id] = xmm->cp->s_wptr[ring_id] = 0;
706 ret = xmm7360_cmd_ring_execute(xmm, CMD_RING_OPEN, ring_id, ring->depth, ring->tds_phys, 0x60);
710 static void xmm7360_td_ring_create(struct xmm_dev *xmm, u8 ring_id, u8 depth, u16 page_size)
712 struct td_ring *ring = &xmm->td_ring[ring_id];
732 xmm7360_td_ring_activate(xmm, ring_id);
735 static void xmm7360_td_ring_deactivate(struct xmm_dev *xmm, u8 ring_id)
737 xmm7360_cmd_ring_execute(xmm, CMD_RING_CLOSE, ring_id, 0, 0, 0);
740 static void xmm7360_td_ring_destroy(struct xmm_dev *xmm, u8 ring_id)
742 struct td_ring *ring = &xmm->td_ring[ring_id];
751 xmm7360_td_ring_deactivate(xmm, ring_id);
765 static void xmm7360_td_ring_write(struct xmm_dev *xmm, u8 ring_id, const void *buf, int len)
767 struct td_ring *ring = &xmm->td_ring[ring_id];
768 u8 wptr = xmm->cp->s_wptr[ring_id];
772 BUG_ON(ring_id & 1);
780 BUG_ON(wptr == xmm->cp->s_rptr[ring_id]);
782 xmm->cp->s_wptr[ring_id] = wptr;
785 static int xmm7360_td_ring_full(struct xmm_dev *xmm, u8 ring_id)
787 struct td_ring *ring = &xmm->td_ring[ring_id];
788 u8 wptr = xmm->cp->s_wptr[ring_id];
790 return wptr == xmm->cp->s_rptr[ring_id];
793 static void xmm7360_td_ring_read(struct xmm_dev *xmm, u8 ring_id)
795 struct td_ring *ring = &xmm->td_ring[ring_id];
796 u8 wptr = xmm->cp->s_wptr[ring_id];
803 if (!(ring_id & 1)) {
814 BUG_ON(wptr == xmm->cp->s_rptr[ring_id]);
816 xmm->cp->s_wptr[ring_id] = wptr;