[parisc-linux] ASP Parallel port driver broken on HP9000/730
Richard Hirst
rhirst@linuxcare.com
Wed, 14 Feb 2001 16:49:25 +0000
I can reproduce this on a 715/75. When it crashes I get:
ASP version 1 at 0xf0800000 found.
LED (ASP-style) display at f0800020 registered
Found HIL at 0xf0821000, IRQ 94
HIL: keyboard found at id 3
parport_init_chip: initialize bidirectional-mode.
Dumping Stack from c5ff0000 to c5ff0980:
IAOQ = _gsc_readb + 0x0c
r2 = parport_PS2_supported + 0x64
r26 = 0xf0824800
r26 corresponds to
Scorpio Sr. Core Centronics (10) at 0xf0824000, versions 0x19, 0x0, 0x74, 0x0, 0x0
>From drivers/parport/parport_gsc.c:
port = ((unsigned long) d->hpa) + PARPORT_GSC_OFFSET;
/*
some older machines with ASP-chip don't support the enhanced parport modes
*/
if (!pdc_add_valid( (void *)(port+4))) {
/* Initialize bidirectional-mode (0x10) & data-tranfer-mode #1 (0x20) */
printk("%s: initialize bidirectional-mode.\n", __FUNCTION__);
parport_writeb ( (0x10 + 0x20), port + 4);
} else {
printk("%s: enhanced parport-modes not supported.\n", __FUNCTION__);
}
So, I guess it shouldn't have tried to initialise bidirectional-mode
on my old 715/75 with ASP. If I force that 'if' to fail, then on reboot
I get:
ASP version 1 at 0xf0800000 found.
LED (ASP-style) display at f0800020 registered
Found HIL at 0xf0821000, IRQ 94
HIL: keyboard found at id 3
parport_init_chip: enhanced parport-modes not supported.
parport0: PC-style at 0xf0824800, irq 88 [PCSPP]
Found i82596 at 0xf0826000, IRQ 87
And the machine boots ok. I added debug just to check, (port+4) is
0xf0824804. So is pdc_add_valid() broken, or is that not the right
address to be testing?
Oh, and a simple 'ls / > /dev/lp0' worked too.
Richard