linux-mips
[Top] [All Lists]

Re: [PATCH 2.6] PCI I/O region starting from zero is valid

To: Vivien Chappelier <vivienc@nerim.net>
Subject: Re: [PATCH 2.6] PCI I/O region starting from zero is valid
From: Ralf Baechle <ralf@linux-mips.org>
Date: Sat, 13 Dec 2003 04:24:59 +0100
Cc: "Ilya A. Volynets-Evenbakh" <ilya@theIlya.com>, jsun@mvista.com, linux-mips@linux-mips.org
In-reply-to: <Pine.LNX.4.21.0312130147150.24966-100000@melkor>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.LNX.4.21.0312130147150.24966-100000@melkor>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.1i
On Sat, Dec 13, 2003 at 01:54:27AM +0100, Vivien Chappelier wrote:

>       PCI devices can have I/O mapped at a region starting from
> 0x0000. The O2 actually has one of its onboard SCSI controller here...
> This code looks like a incorrect copy/paste from the x86 code where this
> I/O range is used by legacy ISA.
> 
> --- arch/mips/pci/pci.c       2003-11-12 16:51:09.000000000 +0100
> +++ arch/mips/pci/pci.c       2003-12-13 00:57:56.000000000 +0100
> @@ -173,10 +173,6 @@
>                       continue;
>  
>               r = &dev->resource[idx];
> -             if (!r->start && r->end) {
> -                     printk(KERN_ERR "PCI: Device %s not available because 
> of resource collisions\n", pci_name(dev));
> -                     return -EINVAL;
> -             }
>               if (r->flags & IORESOURCE_IO)
>                       cmd |= PCI_COMMAND_IO;
>               if (r->flags & IORESOURCE_MEM)
> 

I tend to agree with Vivien.  There's another unsolved problem with
pcibios_enable_device - how many resources should it enable?  Jun once
changed it to PCI_NUM_RESOURCES but that broke other systems though it
seems the logic thing to do ...

The code he wants to remove is just a safety check for PCs.  It doesn't
much sense on legacy-free systems and these days less and less MIPS
systems have legacy devices.

I forgot the details but maybe removing above lines will even permit
putting back the change Jun needed, will need to test.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>