* Re: PCI DMA memory problem
@ 2003-06-26 12:36 Oliver Amft
0 siblings, 0 replies; 5+ messages in thread
From: Oliver Amft @ 2003-06-26 12:36 UTC (permalink / raw)
To: chris, wd; +Cc: linuxppc-embedded
The problem was a wrong PCI configuration of the 405 with two colliding
PCI target mappings (PTM1 and PTM2).
Oliver
>> To map the data buffers from skb the driver uses pci_map_single().
>> When starting the kernel with SDRAM size configurations other
>> than 32MByte the device is unable to transfer data (currupted
>> data) - descriptor dword read/write-back works (set up with
>> pci_alloc_consistent()). For the kernel start option mem=32MB
>> everything is fine (descriptor + correct data).
>
> My first thought is -- is/are the SDRAM bank(s) configured correctly?
>
> I don't know that it'd necessarily be related, but for the 405GP,
> PPCBoot 1.2.0 doesn't have the PCI bridge setup quite right for all
> PCI devices (eg. 82559 won't work). I have code to fix the bridge
> setup if you need it -- although I'm not even certain they exist in
> the GPR.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* PCI DMA memory problem
@ 2003-06-24 19:01 Oliver Amft
2003-06-24 19:19 ` Chris Zimman
0 siblings, 1 reply; 5+ messages in thread
From: Oliver Amft @ 2003-06-24 19:01 UTC (permalink / raw)
To: linuxppc-embedded
I am implementing a network driver for a DMA device on a custom
405GP/GPr based board. The networking device is attached over PCI bus.
Kernel is currently 2.4.21. BIOS is PPCBoot 1.2.0.
To map the data buffers from skb the driver uses pci_map_single(). When
starting the kernel with SDRAM size configurations other than 32MByte
the device is unable to transfer data (currupted data) - descriptor
dword read/write-back works (set up with pci_alloc_consistent()). For
the kernel start option mem=32MB everything is fine (descriptor +
correct data).
I am wondering if someone has stumbled over this too - any advice
appreciated.
Thanks,
Oliver
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PCI DMA memory problem
2003-06-24 19:01 Oliver Amft
@ 2003-06-24 19:19 ` Chris Zimman
2003-06-24 20:22 ` Wolfgang Denk
2003-06-25 12:48 ` Mark Powell
0 siblings, 2 replies; 5+ messages in thread
From: Chris Zimman @ 2003-06-24 19:19 UTC (permalink / raw)
To: Oliver Amft; +Cc: linuxppc-embedded
On Tue, Jun 24, 2003 at 09:01:21PM +0200, Oliver Amft wrote:
>
> I am implementing a network driver for a DMA device on a custom
> 405GP/GPr based board. The networking device is attached over PCI bus.
> Kernel is currently 2.4.21. BIOS is PPCBoot 1.2.0.
>
> To map the data buffers from skb the driver uses pci_map_single(). When
> starting the kernel with SDRAM size configurations other than 32MByte
> the device is unable to transfer data (currupted data) - descriptor
> dword read/write-back works (set up with pci_alloc_consistent()). For
> the kernel start option mem=32MB everything is fine (descriptor +
> correct data).
My first thought is -- is/are the SDRAM bank(s) configured correctly?
I don't know that it'd necessarily be related, but for the 405GP,
PPCBoot 1.2.0 doesn't have the PCI bridge setup quite right for all
PCI devices (eg. 82559 won't work). I have code to fix the bridge
setup if you need it -- although I'm not even certain they exist in
the GPR.
--Chris
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PCI DMA memory problem
2003-06-24 19:19 ` Chris Zimman
@ 2003-06-24 20:22 ` Wolfgang Denk
2003-06-25 12:48 ` Mark Powell
1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2003-06-24 20:22 UTC (permalink / raw)
To: Chris Zimman; +Cc: Oliver Amft, linuxppc-embedded
In message <20030624191935.GA9845@dingdong.cryptoapps.com> you wrote:
>
> I don't know that it'd necessarily be related, but for the 405GP,
> PPCBoot 1.2.0 doesn't have the PCI bridge setup quite right for all
> PCI devices (eg. 82559 won't work). I have code to fix the bridge
PPCBoot-1.2.0 is more than 8 months old. I recommend updating to
U-Boot (top of CVS).
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de
When properly administered, vacations do not diminish productivity:
for every week you're away and get nothing done, there's another when
your boss is away and you get twice as much done. -- Daniel B. Luten
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PCI DMA memory problem
2003-06-24 19:19 ` Chris Zimman
2003-06-24 20:22 ` Wolfgang Denk
@ 2003-06-25 12:48 ` Mark Powell
1 sibling, 0 replies; 5+ messages in thread
From: Mark Powell @ 2003-06-25 12:48 UTC (permalink / raw)
To: LinuxPPC-Embedded; +Cc: Chris Zimman
We found a problem with memory-memory DMA on 405GP. Some of our h/w runs
a standalone app directly from PPCBoot. We found that DMA didn't work
at all for physical addresses below 16MByte. This applies to the data
transfers and to the scatter/gather lists.
Chris, could you send me your PCI fixes. We tried some PCI cards in a
Walnut with the idea of building a server for native compilation, but
not much worked.
Mark
--
Mark Powell, Senior Software Engineer, Primagraphics Limited
New Cambridge House, Litlington, nr.Royston, Herts, SG8 0SS, UK
Tel. +44 1763 852222, Fax. 853324, http://www.primagraphics.co.uk
----- Original Message -----
From: "Chris Zimman" <chris@cryptoapps.com>
Sent: Tuesday, June 24, 2003 8:19 PM
Subject: Re: PCI DMA memory problem
On Tue, Jun 24, 2003 at 09:01:21PM +0200, Oliver Amft wrote:
>
> I am implementing a network driver for a DMA device on a custom
> 405GP/GPr based board. The networking device is attached over PCI bus.
> Kernel is currently 2.4.21. BIOS is PPCBoot 1.2.0.
>
> To map the data buffers from skb the driver uses pci_map_single().
> When starting the kernel with SDRAM size configurations other
> than 32MByte the device is unable to transfer data (currupted
> data) - descriptor dword read/write-back works (set up with
> pci_alloc_consistent()). For the kernel start option mem=32MB
> everything is fine (descriptor + correct data).
My first thought is -- is/are the SDRAM bank(s) configured correctly?
I don't know that it'd necessarily be related, but for the 405GP,
PPCBoot 1.2.0 doesn't have the PCI bridge setup quite right for all
PCI devices (eg. 82559 won't work). I have code to fix the bridge
setup if you need it -- although I'm not even certain they exist in
the GPR.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-06-26 12:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-26 12:36 PCI DMA memory problem Oliver Amft
-- strict thread matches above, loose matches on Subject: below --
2003-06-24 19:01 Oliver Amft
2003-06-24 19:19 ` Chris Zimman
2003-06-24 20:22 ` Wolfgang Denk
2003-06-25 12:48 ` Mark Powell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).