[kernel] r15866 - in dists/sid/linux-2.6/debian: . config/mips config/mipsel patches/bugfix/mips patches/series

Ben Hutchings benh at alioth.debian.org
Sun Jun 13 22:43:04 UTC 2010


Author: benh
Date: Sun Jun 13 22:43:01 2010
New Revision: 15866

Log:
[mips] Fix boot from ATA hard drives (Closes: #584784):

- Set io_map_base for several PCI bridges lacking it
- Replace per-platform built-in IDE drivers with libata-based drivers
- Enable BLK_DEV_SD as built-in on all platforms

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/config/mips/config.4kc-malta
   dists/sid/linux-2.6/debian/config/mips/config.5kc-malta
   dists/sid/linux-2.6/debian/config/mips/config.sb1a-bcm91480b
   dists/sid/linux-2.6/debian/config/mips/defines
   dists/sid/linux-2.6/debian/config/mipsel/config.r5k-cobalt
   dists/sid/linux-2.6/debian/config/mipsel/defines
   dists/sid/linux-2.6/debian/patches/series/16

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/changelog	Sun Jun 13 22:43:01 2010	(r15866)
@@ -18,6 +18,10 @@
   * [powerpc] Enable pata_amd driver, replacing amd74xx
   * eeepc-laptop: Disable wireless hotplug on more models where the
     controller is not at the expected address (Closes: #576199)
+  * [mips] Fix boot from ATA hard drives (Closes: #584784):
+    - Set io_map_base for several PCI bridges lacking it
+    - Replace per-platform built-in IDE drivers with libata-based drivers
+    - Enable BLK_DEV_SD as built-in on all platforms
 
   [ Aurelien Jarno ]
   * [sh4] fix sh_tmu clocksource following recent nohz changes.

Modified: dists/sid/linux-2.6/debian/config/mips/config.4kc-malta
==============================================================================
--- dists/sid/linux-2.6/debian/config/mips/config.4kc-malta	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mips/config.4kc-malta	Sun Jun 13 22:43:01 2010	(r15866)
@@ -134,12 +134,14 @@
 # CONFIG_SATA_VITESSE is not set
 CONFIG_PATA_CMD64X=y
 CONFIG_ATA_GENERIC=y
+CONFIG_PATA_HPT366=y
 CONFIG_PATA_MPIIX=y
 CONFIG_PATA_OLDPIIX=y
 CONFIG_PATA_NETCELL=y
 CONFIG_PATA_NS87410=y
 CONFIG_PATA_PDC_OLD=y
 CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PLATFORM=y
 CONFIG_PATA_SIL680=y
 
 ##
@@ -359,38 +361,7 @@
 ##
 ## file: drivers/ide/Kconfig
 ##
-CONFIG_IDE=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDETAPE=m
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-CONFIG_BLK_DEV_HPT366=y
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-CONFIG_BLK_DEV_PIIX=y
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE is not set
 
 ##
 ## file: drivers/input/gameport/Kconfig
@@ -869,6 +840,7 @@
 ## file: drivers/scsi/Kconfig
 ##
 CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
 CONFIG_SCSI_DPT_I2O=m
 CONFIG_SCSI_ARCMSR=m
 CONFIG_SCSI_HPTIOP=m

Modified: dists/sid/linux-2.6/debian/config/mips/config.5kc-malta
==============================================================================
--- dists/sid/linux-2.6/debian/config/mips/config.5kc-malta	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mips/config.5kc-malta	Sun Jun 13 22:43:01 2010	(r15866)
@@ -120,12 +120,14 @@
 CONFIG_SATA_INIC162X=m
 CONFIG_PATA_CMD64X=y
 CONFIG_ATA_GENERIC=y
+CONFIG_PATA_HPT366=y
 CONFIG_PATA_MPIIX=y
 CONFIG_PATA_OLDPIIX=y
 CONFIG_PATA_NETCELL=y
 CONFIG_PATA_NS87410=y
 CONFIG_PATA_PDC_OLD=y
 CONFIG_PATA_PDC2027X=y
+CONFIG_PATA_PLATFORM=y
 CONFIG_PATA_SIL680=y
 
 ##
@@ -348,40 +350,7 @@
 ##
 ## file: drivers/ide/Kconfig
 ##
-CONFIG_IDE=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDETAPE=m
-# CONFIG_IDE_TASK_IOCTL is not set
-CONFIG_IDE_PROC_FS=y
-CONFIG_IDE_GENERIC=y
-CONFIG_IDEPCI_PCIBUS_ORDER=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-CONFIG_BLK_DEV_HPT366=y
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-CONFIG_BLK_DEV_PIIX=y
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE is not set
 
 ##
 ## file: drivers/ieee1394/Kconfig
@@ -916,6 +885,7 @@
 ## file: drivers/scsi/Kconfig
 ##
 CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
 CONFIG_SCSI_ARCMSR=m
 CONFIG_SCSI_HPTIOP=m
 CONFIG_SCSI_DMX3191D=m

Modified: dists/sid/linux-2.6/debian/config/mips/config.sb1a-bcm91480b
==============================================================================
--- dists/sid/linux-2.6/debian/config/mips/config.sb1a-bcm91480b	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mips/config.sb1a-bcm91480b	Sun Jun 13 22:43:01 2010	(r15866)
@@ -120,7 +120,7 @@
 ##
 ## file: drivers/ata/Kconfig
 ##
-CONFIG_ATA=m
+CONFIG_ATA=y
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SIL24=m
 CONFIG_SATA_SVW=m
@@ -140,12 +140,14 @@
 CONFIG_PATA_AMD=m
 CONFIG_PATA_CMD64X=m
 CONFIG_PATA_CS5530=m
+CONFIG_PATA_CYPRESS=y
 CONFIG_PATA_EFAR=m
 CONFIG_PATA_TRIFLEX=m
 CONFIG_PATA_MPIIX=m
 CONFIG_PATA_OLDPIIX=m
 CONFIG_PATA_NS87415=m
 CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_PLATFORM=y
 CONFIG_PATA_SC1200=m
 CONFIG_PATA_SERVERWORKS=m
 CONFIG_PATA_PDC2027X=m
@@ -288,36 +290,7 @@
 ##
 ## file: drivers/ide/Kconfig
 ##
-CONFIG_IDE=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-CONFIG_BLK_DEV_IDECD=m
-CONFIG_BLK_DEV_IDETAPE=m
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-CONFIG_BLK_DEV_CY82C693=m
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-CONFIG_BLK_DEV_HPT366=m
-# CONFIG_BLK_DEV_SC1200 is not set
-CONFIG_BLK_DEV_PIIX=m
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-CONFIG_BLK_DEV_TRM290=m
-# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE is not set
 
 ##
 ## file: drivers/infiniband/Kconfig
@@ -566,6 +539,8 @@
 ##
 ## file: drivers/scsi/Kconfig
 ##
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
 # CONFIG_SCSI_MULTI_LUN is not set
 # CONFIG_SCSI_CONSTANTS is not set
 # CONFIG_SCSI_LOGGING is not set

Modified: dists/sid/linux-2.6/debian/config/mips/defines
==============================================================================
--- dists/sid/linux-2.6/debian/config/mips/defines	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mips/defines	Sun Jun 13 22:43:01 2010	(r15866)
@@ -1,3 +1,13 @@
+[abi]
+ignore-changes:
+# disabled; assume there are no OOT IDE modules
+ __ide_*
+ do_rw_taskfile
+ generic_ide_ioctl
+ ide_*
+ ledtrig_ide_activity
+ sff_dma_ops
+
 [base]
 flavours:
  r4k-ip22

Modified: dists/sid/linux-2.6/debian/config/mipsel/config.r5k-cobalt
==============================================================================
--- dists/sid/linux-2.6/debian/config/mipsel/config.r5k-cobalt	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mipsel/config.r5k-cobalt	Sun Jun 13 22:43:01 2010	(r15866)
@@ -89,6 +89,13 @@
 # CONFIG_TOSHIBA_RBTX4938 is not set
 
 ##
+## file: drivers/ata/Kconfig
+##
+CONFIG_ATA=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_VIA=y
+
+##
 ## file: drivers/base/Kconfig
 ##
 # CONFIG_STANDALONE is not set
@@ -163,36 +170,7 @@
 ##
 ## file: drivers/ide/Kconfig
 ##
-CONFIG_IDE=y
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_IDE_GD=y
-CONFIG_IDE_GD_ATA=y
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_PIIX is not set
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-CONFIG_BLK_DEV_VIA82CXXX=y
+# CONFIG_IDE is not set
 
 ##
 ## file: drivers/infiniband/Kconfig
@@ -590,6 +568,8 @@
 ##
 ## file: drivers/scsi/Kconfig
 ##
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
 # CONFIG_SCSI_MULTI_LUN is not set
 # CONFIG_SCSI_CONSTANTS is not set
 # CONFIG_SCSI_LOGGING is not set

Modified: dists/sid/linux-2.6/debian/config/mipsel/defines
==============================================================================
--- dists/sid/linux-2.6/debian/config/mipsel/defines	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/config/mipsel/defines	Sun Jun 13 22:43:01 2010	(r15866)
@@ -1,3 +1,13 @@
+[abi]
+ignore-changes:
+# disabled; assume there are no OOT IDE modules
+ __ide_*
+ do_rw_taskfile
+ generic_ide_ioctl
+ ide_*
+ ledtrig_ide_activity
+ sff_dma_ops
+
 [base]
 flavours:
  r5k-cobalt

Added: dists/sid/linux-2.6/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch	Sun Jun 13 22:43:01 2010	(r15866)
@@ -0,0 +1,85 @@
+From 4e6385d53a2ab58c327d286ebc4f8771562cd728 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 13 Jun 2010 21:23:29 +0100
+Subject: [PATCH] mips: Set io_map_base for several PCI bridges lacking it
+
+Several MIPS platforms don't set pci_controller::io_map_base for their
+PCI bridges.  This results in a panic in pci_iomap().  (The panic is
+conditional on CONFIG_PCI_DOMAINS, but that is now enabled for all PCI
+MIPS systems.)
+
+I have tested the change to Malta in qemu; the other platforms not at
+all.
+---
+ arch/mips/mti-malta/malta-pci.c      |    2 ++
+ arch/mips/nxp/pnx8550/common/pci.c   |    1 +
+ arch/mips/nxp/pnx8550/common/setup.c |    2 +-
+ arch/mips/pci/ops-pmcmsp.c           |    1 +
+ arch/mips/pci/pci-yosemite.c         |    1 +
+ 5 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/arch/mips/mti-malta/malta-pci.c b/arch/mips/mti-malta/malta-pci.c
+index 2fbfa1a..bf80921 100644
+--- a/arch/mips/mti-malta/malta-pci.c
++++ b/arch/mips/mti-malta/malta-pci.c
+@@ -247,6 +247,8 @@ void __init mips_pcibios_init(void)
+ 	iomem_resource.end &= 0xfffffffffULL;			/* 64 GB */
+ 	ioport_resource.end = controller->io_resource->end;
+ 
++	controller->io_map_base = mips_io_port_base;
++
+ 	register_pci_controller(controller);
+ }
+ 
+diff --git a/arch/mips/nxp/pnx8550/common/pci.c b/arch/mips/nxp/pnx8550/common/pci.c
+index eee4f3d..98e86dd 100644
+--- a/arch/mips/nxp/pnx8550/common/pci.c
++++ b/arch/mips/nxp/pnx8550/common/pci.c
+@@ -44,6 +44,7 @@ extern struct pci_ops pnx8550_pci_ops;
+ 
+ static struct pci_controller pnx8550_controller = {
+ 	.pci_ops	= &pnx8550_pci_ops,
++	.io_map_base	= PNX8550_PORT_BASE,
+ 	.io_resource	= &pci_io_resource,
+ 	.mem_resource	= &pci_mem_resource,
+ };
+diff --git a/arch/mips/nxp/pnx8550/common/setup.c b/arch/mips/nxp/pnx8550/common/setup.c
+index 2aed50f..64246c9 100644
+--- a/arch/mips/nxp/pnx8550/common/setup.c
++++ b/arch/mips/nxp/pnx8550/common/setup.c
+@@ -113,7 +113,7 @@ void __init plat_mem_setup(void)
+ 	PNX8550_GLB2_ENAB_INTA_O = 0;
+ 
+ 	/* IO/MEM resources. */
+-	set_io_port_base(KSEG1);
++	set_io_port_base(PNX8550_PORT_BASE);
+ 	ioport_resource.start = 0;
+ 	ioport_resource.end = ~0;
+ 	iomem_resource.start = 0;
+diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c
+index 32548b5..421e1a0 100644
+--- a/arch/mips/pci/ops-pmcmsp.c
++++ b/arch/mips/pci/ops-pmcmsp.c
+@@ -944,6 +944,7 @@ static struct pci_controller msp_pci_controller = {
+ 	.pci_ops	= &msp_pci_ops,
+ 	.mem_resource	= &pci_mem_resource,
+ 	.mem_offset	= 0,
++	.io_map_base	= MSP_PCI_IOSPACE_BASE,
+ 	.io_resource	= &pci_io_resource,
+ 	.io_offset	= 0
+ };
+diff --git a/arch/mips/pci/pci-yosemite.c b/arch/mips/pci/pci-yosemite.c
+index 0357946..cf5e1a2 100644
+--- a/arch/mips/pci/pci-yosemite.c
++++ b/arch/mips/pci/pci-yosemite.c
+@@ -54,6 +54,7 @@ static int __init pmc_yosemite_setup(void)
+ 		panic(ioremap_failed);
+ 
+ 	set_io_port_base(io_v_base);
++	py_controller.io_map_base = io_v_base;
+ 	TITAN_WRITE(RM9000x2_OCD_LKM7, TITAN_READ(RM9000x2_OCD_LKM7) | 1);
+ 
+ 	ioport_resource.end = TITAN_IO_SIZE - 1;
+-- 
+1.7.1
+

Modified: dists/sid/linux-2.6/debian/patches/series/16
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/16	Sun Jun 13 19:29:59 2010	(r15865)
+++ dists/sid/linux-2.6/debian/patches/series/16	Sun Jun 13 22:43:01 2010	(r15866)
@@ -135,3 +135,4 @@
 + features/arm/ts219-mpp36.patch
 + features/arm/ts219-mpp44.patch
 + features/arm/hp-t5325.patch
++ bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch



More information about the Kernel-svn-changes mailing list