/* Configure QID and port mapping */
reg = tdma_readl(priv, TDMA_DESC_RING_MAPPING(index));
reg &= ~(RING_QID_MASK | RING_PORT_ID_MASK << RING_PORT_ID_SHIFT);
- reg |= ring->switch_queue & RING_QID_MASK;
- reg |= ring->switch_port << RING_PORT_ID_SHIFT;
+ if (ring->inspect) {
+ reg |= ring->switch_queue & RING_QID_MASK;
+ reg |= ring->switch_port << RING_PORT_ID_SHIFT;
+ } else {
+ reg |= RING_IGNORE_STATUS;
+ }
tdma_writel(priv, reg, TDMA_DESC_RING_MAPPING(index));
tdma_writel(priv, 0, TDMA_DESC_RING_PCP_DEI_VID(index));
*/
ring->switch_queue = q;
ring->switch_port = port;
+ ring->inspect = true;
priv->ring_map[q + port * num_tx_queues] = ring;
/* Set all queues as being used now */
unsigned long bytes; /* bytes statistics */
unsigned int switch_queue; /* switch port queue number */
unsigned int switch_port; /* switch port queue number */
+ bool inspect; /* inspect switch port and queue */
};
/* Driver private structure */