Skip to contentSkip to conversation

MPC52xx generic DMA using bestcomm

DISCUSSION Andre Schwarz 4 participants 6 messages Jul 7, 2008

lore
Share & tools
lore
#0 lore raw

Grant,

do you know if someone's working on a more generic DMA solution using BestComm engine on 5200B ?
Maybe somthing that accepts a sg-list with callback ops or completion ?

Is it possible right now to accelerate simple memcpy ops ?

regards,
Andre

MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

#1 lore raw
Quoted 1 line · Andre Schwarz

Grant,

I know I'm not Grant, but..

Quoted 3 lines

do you know if someone's working on a more generic DMA solution using BestComm engine on 5200B ?
Maybe somthing that accepts a sg-list with callback ops or completion ?

It was suggested once or twice, not least by me.

Quoted 1 line

Is it possible right now to accelerate simple memcpy ops ?

From my discussions on the subject with Sylvain, it's possible, you just need to use the GenBD and initiate it manually, however it's probably more overhead than work if the data size is small, and BestComm would do better to copy full 32-bit words at a time, and stay aligned, if you have an odd-sized transfer from a non-32-bit aligned address, then you may have to do some incredible amount of work which makes the actual transfer not worth doing (by the time you set it up, the CPU could have copied it on it's own already, I guess what you DO gain is a kernel preemption point.. the CPU can do other things that are important)

I for one, though, whether it speeds stuff up or not, love to see this in action and am very willing to test and benchmark it. I would love to see more users, too, as the network stack is not the only system that can benefit..

On a related note does anyone know of the status or what is going on with Clifford Wolf's dmatransfer API?

Signature · 2 lines
Matt Sealey <[email protected]>
Genesi, Manager, Developer Relations
#2 lore raw
Quoted 7 lines · Matt Sealey
Quoted 2 lines · Andre Schwarz

Grant,

I know I'm not Grant, but..

... I agree 100% with your reply and have nothing additional to add. :-)

g.

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
#3 lore raw
In reply to Matt Sealey
Quoted 21 lines · Matt Sealey
Quoted 2 lines · Andre Schwarz

Grant,

I know I'm not Grant, but..

Quoted 4 lines

do you know if someone's working on a more generic DMA solution using BestComm engine on 5200B ?
Maybe somthing that accepts a sg-list with callback ops or completion ?

It was suggested once or twice, not least by me.

Quoted 2 lines

Is it possible right now to accelerate simple memcpy ops ?

Quoted 10 lines

From my discussions on the subject with Sylvain, it's possible, you just need to use the GenBD and initiate it manually, however it's probably more overhead than work if the data size is small, and BestComm would do better to copy full 32-bit words at a time, and stay aligned, if you have an
odd-sized
transfer from a non-32-bit aligned address, then you may have to do some incredible amount of work which makes the actual transfer not worth doing (by the time you set it up, the CPU could have copied it on it's own already, I guess what you DO gain is a kernel preemption point.. the CPU can do other things that are important)

If you want an Efika specific problem, the audio hardware is capable of simultaneously playing music on the S/PDIF and analog outputs. But to do that the samples have to be alternated as they are fed into the AC97 stream. I think the codec can capture that way too but you didn't put a transceiver on the S/PDIF line.

In my test driver you only get AC97 or S/PDIF. Grant and I are both working on i2s drivers, when we get those sorted out it shouldn't be too hard to add ac97 back in. That codec driver I sent you was about 95% complete.

Quoted 18 lines

I for one, though, whether it speeds stuff up or not, love to see this in action and am very willing to test and benchmark it. I would love to see more users, too, as the network stack is not the only system that can benefit..

On a related note does anyone know of the status or what is going on with Clifford Wolf's dmatransfer API?

--
Matt Sealey <[email protected]>
Genesi, Manager, Developer Relations

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Signature · 2 lines
Jon Smirl
[email protected]
#4 lore raw
Quoted 5 lines · Jon Smirl
Quoted 1 line · Matt Sealey

to do that the samples have to be alternated as they are fed into the AC97 stream. I think the codec can capture that way too but you didn't put a transceiver on the S/PDIF line.

OT, but the IDT STAC9766 doesn't support S/PDIF input, only output.

Quoted 4 lines

In my test driver you only get AC97 or S/PDIF. Grant and I are both working on i2s drivers, when we get those sorted out it shouldn't be too hard to add ac97 back in. That codec driver I sent you was about 95% complete.

Indeed and to be honest I only gave it a short glance before having to do about a thousand other things, but I will take another peek some time this week :)

Signature · 2 lines
Matt Sealey <[email protected]>
Genesi, Manager, Developer Relations
#5 lore raw
Quoted 21 lines · Matt Sealey
Quoted 8 lines · Jon Smirl
Quoted 2 lines · Matt Sealey

to do that the samples have to be alternated as they are fed into the AC97 stream. I think the codec can capture that way too but you didn't put a transceiver on the S/PDIF line.

OT, but the IDT STAC9766 doesn't support S/PDIF input, only output.

Quoted 5 lines

In my test driver you only get AC97 or S/PDIF. Grant and I are both working on i2s drivers, when we get those sorted out it shouldn't be too hard to add ac97 back in. That codec driver I sent you was about 95% complete.

Quoted 3 lines

Indeed and to be honest I only gave it a short glance before having to do about a thousand other things, but I will take another peek some time this week :)

You should junk my PSC and DMA code and switch to the code Grant recently posted. Codec should work as is. My PSC code is for a six month old version of ASOC v2.

Grant's PSC driver needs to be split into a DMA library and i2s driver. Then make an AC97 version based on his i2s driver that uses the DMA library. Not hard once he splits the i2s driver.

We are getting closer to having full featured audio drivers for the mpc5200 platform.

Quoted 5 lines

--
Matt Sealey <[email protected]>
Genesi, Manager, Developer Relations

Signature · 2 lines
Jon Smirl
[email protected]