> >> # insmod eata.o io_port=0x1400
> > ^^^^^^
> > Where are you getting this value from? I'm sure it is wrong... Have
> > a look at the boot messages of your kernel, and also send along the
> > output of 'lspci -vv'.
>
> I'm getting this addresse from lspci and from previous tries with
> modprobe eata.o (which gives exactly the same results as insmod BTW)
> Here is the lspci -vv output regarding this card :
>
> 00:0f.0 SCSI storage controller: Distributed Processing Technology
> SmartCache/Raid I-IV Controller (rev 02)
> Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV+ VGASnoop-
> ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (1000ns min, 2000ns max), cache line size 08
> Interrupt: pin A routed to IRQ 25
> BIST result: 00
> Region 0: I/O ports at 1400 [disabled] [size=32]
> Expansion ROM at 80908000 [disabled] [size=32K]
>
> >> # tail /var/log/syslog Jun 4 13:52:38 brocoli kernel: IN from bad
> >> port 1408 at d005392c
> >
> > This message means you are trying to read from an address where no
> > device is listening. Either the IO port (0x1408) is wrong, or the
> > device isn't configured to reply to IO accesses on the PCI bus.
>
> Why could the device not be configured to reply to IO accesses on the
> PCI bus ?
Because no one enabled it?
Apparently the eata driver doesn't call pci_enable_device().
No, I think it does it, as I can see from the source, but does it does it
at the good time ? :
---
static void add_pci_ports(void) {
#if defined(CONFIG_PCI)
unsigned int addr, k;
struct pci_dev *dev = NULL;
if (!pci_present()) return;
for (k = 0; k < MAX_PCI; k++) {
if (!(dev = pci_find_class(PCI_CLASS_STORAGE_SCSI << 8, dev)))
break;
if (pci_enable_device (dev)) {
#if defined(DEBUG_PCI_DETECT)
printk("%s: detect, bus %d, devfn 0x%x, pci_enable_device
failed.\n",
driver_name, dev->bus->number, dev->devfn);
#endif
continue;
}
addr = pci_resource_start (dev, 0);
---
The driver code is working very fine with the same card on i386 box...
What are the differences regarding PCI bus between i386 and ppc ?
BTW, what doean mean the 'disabled' in the lspci output, just not enabled
? Should the call to pci_enable_device() change this status ? :
> Region 0: I/O ports at 1400 [disabled] [size=32]
> Expansion ROM at 80908000 [disabled] [size=32K]
Also, the syslog extract :
> >> # tail /var/log/syslog Jun 4 13:52:38 brocoli kernel: IN from bad
> >> port 1408 at d005392c
is apparantly comming from arch/ppc/kernel/traps.c When could this trap
be reached ?
Antoine.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]