Re: [PATCH 1/2] driver: irda support 3430

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

 



Hi,

* Girish. S. G. <girishsg@xxxxxx> [080703 11:10]:
> 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 */

Let's not tinker with the DMA registers again directly just as I
thought I got all that clean-up a bit! :)

Can you rather use the exported functions? If something is missing,
let's add it. But in the above case omap_set_dma_dest_params() and
omap_set_dma_src_params() should work I believe.

Regards,

Tony


> @@ -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
--
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