Lines Matching refs:index
120 iowrite32(priv->rdev[i]->rx_queue->index,
122 iowrite32(BIT(priv->gwca.index), priv->addr + FWPBFC(i));
126 iowrite32(FWPC0_DEFAULT, priv->addr + FWPC0(priv->gwca.index));
127 iowrite32(FWPC1_DDE, priv->addr + FWPC1(priv->gwca.index));
128 iowrite32(0, priv->addr + FWPBFC(priv->gwca.index));
129 iowrite32(GENMASK(RSWITCH_NUM_PORTS - 1, 0), priv->addr + FWPBFC(priv->gwca.index));
138 if (!rswitch_agent_clock_is_enabled(priv->addr, priv->gwca.index))
139 rswitch_agent_clock_ctrl(priv->addr, priv->gwca.index, 1);
146 rswitch_agent_clock_ctrl(priv->addr, priv->gwca.index, 0);
188 static void rswitch_enadis_data_irq(struct rswitch_private *priv, int index, bool enable)
190 u32 offs = enable ? GWDIE(index / 32) : GWDID(index / 32);
192 iowrite32(BIT(index % 32), priv->addr + offs);
195 static void rswitch_ack_data_irq(struct rswitch_private *priv, int index)
197 u32 offs = GWDIS(index / 32);
199 iowrite32(BIT(index % 32), priv->addr + offs);
204 int index = cur ? gq->cur : gq->dirty;
206 if (index + num >= gq->ring_size)
207 index = (index + num) % gq->ring_size;
209 index += num;
211 return index;
235 int i, index;
238 index = (i + start_index) % gq->ring_size;
239 if (gq->skbs[index])
241 gq->skbs[index] = netdev_alloc_skb_ip_align(gq->ndev,
243 if (!gq->skbs[index])
251 index = (i + start_index) % gq->ring_size;
252 dev_kfree_skb(gq->skbs[index]);
253 gq->skbs[index] = NULL;
323 i = gq->index / 32;
324 bit = BIT(gq->index % 32);
378 linkfix = &priv->gwca.linkfix_table[gq->index];
383 priv->addr + GWDCC_OFFS(gq->index));
404 int i, index;
407 index = (i + start_index) % gq->ring_size;
408 desc = &gq->ts_ring[index];
420 int i, index;
423 index = (i + start_index) % gq->ring_size;
424 desc = &gq->rx_ring[index];
427 gq->skbs[index]->data, PKT_BUF_SZ,
436 desc->info1 = cpu_to_le64(INFO1_SPN(rdev->etha->index));
447 index = (i + start_index) % gq->ring_size;
448 desc = &gq->rx_ring[index];
476 linkfix = &priv->gwca.linkfix_table[gq->index];
482 priv->addr + GWDCC_OFFS(gq->index));
539 int index;
541 index = find_first_zero_bit(priv->gwca.used, priv->gwca.num_queues);
542 if (index >= priv->gwca.num_queues)
544 set_bit(index, priv->gwca.used);
545 gq = &priv->gwca.queues[index];
547 gq->index = index;
555 clear_bit(gq->index, priv->gwca.used);
585 static int rswitch_txdmac_init(struct rswitch_private *priv, int index)
587 struct rswitch_device *rdev = priv->rdev[index];
619 static int rswitch_rxdmac_init(struct rswitch_private *priv, int index)
621 struct rswitch_device *rdev = priv->rdev[index];
823 rswitch_enadis_data_irq(priv, rdev->tx_queue->index, true);
824 rswitch_enadis_data_irq(priv, rdev->rx_queue->index, true);
843 rswitch_enadis_data_irq(rdev->priv, rdev->tx_queue->index, false);
844 rswitch_enadis_data_irq(rdev->priv, rdev->rx_queue->index, false);
853 int i, index, bit;
857 index = gq->index / 32;
858 bit = BIT(gq->index % 32);
859 if (!(dis[index] & bit))
862 rswitch_ack_data_irq(priv, gq->index);
986 if (!rswitch_agent_clock_is_enabled(etha->coma_addr, etha->index))
987 rswitch_agent_clock_ctrl(etha->coma_addr, etha->index, 1);
994 rswitch_agent_clock_ctrl(etha->coma_addr, etha->index, 0);
1145 u32 index;
1153 err = of_property_read_u32(port, "reg", &index);
1158 if (index == rdev->etha->index) {
1218 sprintf(mii_bus->id, "etha%d", rdev->etha->index);
1457 rswitch_enadis_data_irq(rdev->priv, rdev->tx_queue->index, true);
1458 rswitch_enadis_data_irq(rdev->priv, rdev->rx_queue->index, true);
1490 rswitch_enadis_data_irq(rdev->priv, rdev->tx_queue->index, false);
1491 rswitch_enadis_data_irq(rdev->priv, rdev->rx_queue->index, false);
1525 desc->info1 = cpu_to_le64(INFO1_DV(BIT(rdev->etha->index)) |
1552 rswitch_modify(rdev->addr, GWTRC(gq->index), 0, BIT(gq->index % 32));
1693 static void rswitch_etha_init(struct rswitch_private *priv, int index)
1695 struct rswitch_etha *etha = &priv->etha[index];
1698 etha->index = index;
1699 etha->addr = priv->addr + RSWITCH_ETHA_OFFSET + index * RSWITCH_ETHA_SIZE;
1709 static int rswitch_device_alloc(struct rswitch_private *priv, int index)
1716 if (index >= RSWITCH_NUM_PORTS)
1729 priv->rdev[index] = rdev;
1730 rdev->port = index;
1731 rdev->etha = &priv->etha[index];
1735 snprintf(ndev->name, IFNAMSIZ, "tsn%d", index);
1780 static void rswitch_device_free(struct rswitch_private *priv, int index)
1782 struct rswitch_device *rdev = priv->rdev[index];
1941 priv->gwca.index = AGENT_INDEX_GWCA;