Lines Matching defs:ring
731 mcp251xfd_get_tx_obj_addr(const struct mcp251xfd_tx_ring *ring, u8 n)
733 return ring->base + ring->obj_size * n;
737 mcp251xfd_get_rx_obj_addr(const struct mcp251xfd_rx_ring *ring, u8 n)
739 return ring->base + ring->obj_size * n;
766 static inline u8 mcp251xfd_get_tx_head(const struct mcp251xfd_tx_ring *ring)
768 return ring->head & (ring->obj_num - 1);
771 static inline u8 mcp251xfd_get_tx_tail(const struct mcp251xfd_tx_ring *ring)
773 return ring->tail & (ring->obj_num - 1);
776 static inline u8 mcp251xfd_get_tx_free(const struct mcp251xfd_tx_ring *ring)
778 return ring->obj_num - (ring->head - ring->tail);
795 static inline u8 mcp251xfd_get_rx_head(const struct mcp251xfd_rx_ring *ring)
797 return ring->head & (ring->obj_num - 1);
800 static inline u8 mcp251xfd_get_rx_tail(const struct mcp251xfd_rx_ring *ring)
802 return ring->tail & (ring->obj_num - 1);
805 static inline u8 mcp251xfd_get_rx_len(const struct mcp251xfd_rx_ring *ring)
807 return ring->head - ring->tail;
811 mcp251xfd_get_rx_linear_len(const struct mcp251xfd_rx_ring *ring)
815 len = mcp251xfd_get_rx_len(ring);
817 return min_t(u8, len, ring->obj_num - mcp251xfd_get_rx_tail(ring));
820 #define mcp251xfd_for_each_tx_obj(ring, _obj, n) \
821 for ((n) = 0, (_obj) = &(ring)->obj[(n)]; \
822 (n) < (ring)->obj_num; \
823 (n)++, (_obj) = &(ring)->obj[(n)])
825 #define mcp251xfd_for_each_rx_ring(priv, ring, n) \
826 for ((n) = 0, (ring) = *((priv)->rx + (n)); \
828 (n)++, (ring) = *((priv)->rx + (n)))