I can say much about the IRQ probe failure, but I do have an issue
with the scanning of drives. Pete is correct that the MAX_HWIFS
definition determines the number of ide interfaces, and ide code
will scan for drives on all of them, even if most interfaces are
not present. In my case I know that I have only one hw interface
and was able to set this to one (1). That way no time is wasted
in scanning non-existent interfaces. Saves a few 10s of milliseconds
at boot time :-) It won't 'fix' the IRQ probe failure you are
seeing, but you'll certainly avoid it.
Still, I can't explain why the scanning of non-existent hwifs was
ever done this way. I wonder if this was rectified when the IDE
subsystem was refactored in the 2.5 kernel. I know this new IDE
code was back ported to 2.4.21 also. Let's hope things are a done
a little bit better in this new code.
> -----Original Message-----
> From: email@example.com
> [mailto:firstname.lastname@example.org] On Behalf Of Pete Popov
> Sent: Sunday, March 30, 2003 1:35 PM
> To: Hartvig Ekner
> Cc: linux-mips
> Subject: Re: IDE initialization on AU1500?
> Hi Hartvig,
> I added the mailing list to the CC because someone else might
> have a better answer.
> On Sun, 2003-03-30 at 10:55, Hartvig Ekner wrote:
> > Hi Pete,
> > I upgraded to the latest 2.4, and all the end_irq warnings
> which were
> > there a few weeks back are gone.
> Yep, I got rid of the debug print :). I had put that print in
> irq.c a long time ago, and it never caused any problems. But
> back then, the irq probing routines were null in MIPS, so we
> never saw the print.
> > Now it looks like this:
> > Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
> > ide: Assuming 33MHz system bus speed for PIO modes; override with
> > idebus=xx
> > PDC20268: IDE controller at PCI slot 00:0d.0
> > PDC20268: chipset revision 2
> > PDC20268: not 100% native mode: will probe irqs later
> > PDC20268: ROM enabled at 0x000dc000
> > ide0: BM-DMA at 0x0520-0x0527, BIOS settings: hda:pio, hdb:pio
> > ide1: BM-DMA at 0x0528-0x052f, BIOS settings: hdc:pio, hdd:pio
> > hdc: IBM-DTLA-307030, ATA DISK drive
> > blk: queue 802f7a58, I/O limit 4095Mb (mask 0xffffffff)
> > hdg: IRQ probe failed (0xfffbfffe)
> > hdg: IRQ probe failed (0xfffbbffe)
> > hdi: probing with STATUS(0x24) instead of ALTSTATUS(0x00)
> > hdi: IRQ probe failed (0xfffbfffe)
> > hdi: IRQ probe failed (0xfffbbffe)
> > hdk: probing with STATUS(0x24) instead of ALTSTATUS(0x00)
> > ide1 at 0x510-0x517,0x51a on irq 1
> > hdc: host protected area => 1
> > hdc: 60036480 sectors (30739 MB) w/1916KiB Cache,
> CHS=59560/16/63, UDMA(100)
> > Partition check:
> > hdc: hdc1 hdc2 hdc3 hdc4
> > Are the "IRQ probe failed" and "probing with ..." messages expected
> > and ok?
> Well, since the ide subsystem is probing all the drives, and
> there are no drives to be found, I would have to say that the
> failures are to be expected.
> > Is there something platform
> > specific which tells the IDE driver to look for 11 drives
> (hda-hdk) or
> > what is
> > going on here?
> include/asm-mips/ide.h defines MAX_HWIFS 10, if not already defined.
> > As you can probably tell, I don't have any specific knowledge about
> > how the IDE initialization works and how it interacts with the
> > platform specific code (if at all), but I would somehow
> imagine that
> > unless the IDE drivers detect an IDE controller (as done
> above: ide0,
> > ide1) no probing should be performed for drives outside the
> > range of the detected IDE controllers (hda-hdd in this case).
> That's a good point. I don't know what's going on, which is
> why I added the mailing list to the CC. Something seems not
> quite right.