Question about ppc4xx_dma.h

akuster akuster at dslextreme.com
Tue Aug 27 13:44:18 EST 2002


Todd Poynor wrote:
>
> Noticed that the order of clearing the old transfer mode bits and
> setting the p_dma_ch->mode bits is reversed in the new patch, not sure
> if this causes problems:
>
> +       tmp_cntl |= (p_dma_ch->mode | DMA_CH_ENABLE);
> +
> +       switch (dmanr) {
> +       case 0:
> +               control = mfdcr(DCRN_DMACR0);
> +               control |= tmp_cntl;
> +               control &= ~(DMA_TM_MASK | DMA_TD);     /* clear all
> mode bits */
>
> This seems to set and then clear the p_dma_ch->mode bits in control
> prior to writing to the DMACR, a problem?
>
>
> --
> Todd
>
>
>
>
>

Here is a patch that should address the above issue.  I put in
additional checks for if a the current dma channel is all ready claimed
and if the requestion channel is greater than max dma channels.
dma_enable no longer clears mode bits.   ( TODO: should document 4xx dma
usage)

Armin
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dma_fix_0826.patch
Url: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20020826/49578eae/attachment.txt 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dma_fix_0826.patch.gz
Type: application/x-gunzip
Size: 1796 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20020826/49578eae/attachment.bin 


More information about the Linuxppc-embedded mailing list