linux-mips
[Top] [All Lists]

RE: [PATCH] Alchemy: fix PCI resource conflict (take 2)

To: linux-mips mailing list <linux-mips@linux-mips.org>
Subject: RE: [PATCH] Alchemy: fix PCI resource conflict (take 2)
From: Nathan Eggan <nathan_eggan@live.com>
Date: Mon, 10 Dec 2007 17:43:09 +0000
Importance: Normal
In-reply-to: <200712102028.51448.sshtylyov@ru.mvista.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200712102028.51448.sshtylyov@ru.mvista.com>
Sender: linux-mips-bounce@linux-mips.org

Any chance this will help fix my Au1x00 serial + USB issues?  I know the old 
PCI bus code used to not work with the USB - at least the two could not run 
together.  It's been a while since I looked at those issues, so that may have 
been resolved long ago.

Just curious,
Thanks!
Nate

----------------------------------------
> From: sshtylyov@ru.mvista.com
> To: ralf@linux-mips.org
> Subject: [PATCH] Alchemy: fix PCI resource conflict (take 2)
> Date: Mon, 10 Dec 2007 20:28:51 +0300
> CC: linux-mips@linux-mips.org
> 
> ... by getting the PCI resources back into the 32-bit range -- there's no need
> therefore for CONFIG_RESOURCES_64BIT either. This makes Alchemy PCI work again
> while currently the kernel skips the bus scan.
> 
> Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
> 
> ---
>  arch/mips/au1000/Kconfig              |    9 ---------
>  arch/mips/au1000/common/pci.c         |    8 ++++----
>  include/asm-mips/mach-au1x00/au1000.h |    9 +++++----
>  3 files changed, 9 insertions(+), 17 deletions(-)
> 
> Index: linux-2.6/arch/mips/au1000/Kconfig
> ===================================================================
> --- linux-2.6.orig/arch/mips/au1000/Kconfig
> +++ linux-2.6/arch/mips/au1000/Kconfig
> @@ -7,7 +7,6 @@ config MIPS_MTX1
>       bool "4G Systems MTX-1 board"
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
> -     select RESOURCES_64BIT if PCI
>       select SOC_AU1500
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
> @@ -22,7 +21,6 @@ config MIPS_DB1000
>       select SOC_AU1000
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
>  config MIPS_DB1100
> @@ -44,7 +42,6 @@ config MIPS_DB1500
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
>       select MIPS_DISABLE_OBSOLETE_IDE
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_BIG_ENDIAN
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
> @@ -54,7 +51,6 @@ config MIPS_DB1550
>       select HW_HAS_PCI
>       select DMA_NONCOHERENT
>       select MIPS_DISABLE_OBSOLETE_IDE
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
>  config MIPS_MIRAGE
> @@ -68,7 +64,6 @@ config MIPS_PB1000
>       select SOC_AU1000
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
> -     select RESOURCES_64BIT if PCI
>       select SWAP_IO_SPACE
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
> @@ -77,7 +72,6 @@ config MIPS_PB1100
>       select SOC_AU1100
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
> -     select RESOURCES_64BIT if PCI
>       select SWAP_IO_SPACE
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
> @@ -86,7 +80,6 @@ config MIPS_PB1200
>       select SOC_AU1200
>       select DMA_NONCOHERENT
>       select MIPS_DISABLE_OBSOLETE_IDE
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
>  config MIPS_PB1500
> @@ -94,7 +87,6 @@ config MIPS_PB1500
>       select SOC_AU1500
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
>  config MIPS_PB1550
> @@ -103,7 +95,6 @@ config MIPS_PB1550
>       select DMA_NONCOHERENT
>       select HW_HAS_PCI
>       select MIPS_DISABLE_OBSOLETE_IDE
> -     select RESOURCES_64BIT if PCI
>       select SYS_SUPPORTS_LITTLE_ENDIAN
>  
>  config MIPS_XXS1500
> Index: linux-2.6/arch/mips/au1000/common/pci.c
> ===================================================================
> --- linux-2.6.orig/arch/mips/au1000/common/pci.c
> +++ linux-2.6/arch/mips/au1000/common/pci.c
> @@ -39,15 +39,15 @@
>  
>  /* TBD */
>  static struct resource pci_io_resource = {
> -     .start  = (resource_size_t)PCI_IO_START,
> -     .end    = (resource_size_t)PCI_IO_END,
> +     .start  = PCI_IO_START,
> +     .end    = PCI_IO_END,
>       .name   = "PCI IO space",
>       .flags  = IORESOURCE_IO
>  };
>  
>  static struct resource pci_mem_resource = {
> -     .start  = (resource_size_t)PCI_MEM_START,
> -     .end    = (resource_size_t)PCI_MEM_END,
> +     .start  = PCI_MEM_START,
> +     .end    = PCI_MEM_END,
>       .name   = "PCI memory space",
>       .flags  = IORESOURCE_MEM
>  };
> Index: linux-2.6/include/asm-mips/mach-au1x00/au1000.h
> ===================================================================
> --- linux-2.6.orig/include/asm-mips/mach-au1x00/au1000.h
> +++ linux-2.6/include/asm-mips/mach-au1x00/au1000.h
> @@ -1680,10 +1680,11 @@ enum soc_au1200_ints {
>  #define Au1500_PCI_MEM_START      0x440000000ULL
>  #define Au1500_PCI_MEM_END        0x44FFFFFFFULL
>  
> -#define PCI_IO_START    (Au1500_PCI_IO_START + 0x1000)
> -#define PCI_IO_END      (Au1500_PCI_IO_END)
> -#define PCI_MEM_START   (Au1500_PCI_MEM_START)
> -#define PCI_MEM_END     (Au1500_PCI_MEM_END)
> +#define PCI_IO_START 0x00001000
> +#define PCI_IO_END   0x000FFFFF
> +#define PCI_MEM_START        0x40000000
> +#define PCI_MEM_END  0x4FFFFFFF
> +
>  #define PCI_FIRST_DEVFN (0<<3)
>  #define PCI_LAST_DEVFN  (19<<3)
>  
> 
> 

_________________________________________________________________
Connect and share in new ways with Windows Live.
http://www.windowslive.com/connect.html?ocid=TXT_TAGLM_Wave2_newways_112007
<Prev in Thread] Current Thread [Next in Thread>