DMA Broken Up on MPC8248 - Powerpc

This is a discussion on DMA Broken Up on MPC8248 - Powerpc ; I am running Linux 2.4 on an MPC8248. In my code, I do many chaining DMAs with chains consisting of a single segment descriptor. Each segment descriptor has a valid source and destination physical address. The byte count = 0x60 ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: DMA Broken Up on MPC8248

  1. DMA Broken Up on MPC8248

    I am running Linux 2.4 on an MPC8248. In my code, I do many chaining
    DMAs with chains consisting of a single segment descriptor. Each
    segment descriptor has a valid source and destination physical address.
    The byte count = 0x60 and the next descriptor = 1. The DMAs seem to
    work as expected, i.e., the 0x60 bytes are successfully transferred
    from the given sources to the given destinations, but, when I look at
    the logic analyzer, rather than seeing single DMAs of 0x60 bytes, I see
    6 separate DMAs of 0x10 bytes where there should be a single DMA of
    0x60 bytes. Shouldn't it DMA 0x60 bytes in one single DMA transfer?


  2. Re: DMA Broken Up on MPC8248

    I do not know the 8248, but I remember on the 8240 I tried to
    use the DMA to move memory to memory. It worked, only several
    times slower than when I did it using the CPU, so I abandoned it.
    I did not bother to look into why it was so slow, it obviously not
    going to get me anywhere so I did tweak the CPU move code
    as far as I could and am happy ever since :-).

    Dimiter

    ------------------------------------------------------
    Dimiter Popoff Transgalactic Instruments

    http://www.tgi-sci.com
    ------------------------------------------------------

    Bill wrote:
    > I am running Linux 2.4 on an MPC8248. In my code, I do many chaining
    > DMAs with chains consisting of a single segment descriptor. Each
    > segment descriptor has a valid source and destination physical address.
    > The byte count = 0x60 and the next descriptor = 1. The DMAs seem to
    > work as expected, i.e., the 0x60 bytes are successfully transferred
    > from the given sources to the given destinations, but, when I look at
    > the logic analyzer, rather than seeing single DMAs of 0x60 bytes, I see
    > 6 separate DMAs of 0x10 bytes where there should be a single DMA of
    > 0x60 bytes. Shouldn't it DMA 0x60 bytes in one single DMA transfer?



  3. Re: DMA Broken Up on MPC8248

    Play with the following parameters: BUF_INV,SS_MAX,STS,DTS.

    Dimiter,
    Unlike the mpc8240, where the DMA was implemented in H/W, the mpc8248
    IDMA is CPM microcode based.
    This suggests that the PQx-IDMA is more sophisticated, and can be fine
    tuned to specific requirements.

    David Gabbay
    DoGav Systems


  4. Re: DMA Broken Up on MPC8248

    Play with the following parameters: BUF_INV,SS_MAX,STS,DTS.

    Dimiter,
    Unlike the mpc8240, where the DMA was implemented in H/W, the mpc8248
    IDMA is CPM microcode based.
    This suggests that the PQx-IDMA is more sophisticated, and can be fine
    tuned to specific requirements.

    David Gabbay
    DoGav Systems


+ Reply to Thread