Skip to contentSkip to conversation

PCI DMA Problems With 82xx?

DISCUSSION Mike Winter 6 participants 11 messages Jun 17, 2008 – Jun 19, 2008

lore
Share & tools
lore
#0 lore raw

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI on the 8248 or similar that they can share with me? Thanks.

#1 lore raw
Quoted 1 line · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI on the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I haven't done significant stress testing.

-Scott

#2 lore raw
Quoted 8 lines · [email protected] wrote:
Quoted 7 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI on the 8248 or similar that they can share with me? =20 Thanks.=20

We're using all four PCI DMA's on 8265 and 8280 CPU's.
The only issue we have run into was that we get an occational bus error (timeout) reading the PCI-DMA status registers...
We've worked around that by using an exception handler to just retry the access when (not if) it fails.

Freescale has addmitted to us that there might be an issue reading the DMA status register (no errata though).

#3 lore raw
Quoted 9 lines · [email protected] wrote:
Quoted 8 lines · [email protected] wrote:
Quoted 7 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI on the 8248 or similar that they can share with me? Thanks.

Quoted 8 lines

=20
We're using all four PCI DMA's on 8265 and 8280 CPU's. The only issue we have run into was that we get an occational bus error
(timeout) reading the PCI-DMA status registers... We've worked around that by using an exception handler to just retry the
access when (not if) it fails.

And we have to read the status register multiple times and compare to make sure we have a valid read, as we've seen wacky reads occationally.

#4 lore raw
In reply to Rune Torgersen
Quoted 10 lines · Rune Torgersen
Quoted 7 lines · [email protected] wrote:
Quoted 6 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI on the 8248 or similar that they can share with me? Thanks.

We're using all four PCI DMA's on 8265 and 8280 CPU's.

Hmm, did he mean bus-mastering from PCI devices, or the DMA block which is documented as part of PCI on older chips, but really has nothing to do with it that I can figure out?

-Scott

#5 lore raw

Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

In reply to Scott Wood

I'm trying to wrestle the peak CAN driver for the old, non-device-tree ppc into submission but I'm making a mess of it so far.

I think I'll get it going at some point, but if anybody has or knows of an mscan driver for the mpc5200 can you alert me?

Thanks,
Mike

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Scott Wood
Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?

Quoted 6 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor=20 telling us that the PCI hardware is unreliable on this CPU family, in=20 particular the DMA functionality. A quick search of this list doesn't

turn up any horror stories, although the processor does have some PCI=20 errata listed. Does anybody have any practical experience using PCI

on=20

Quoted 1 line

the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration=20 priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I haven't

done significant stress testing.

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

#6 lore raw

Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Quoted 5 lines · Mike Timmons

I'm trying to wrestle the peak CAN driver for the old, non-device-tree ppc into submission but I'm making a mess of it so far.

I think I'll get it going at some point, but if anybody has or knows of an mscan driver for the mpc5200 can you alert me?

http://svn.berlios.de/svnroot/repos/socketcan/trunk/README

The Socket-CAN core is part of the official kernel since 2.6.25.

Wolfgang.

Quoted 37 lines

Thanks,
Mike

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Scott Wood
Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?

Quoted 3 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in particular the DMA functionality. A quick search of this list doesn't

turn up any horror stories, although the processor does have some PCI errata listed. Does anybody have any practical experience using PCI

on

Quoted 1 line

the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I haven't

done significant stress testing.

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

#7 lore raw

RE: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Thanks for the quick response. I'm currently using 2.6.24 ARCH=3Dpowerpc on the Lite5200b. I just searched for an obvious patch but it is unclear to me what patch(es) I should take at this point.

Can you direct me to the patch(es) I need? Again, thank you.

-Mike=20

-----Original Message-----
From: Wolfgang Grandegger [mailto:[email protected]]=20
Sent: Wednesday, June 18, 2008 8:45 AM
To: Mike Timmons
Cc: [email protected]
Subject: Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=3Dpowerpc or equiv?

Quoted 4 lines · Mike Timmons

I'm trying to wrestle the peak CAN driver for the old, non-device-tree ppc into submission but I'm making a mess of it so far.
=20
I think I'll get it going at some point, but if anybody has or knows

of

Quoted 1 line

an mscan driver for the mpc5200 can you alert me?

http://svn.berlios.de/svnroot/repos/socketcan/trunk/README

The Socket-CAN core is part of the official kernel since 2.6.25.

Wolfgang.

Quoted 7 lines

=20
Thanks,
Mike
=20
-----Original Message-----
From: [email protected] =

[mailto:[email protected]]

Quoted 11 lines

On Behalf Of Scott Wood
Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?
=20

Quoted 4 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor=20 telling us that the PCI hardware is unreliable on this CPU family, in

particular the DMA functionality. A quick search of this list

doesn't

Quoted 11 lines

=20

Quoted 3 lines

turn up any horror stories, although the processor does have some PCI

errata listed. Does anybody have any practical experience using PCI

on=20

Quoted 1 line

the 8248 or similar that they can share with me? Thanks.

=20
Make sure that you park the bus on PCI, and elevate PCI's arbitration=20 priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c. =20
I haven't had a problem with PCI DMA when that is done, though I

haven't

Quoted 14 lines

=20
done significant stress testing.
=20
-Scott
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
=20
=20

#8 lore raw

Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Quoted 5 lines · Mike Timmons

Thanks for the quick response. I'm currently using 2.6.24 ARCH=powerpc on the Lite5200b. I just searched for an obvious patch but it is unclear to me what patch(es) I should take at this point.

Can you direct me to the patch(es) I need? Again, thank you.

As a first try you can build Socket-CAN out of tree by just downloading the SVN trunk repository as described here:

http://developer.berlios.de/svn/?group_id=6475

Then go to trunk/kernel/2.6 and type:

  $ make ARCH=powerpc KERNELDIR=<path-to-kernel> \
    CONFIG_CAN_MSCAN=m CONFIG_CAN_MPC52XX=m

You need the following modules on your target:

drivers/net/can/*.ko
drivers/net/can/mscan/*.ko

There is a script to create kernel patches, but I don't known if it works right now (there have been some issues recently). Please ask on the Socket-CAN mailing list.

Wolfgang.

Quoted 65 lines

-Mike

-----Original Message-----
From: Wolfgang Grandegger [mailto:[email protected]] Sent: Wednesday, June 18, 2008 8:45 AM
To: Mike Timmons
Cc: [email protected]
Subject: Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Quoted 4 lines · Mike Timmons

I'm trying to wrestle the peak CAN driver for the old, non-device-tree ppc into submission but I'm making a mess of it so far.

I think I'll get it going at some point, but if anybody has or knows

of

Quoted 1 line

an mscan driver for the mpc5200 can you alert me?

http://svn.berlios.de/svnroot/repos/socketcan/trunk/README

The Socket-CAN core is part of the official kernel since 2.6.25.

Wolfgang.

Quoted 12 lines

Thanks,
Mike

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Scott Wood
Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?

Quoted 4 lines
Quoted 3 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in

particular the DMA functionality. A quick search of this list

doesn't

Quoted 8 lines
Quoted 3 lines

turn up any horror stories, although the processor does have some PCI

errata listed. Does anybody have any practical experience using PCI

on

Quoted 1 line

the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I

haven't

Quoted 13 lines

done significant stress testing.

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

#9 lore raw

RE: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Thanks again Wolfgang. I've successfully built and insmod' the following:=20

vcan.ko=20
can-dev.ko=20
mscan-mpc5200.ko

(I'll figure out the dependencies for modules.dep and use modprobe in the future, but for now I think I've loaded what I need).

It looks like I should be good-to-go, but I'm having a socket address issue with the cansniffer app. I have posted a question to the socket-CAN mailing list.

Your advice below did get me successfully building the modules for my 2.6.24 kernel, so that part of the issue is closed.

-Mike

-----Original Message-----
From: Wolfgang Grandegger [mailto:[email protected]]=20
Sent: Wednesday, June 18, 2008 9:19 AM
To: Mike Timmons
Cc: [email protected]
Subject: Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=3Dpowerpc or equiv?

Quoted 1 line · Mike Timmons

Thanks for the quick response. I'm currently using 2.6.24 =

ARCH=3Dpowerpc

Quoted 1 line

on the Lite5200b. I just searched for an obvious patch but it is

unclear

Quoted 3 lines

to me what patch(es) I should take at this point. =20
Can you direct me to the patch(es) I need? Again, thank you.

As a first try you can build Socket-CAN out of tree by just downloading=20 the SVN trunk repository as described here:

http://developer.berlios.de/svn/?group_id=3D6475

Then go to trunk/kernel/2.6 and type:

   $ make ARCH=3Dpowerpc KERNELDIR=3D<path-to-kernel> \
     CONFIG_CAN_MSCAN=3Dm CONFIG_CAN_MPC52XX=3Dm

You need the following modules on your target:

drivers/net/can/*.ko
drivers/net/can/mscan/*.ko

There is a script to create kernel patches, but I don't known if it=20 works right now (there have been some issues recently). Please ask on=20 the Socket-CAN mailing list.

Wolfgang.

Quoted 4 lines

=20
-Mike=20
=20
-----Original Message-----

Quoted 9 lines

From: Wolfgang Grandegger [mailto:[email protected]]=20
Sent: Wednesday, June 18, 2008 8:45 AM
To: Mike Timmons
Cc: [email protected]
Subject: Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=3Dpowerpc or equiv?
=20

Quoted 1 line · Mike Timmons

I'm trying to wrestle the peak CAN driver for the old,

non-device-tree

Quoted 4 lines
Quoted 3 lines

ppc into submission but I'm making a mess of it so far.

I think I'll get it going at some point, but if anybody has or knows

of

Quoted 14 lines
Quoted 1 line

an mscan driver for the mpc5200 can you alert me?

=20
http://svn.berlios.de/svnroot/repos/socketcan/trunk/README
=20
The Socket-CAN core is part of the official kernel since 2.6.25. =20
Wolfgang.
=20

Quoted 6 lines

Thanks,
Mike

-----Original Message-----
From: [email protected]

[mailto:[email protected]]

Quoted 9 lines
Quoted 9 lines

On Behalf Of Scott Wood
Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?

Quoted 2 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor=20 telling us that the PCI hardware is unreliable on this CPU family,

in

Quoted 4 lines

=20

Quoted 1 line
Quoted 1 line

particular the DMA functionality. A quick search of this list

doesn't

Quoted 1 line
Quoted 1 line

turn up any horror stories, although the processor does have some

PCI

Quoted 25 lines

=20

Quoted 8 lines
Quoted 1 line

errata listed. Does anybody have any practical experience using PCI

on=20

Quoted 1 line

the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration

priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I

haven't

Quoted 13 lines

done significant stress testing.

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

=20
=20

#10 lore raw

RE: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

In reply to Mike Timmons

Mike,

We are using the attached patch from socketcan svn trunk r679 against 2.6.24.

Best regards,

Daniel.

Quoted 21 lines · Mike Timmons

Thanks for the quick response. I'm currently using 2.6.24 ARCH=powerpc on the Lite5200b. I just searched for an obvious patch but it is unclear to me what patch(es) I should take at this point.

Can you direct me to the patch(es) I need? Again, thank you.

-Mike

-----Original Message-----
From: Wolfgang Grandegger [mailto:[email protected]]
Sent: Wednesday, June 18, 2008 8:45 AM
To: Mike Timmons
Cc: [email protected]
Subject: Re: Anybody have an mpc5200b mscan linux driver under 2.6.24, ARCH=powerpc or equiv?

Quoted 4 lines · Mike Timmons

I'm trying to wrestle the peak CAN driver for the old, non-device-tree ppc into submission but I'm making a mess of it so far.

Quoted 16 lines
Quoted 2 lines

I think I'll get it going at some point, but if anybody has or knows of an mscan driver for the mpc5200 can you alert me?

http://svn.berlios.de/svnroot/repos/socketcan/trunk/README

The Socket-CAN core is part of the official kernel since 2.6.25.

Wolfgang.

Quoted 7 lines

Thanks,
Mike

-----Original Message-----
From: [email protected]

[mailto:[email protected]]

Quoted 43 lines
Quoted 27 lines

On Behalf Of Scott Wood Sent: Tuesday, June 17, 2008 4:30 PM
To: Mike Winter
Cc: [email protected]
Subject: Re: PCI DMA Problems With 82xx?

Quoted 4 lines · Mike Winter

We are developing with an 8248-based platform, and we have a vendor telling us that the PCI hardware is unreliable on this CPU family, in

Quoted 8 lines

particular the DMA functionality. A quick search of this list doesn't

turn up any horror stories, although the processor does have some PCI

errata listed. Does anybody have any practical experience using
PCI on the 8248 or similar that they can share with me? Thanks.

Make sure that you park the bus on PCI, and elevate PCI's arbitration priority. See fixup_pci() in arch/powerpc/boot/cuboot-pq2.c.

I haven't had a problem with PCI DMA when that is done, though I haven't

done significant stress testing.

Quoted 11 lines

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

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