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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux