linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PCI Enumeration problem during hotswap
@ 2003-07-11 17:42 Nikunj A. Dadhania
  2003-07-11 18:20 ` Scott Murray
  0 siblings, 1 reply; 2+ messages in thread
From: Nikunj A. Dadhania @ 2003-07-11 17:42 UTC (permalink / raw)
  To: linux-hotplug

Hello,

I have been trying to run Hotswap on 2.4.18 on one of the CPCI boards. I
have back ported the 2.4.19 hotswap patch to 2.4.18 kernel. Also written
the necessary driver for the hotswap code. 

This board is a x86 board with Serverworks(GCSL) chipsets

Observations:

* Allocating resources(PCI MEM and IO bars) to the PCI devices in the
correct PCI memory range. 

Below three are related to the Hostbridge to forward PCI memory
transaction to the bus beyond.
* Programmed correct Memory hole registers on Host Bridge
* Programmed correct Memory Region 0 upper and lower register in Host
bridge
* Enabled Memory Region 0 in PMRR register


* Programmed the South Bridge to route the interrupts correctly to CPU

* E1000 device on the CPCI is being detected and the driver picks up
correct MAC address from the ROM. It also detects the link up/down
* E1000's command registers are fine

* E1000 is not able to transmit packets on the line. Get an error
"NETDEV WATCHDOG: transmit timed out" and then resets the device.

* Close observation revealed that the driver is receiving some packets
from the line, all of them are erroneous and so dropped and never
delivered to upper layer.

* Tried connecting PCI analyser on the CPCI bus and could see the memory
transaction on the bus.

Could someone help with this:

The problem is I am not able to ping using E1000. 

Same E1000 device works if the CPCI board is not hotswapped and BIOS is
doing the PCI enumeration.

Am I missing something very obvious?

If required I can send the dumps of lspci.

TIA
nikunj




-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PCI Enumeration problem during hotswap
  2003-07-11 17:42 PCI Enumeration problem during hotswap Nikunj A. Dadhania
@ 2003-07-11 18:20 ` Scott Murray
  0 siblings, 0 replies; 2+ messages in thread
From: Scott Murray @ 2003-07-11 18:20 UTC (permalink / raw)
  To: linux-hotplug

On 11 Jul 2003, Nikunj A. Dadhania wrote:

> Hello,
> 
> I have been trying to run Hotswap on 2.4.18 on one of the CPCI boards. I
> have back ported the 2.4.19 hotswap patch to 2.4.18 kernel. Also written
> the necessary driver for the hotswap code. 
> 
> This board is a x86 board with Serverworks(GCSL) chipsets

Any chance I could get a copy of the board specific driver for potential 
inclusion in 2.5 (and my standalone 2.4 patchset)?

> Observations:
> 
> * Allocating resources(PCI MEM and IO bars) to the PCI devices in the
> correct PCI memory range. 
> 
> Below three are related to the Hostbridge to forward PCI memory
> transaction to the bus beyond.
> * Programmed correct Memory hole registers on Host Bridge
> * Programmed correct Memory Region 0 upper and lower register in Host
> bridge
> * Enabled Memory Region 0 in PMRR register
> 
> * Programmed the South Bridge to route the interrupts correctly to CPU

I'm interested in how you obtained the documentation to know how to do 
this, since I'm just starting the process of talking to Serverworks 
myself.  Did Serverworks provide it to you, and if so, did it take much
effort to get it?

> * E1000 device on the CPCI is being detected and the driver picks up
> correct MAC address from the ROM. It also detects the link up/down
> * E1000's command registers are fine
> 
> * E1000 is not able to transmit packets on the line. Get an error
> "NETDEV WATCHDOG: transmit timed out" and then resets the device.
> 
> * Close observation revealed that the driver is receiving some packets
> from the line, all of them are erroneous and so dropped and never
> delivered to upper layer.
> 
> * Tried connecting PCI analyser on the CPCI bus and could see the memory
> transaction on the bus.
> 
> Could someone help with this:
> 
> The problem is I am not able to ping using E1000. 
> 
> Same E1000 device works if the CPCI board is not hotswapped and BIOS is
> doing the PCI enumeration.
> 
> Am I missing something very obvious?

Is the e1000 chip being assigned an interrupt?  It kind of looks like the 
GC-SL chipset has an integrated IO-APIC, and interrupt assignment will
not work on systems with an IO-APIC without some changes to the file 
arch/i386/kernel/pci-irq.c (that I can provide if necessary).  The other 
potential problem if it has an IO-APIC is that the MP table the BIOS 
writes out likely does not have entries for slots that do not have 
peripheral cards in them at boot time, with the end result that hot-insert 
into an originally empty slot does not work (but hot-replace works).  I 
don't have a clean fix for this problem at the moment, unfortunately; my 
workaround for the Motorola XIP68 board involves hacking the MP table 
parser.

> If required I can send the dumps of lspci.

The output of "lspci -tv" as well as "lspci -vvv" before and after 
inserting the e1000 peripheral board would be helpful, as would the 
output of dmesg after inserting your peripheral board after loading the 
cpci_hotplug_core.o module with debug=1.  One of the other debugging 
techniques that I've found helpful is to modify pci-i386.h in
arch/i386/kernel to #define DEBUG, which enables some more debugging 
output in a bunch of the core PCI routines.

As a final note, this discussion is probably better suited to the 
pcihpd-discuss@lists.sourceforge.net mailing list, which I'm CC'ing.  The 
regular hotplug folk would probably appreciate being pruned out of future 
discussion.

Scott


-- 
Scott Murray
SOMA Networks, Inc.
Toronto, Ontario
e-mail: scottm@somanetworks.com





-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-07-11 18:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-11 17:42 PCI Enumeration problem during hotswap Nikunj A. Dadhania
2003-07-11 18:20 ` Scott Murray

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).