[PATCH 1/2] driver: irda support 3430

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Irda driver changes to support on 3430

Signed-off-by: Girish S G <girishsg@xxxxxx>
---
 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux