Irda driver changes to support on 3430

Signed-off-by: Girish S G <[EMAIL PROTECTED]>
---
 drivers/net/irda/omap-ir.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

Index: linux-omap-2.6_today/drivers/net/irda/omap-ir.c
===================================================================
--- linux-omap-2.6_today.orig/drivers/net/irda/omap-ir.c        2008-07-03
10:33:57.000000000 +0530
+++ linux-omap-2.6_today/drivers/net/irda/omap-ir.c     2008-07-03
10:35:30.000000000 +0530
@@ -217,7 +217,7 @@
        struct net_device *dev = data;
        struct omap_irda *omap_ir = netdev_priv(dev);

-       /*Stop DMA controller */
+       /* Stop DMA controller */
        omap_stop_dma(omap_ir->tx_dma_channel);
 }

@@ -378,8 +378,12 @@

                skb_reserve(skb, 1);

-               w = omap_get_dma_dst_pos(omap_ir->rx_dma_channel) -
-                                               omap_ir->rx_buf_dma_phys;
+               w = OMAP_DMA4_CDAC(omap_ir->rx_dma_channel);
+
+               if (cpu_is_omap16xx())
+                       w -= OMAP1_DMA_CDSA_L(omap_ir->rx_dma_channel);
+               if (cpu_is_omap24xx() || cpu_is_omap34xx())
+                       w -= OMAP_DMA4_CDSA(omap_ir->rx_dma_channel);

                if (!IS_FIR(omap_ir))
                        /* Copy DMA buffer to skb */
@@ -604,6 +608,8 @@
 err_irlap:
        omap_ir->open = 0;
        omap_irda_shutdown(omap_ir);
+       if (omap_ir->pdata->select_irda)
+               omap_ir->pdata->select_irda(omap_ir->dev, ~IR_SEL);
 err_startup:
        dma_free_coherent(NULL, IRDA_SIR_MAX_FRAME,
                        omap_ir->tx_buf_dma_virt, omap_ir->tx_buf_dma_phys);
@@ -636,6 +642,8 @@
                                omap_ir->tx_buf_dma_phys);

        omap_irda_shutdown(omap_ir);
+       if (omap_ir->pdata->select_irda)
+               omap_ir->pdata->select_irda(omap_ir->dev, ~IR_SEL);

        /* Stop IrLAP */
        if (omap_ir->irlap) {

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to