soc: ti: ti_sci_inta_msi: Get rid of ti_sci_inta_msi_get_virq()
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:19:35 +0000 (23:19 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:41 +0000 (22:16 +0100)
Just use the core function msi_get_virq().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Vinod Koul <vkoul@kernel.org>
Acked-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20211210221815.269468319@linutronix.de
drivers/dma/ti/k3-udma-private.c
drivers/dma/ti/k3-udma.c
drivers/soc/ti/k3-ringacc.c
drivers/soc/ti/ti_sci_inta_msi.c
include/linux/soc/ti/ti_sci_inta_msi.h

index aada84f..d4f1e4e 100644 (file)
@@ -168,8 +168,7 @@ int xudma_pktdma_tflow_get_irq(struct udma_dev *ud, int udma_tflow_id)
 {
        const struct udma_oes_offsets *oes = &ud->soc_data->oes;
 
-       return ti_sci_inta_msi_get_virq(ud->dev, udma_tflow_id +
-                                       oes->pktdma_tchan_flow);
+       return msi_get_virq(ud->dev, udma_tflow_id + oes->pktdma_tchan_flow);
 }
 EXPORT_SYMBOL(xudma_pktdma_tflow_get_irq);
 
@@ -177,7 +176,6 @@ int xudma_pktdma_rflow_get_irq(struct udma_dev *ud, int udma_rflow_id)
 {
        const struct udma_oes_offsets *oes = &ud->soc_data->oes;
 
-       return ti_sci_inta_msi_get_virq(ud->dev, udma_rflow_id +
-                                       oes->pktdma_rchan_flow);
+       return msi_get_virq(ud->dev, udma_rflow_id + oes->pktdma_rchan_flow);
 }
 EXPORT_SYMBOL(xudma_pktdma_rflow_get_irq);
index 20edd0b..86f7a0a 100644 (file)
@@ -2313,8 +2313,7 @@ static int udma_alloc_chan_resources(struct dma_chan *chan)
 
        /* Event from UDMA (TR events) only needed for slave TR mode channels */
        if (is_slave_direction(uc->config.dir) && !uc->config.pkt_mode) {
-               uc->irq_num_udma = ti_sci_inta_msi_get_virq(ud->dev,
-                                                           irq_udma_idx);
+               uc->irq_num_udma = msi_get_virq(ud->dev, irq_udma_idx);
                if (uc->irq_num_udma <= 0) {
                        dev_err(ud->dev, "Failed to get udma irq (index: %u)\n",
                                irq_udma_idx);
@@ -2486,7 +2485,7 @@ static int bcdma_alloc_chan_resources(struct dma_chan *chan)
                uc->psil_paired = true;
        }
 
-       uc->irq_num_ring = ti_sci_inta_msi_get_virq(ud->dev, irq_ring_idx);
+       uc->irq_num_ring = msi_get_virq(ud->dev, irq_ring_idx);
        if (uc->irq_num_ring <= 0) {
                dev_err(ud->dev, "Failed to get ring irq (index: %u)\n",
                        irq_ring_idx);
@@ -2503,8 +2502,7 @@ static int bcdma_alloc_chan_resources(struct dma_chan *chan)
 
        /* Event from BCDMA (TR events) only needed for slave channels */
        if (is_slave_direction(uc->config.dir)) {
-               uc->irq_num_udma = ti_sci_inta_msi_get_virq(ud->dev,
-                                                           irq_udma_idx);
+               uc->irq_num_udma = msi_get_virq(ud->dev, irq_udma_idx);
                if (uc->irq_num_udma <= 0) {
                        dev_err(ud->dev, "Failed to get bcdma irq (index: %u)\n",
                                irq_udma_idx);
@@ -2672,7 +2670,7 @@ static int pktdma_alloc_chan_resources(struct dma_chan *chan)
 
        uc->psil_paired = true;
 
-       uc->irq_num_ring = ti_sci_inta_msi_get_virq(ud->dev, irq_ring_idx);
+       uc->irq_num_ring = msi_get_virq(ud->dev, irq_ring_idx);
        if (uc->irq_num_ring <= 0) {
                dev_err(ud->dev, "Failed to get ring irq (index: %u)\n",
                        irq_ring_idx);
index 26159a5..56be391 100644 (file)
@@ -647,7 +647,7 @@ int k3_ringacc_get_ring_irq_num(struct k3_ring *ring)
        if (!ring)
                return -EINVAL;
 
-       irq_num = ti_sci_inta_msi_get_virq(ring->parent->dev, ring->ring_id);
+       irq_num = msi_get_virq(ring->parent->dev, ring->ring_id);
        if (irq_num <= 0)
                irq_num = -EINVAL;
        return irq_num;
index 9d23daa..b68cc6d 100644 (file)
@@ -148,15 +148,3 @@ void ti_sci_inta_msi_domain_free_irqs(struct device *dev)
        ti_sci_inta_msi_free_descs(dev);
 }
 EXPORT_SYMBOL_GPL(ti_sci_inta_msi_domain_free_irqs);
-
-unsigned int ti_sci_inta_msi_get_virq(struct device *dev, u32 dev_index)
-{
-       struct msi_desc *desc;
-
-       for_each_msi_entry(desc, dev)
-               if (desc->msi_index == dev_index)
-                       return desc->irq;
-
-       return -ENODEV;
-}
-EXPORT_SYMBOL_GPL(ti_sci_inta_msi_get_virq);
index e3aa8b1..25ea78a 100644 (file)
@@ -18,6 +18,5 @@ struct irq_domain
                                   struct irq_domain *parent);
 int ti_sci_inta_msi_domain_alloc_irqs(struct device *dev,
                                      struct ti_sci_resource *res);
-unsigned int ti_sci_inta_msi_get_virq(struct device *dev, u32 index);
 void ti_sci_inta_msi_domain_free_irqs(struct device *dev);
 #endif /* __INCLUDE_LINUX_IRQCHIP_TI_SCI_INTA_H */