[parisc-linux] ASP Parallel port driver broken on HP9000/730

Richard Hirst rhirst@linuxcare.com
Thu, 15 Feb 2001 09:54:54 +0000


On Thu, Feb 15, 2001 at 01:01:35AM +0100, Helge Deller wrote:
> I'm still sure, that this is the correct address to test, but maybe we should 
> just disable the initialisation of bidirectional mode for machines which
> - have an ASP chip, or
> - have their parport-chip at address 0xf0824800 (which is the only region 
> where the ASP has it's parport), or
> - on machines, where "parisc_get_cpu_type(cpu_data[0]) < pcxt_"  (from 
> hardware.h and processor.h) [but I'm not sure if pcxt_ is correct. You'll 
> need to verify]

That parisc_get_cpu_type() bit isn't quite right, how about:

diff -u -r1.7 parport_gsc.c
--- parport_gsc.c       2001/01/25 00:01:32     1.7
+++ parport_gsc.c       2001/02/15 09:42:08
@@ -482,7 +482,7 @@
        /* 
            some older machines with ASP-chip don't support the enhanced parport modes 
        */
-       if (!pdc_add_valid( (void *)(port+4))) {
+       if (boot_cpu_data.cpu_type > pcxt && !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);


Works on my 715/75, where boot_cpu_data.cpu_type = 2 = pcxt.

Richard