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

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

 



2008/7/3 Tony Lindgren <tony@xxxxxxxxxxx>:
> 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);

Anything with DMA4 in the name won't work on OMAP1 and may return an
unspecified value I'm afraid.

>> +
>> +             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.

Actually iirc omap_set_dma_dst_params() doesn't work on OMAP15xx,
because CDAC was added in DMA3.2 and OMAP15xx has DMA3.1. I had a
patch somewhere to use this IrDA driver on OMAP15xx and the main
change was this.

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