SOURCES (LINUX_2_6): linux-2.6-sata-promise-pata-ports.patch - 2.6...

mguevara mguevara at pld-linux.org
Fri Dec 8 22:42:39 CET 2006


Author: mguevara                     Date: Fri Dec  8 21:42:39 2006 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- 2.6.19 ready 
- needs testing for 2057x boards (probably it needs the same .flags change 
  as 2037x)
- there is another one, alternative patch at 
  http://groups-beta.google.com/group/linux.kernel/browse_thread/thread/bef7b392491412a0/5af277d22bdb5ac2 

---- Files affected:
SOURCES:
   linux-2.6-sata-promise-pata-ports.patch (1.1.2.2 -> 1.1.2.3) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-sata-promise-pata-ports.patch
diff -u SOURCES/linux-2.6-sata-promise-pata-ports.patch:1.1.2.2 SOURCES/linux-2.6-sata-promise-pata-ports.patch:1.1.2.3
--- SOURCES/linux-2.6-sata-promise-pata-ports.patch:1.1.2.2	Wed Sep 20 17:48:34 2006
+++ SOURCES/linux-2.6-sata-promise-pata-ports.patch	Fri Dec  8 22:42:34 2006
@@ -1,27 +1,33 @@
-diff -urN linux-2.6.17.1/drivers/scsi/libata-core.c mod/drivers/scsi/libata-core.c
---- linux-2.6.17.1/drivers/scsi/libata-core.c	2006-06-20 11:31:55.000000000 +0200
-+++ mod/drivers/scsi/libata-core.c	2006-06-21 16:38:05.000000000 +0200
-@@ -4453,6 +4453,7 @@
- 	ap->mwdma_mask = ent->mwdma_mask;
- 	ap->udma_mask = ent->udma_mask;
- 	ap->flags |= ent->host_flags;
-+	ap->flags |= ent->port_flags[port_no];	/* pata fix */
- 	ap->ops = ent->port_ops;
+--- linux-2.6.19/drivers/ata/libata-core.c.orig1	2006-12-08 17:11:58.000000000 +0100
++++ linux-2.6.19/drivers/ata/libata-core.c	2006-12-08 17:31:12.000000000 +0100
+@@ -5298,13 +5298,13 @@ void ata_port_init(struct ata_port *ap, 
+ 		ap->pio_mask = ent->pinfo2->pio_mask;
+ 		ap->mwdma_mask = ent->pinfo2->mwdma_mask;
+ 		ap->udma_mask = ent->pinfo2->udma_mask;
+-		ap->flags |= ent->pinfo2->flags;
++		ap->flags |= ent->pinfo2->flags | ent->_port_flags[port_no]; 
+ 		ap->ops = ent->pinfo2->port_ops;
+ 	} else {
+ 		ap->pio_mask = ent->pio_mask;
+ 		ap->mwdma_mask = ent->mwdma_mask;
+ 		ap->udma_mask = ent->udma_mask;
+-		ap->flags |= ent->port_flags;
++		ap->flags |= ent->port_flags | ent->_port_flags[port_no]; 
+ 		ap->ops = ent->port_ops;
+ 	}
  	ap->hw_sata_spd_limit = UINT_MAX;
- 	ap->active_tag = ATA_TAG_POISON;
-diff -urN linux-2.6.17.1/drivers/scsi/sata_promise.c mod/drivers/scsi/sata_promise.c
---- linux-2.6.17.1/drivers/scsi/sata_promise.c	2006-06-20 11:31:55.000000000 +0200
-+++ mod/drivers/scsi/sata_promise.c	2006-06-21 16:40:53.000000000 +0200
-@@ -171,7 +171,7 @@
+--- linux-2.6.19/drivers/ata/sata_promise.c.orig1	2006-12-08 16:58:49.000000000 +0100
++++ linux-2.6.19/drivers/ata/sata_promise.c	2006-12-08 17:03:55.000000000 +0100
+@@ -175,7 +175,7 @@ static const struct ata_port_info pdc_po
  	/* board_2037x */
  	{
  		.sht		= &pdc_ata_sht,
--		.host_flags	= PDC_COMMON_FLAGS | ATA_FLAG_SATA,
-+		.host_flags	= PDC_COMMON_FLAGS /* | ATA_FLAG_SATA */,	/* pata fix */
+-		.flags		= PDC_COMMON_FLAGS | ATA_FLAG_SATA,
++		.flags		= PDC_COMMON_FLAGS /* | ATA_FLAG_SATA */,	/* pata fix */
  		.pio_mask	= 0x1f, /* pio0-4 */
  		.mwdma_mask	= 0x07, /* mwdma0-2 */
  		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
-@@ -359,8 +359,16 @@
+@@ -354,8 +354,16 @@ static void pdc_reset_port(struct ata_po
  
  static void pdc_sata_phy_reset(struct ata_port *ap)
  {
@@ -40,7 +46,7 @@
  }
  
  static void pdc_pata_cbl_detect(struct ata_port *ap)
-@@ -672,6 +691,7 @@
+@@ -679,6 +687,7 @@ static int pdc_ata_init_one (struct pci_
  	unsigned int board_idx = (unsigned int) ent->driver_data;
  	int pci_dev_busy = 0;
  	int rc;
@@ -48,7 +54,7 @@
  
  	if (!printed_version++)
  		dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
-@@ -740,6 +760,9 @@
+@@ -743,6 +752,9 @@ static int pdc_ata_init_one (struct pci_
  	probe_ent->port[0].scr_addr = base + 0x400;
  	probe_ent->port[1].scr_addr = base + 0x500;
  
@@ -58,7 +64,7 @@
  	/* notice 4-port boards */
  	switch (board_idx) {
  	case board_40518:
-@@ -754,13 +777,28 @@
+@@ -757,13 +769,28 @@ static int pdc_ata_init_one (struct pci_
  
  		probe_ent->port[2].scr_addr = base + 0x600;
  		probe_ent->port[3].scr_addr = base + 0x700;
@@ -88,7 +94,7 @@
  		break;
  	case board_20771:
  		probe_ent->n_ports = 2;
-@@ -773,6 +811,9 @@
+@@ -776,6 +803,9 @@ static int pdc_ata_init_one (struct pci_
  
  		probe_ent->port[2].scr_addr = base + 0x600;
  		probe_ent->port[3].scr_addr = base + 0x700;
@@ -98,14 +104,3 @@
  		break;
  	default:
  		BUG();
-diff -urN linux-2.6.17.1/include/linux/libata.h mod/include/linux/libata.h
---- linux-2.6.17.1/include/linux/libata.h	2006-06-20 11:31:55.000000000 +0200
-+++ mod/include/linux/libata.h	2006-06-21 16:38:05.000000000 +0200
-@@ -281,6 +281,7 @@
- 	unsigned long		irq;
- 	unsigned int		irq_flags;
- 	unsigned long		host_flags;
-+	unsigned long		port_flags[ATA_MAX_PORTS];	/* pata fix */
- 	unsigned long		host_set_flags;
- 	void __iomem		*mmio_base;
- 	void			*private_data;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/linux-2.6-sata-promise-pata-ports.patch?r1=1.1.2.2&r2=1.1.2.3&f=u



More information about the pld-cvs-commit mailing list