linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* MAP value 01b for ICH6M
@ 2006-10-03 13:42 Jonathan Dieter
  2006-10-09  4:23 ` [PATCH] ata_piix: allow 01b MAP for both ICH6M and ICH7M Tejun Heo
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Dieter @ 2006-10-03 13:42 UTC (permalink / raw)
  To: Tejun Heo, linux-ide; +Cc: Tom Deblauwe

Tejun, I've received an e-mail from Tom Deblauwe about the ata_piix.c 
fix for the ICH7M controllers with MAP value 01b.  It looks like he has 
a ICH6M controller with MAP value 01b.  I'm including the relevant snips 
from his dmesg and lspci.  He has already used my original patch that 
worked against both ICH6M and ICH7M controllers, not the one the made it 
into the 2.6.18 kernel that just worked against the ICH7M controller.  
I've CC'd him, so if you want to communicate directly with him, his 
e-mail is included in the header.

Thanks,
Jonathan

-------- Original Message --------
From: 	Tom Deblauwe <tom.deblauwe "at" telenet "dat" be>
To: 	Jonathan Dieter <jdieter@gmail.com>
Subject: 	Re: Kernel 2.6.18 patch


Here is the log of dmesg and lspci -v:

Linux version 2.6.17.13 (root@majorTom) (gcc version 4.1.2 20060901 
(prerelease) (Debian 4.1.1-13)) #1 SMP PREEMPT Thu Sep 14 14:38:22 CEST 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001f690000 (usable)
BIOS-e820: 000000001f690000 - 000000001f6a2000 (ACPI data)
BIOS-e820: 000000001f6a2000 - 000000001f700000 (ACPI NVS)
BIOS-e820: 000000001f700000 - 0000000020000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0006000 (reserved)
BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved)
BIOS-e820: 00000000fed20000 - 00000000fed90000 (reserved)
BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)

[snip]

SCSI subsystem initialized
libata version 1.20 loaded.
ahci 0000:00:1f.2: version 1.2
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 17 (level, low) -> IRQ 169
ACPI: PCI interrupt for device 0000:00:1f.2 disabled
ahci: probe of 0000:00:1f.2 failed with error -12
ata_piix 0000:00:1f.2: version 1.05
ata_piix 0000:00:1f.2: MAP [ IDE IDE P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 17 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: PATA max UDMA/100 cmd 0x1F0 ctl 0x3F6 bmdma 0x18B0 irq 14
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v3.0
ata1: dev 0 cfg 49:2f00 82:346b 83:7f09 84:6023 85:3c69 86:3d01 87:6003 
88:203f
ata1: dev 0 ATA-7, max UDMA/100, 195371568 sectors: LBA48
ata1: dev 1 cfg 49:0f00 82:421c 83:0000 84:0000 85:0000 86:0000 87:0000 
88:0407
ata1: dev 1 ATAPI, max UDMA/33
ata1: dev 0 configured for UDMA/33
ata1: dev 1 configured for UDMA/33
scsi0 : ata_piix
 Vendor: ATA       Model: SAMSUNG HM100JC   Rev: YN10
 Type:   Direct-Access                      ANSI SCSI revision: 05
 Vendor: HL-DT-ST  Model: DVDRAM GMA-4082N  Rev: HA01
 Type:   CD-ROM                             ANSI SCSI revision: 05
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18B8 irq 15
ata2: SATA port has no device.
scsi1 : ata_piix

[snip]

LSPCI -V:

majortom@majorTom:~$ lspci -v

[snip]

00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 
03) (prog-if 80 [Master])
       Subsystem: Wistron Corp. Unknown device 4042
       Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 169
       I/O ports at <unassigned>
       I/O ports at <unassigned>
       I/O ports at <unassigned>
       I/O ports at <unassigned>
       I/O ports at 18b0 [size=16]
       Capabilities: <access denied>

[snip]


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] ata_piix: allow 01b MAP for both ICH6M and ICH7M
  2006-10-03 13:42 MAP value 01b for ICH6M Jonathan Dieter
@ 2006-10-09  4:23 ` Tejun Heo
  0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2006-10-09  4:23 UTC (permalink / raw)
  To: Jonathan Dieter; +Cc: linux-ide, Tom Deblauwe

ICH7M was separated from ICH6M to allow undocumented MAP value 01b
which was spotted on an ASUS notebook.  However, there is also
notebooks with MAP value 01b on ICH6M.  This patch re-merges ICH6M and
ICH7M entries and allows MAP value 01b for both.

This problem has been reported and initial patch provided by Jonathan
Dieter.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jonathan Dieter <jdieter@gmail.com>
Cc: Tom Deblauwe <tom.deblauwe@telenet.be>
---
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 5719704..e0a329c 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -126,8 +126,7 @@ enum {
 	ich6_sata		= 7,
 	ich6_sata_ahci		= 8,
 	ich6m_sata_ahci		= 9,
-	ich7m_sata_ahci		= 10,
-	ich8_sata_ahci		= 11,
+	ich8_sata_ahci		= 10,
 
 	/* constants for mapping table */
 	P0			= 0,  /* port 0 */
@@ -227,7 +226,7 @@ #endif
 	/* 82801GB/GR/GH (ICH7, identical to ICH6) */
 	{ 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
 	/* 2801GBM/GHM (ICH7M, identical to ICH6M) */
-	{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci },
+	{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci },
 	/* Enterprise Southbridge 2 (where's the datasheet?) */
 	{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci },
 	/* SATA Controller 1 IDE (ICH8, no datasheet yet) */
@@ -399,23 +398,10 @@ static const struct piix_map_db ich6m_ma
 	.mask = 0x3,
 	.port_enable = 0x5,
 	.present_shift = 4,
-	.map = {
-		/* PM   PS   SM   SS       MAP */
-		{  P0,  P2,  RV,  RV }, /* 00b */
-		{  RV,  RV,  RV,  RV },
-		{  P0,  P2, IDE, IDE }, /* 10b */
-		{  RV,  RV,  RV,  RV },
-	},
-};
-
-static const struct piix_map_db ich7m_map_db = {
-	.mask = 0x3,
-	.port_enable = 0x5,
-	.present_shift = 4,
 
 	/* Map 01b isn't specified in the doc but some notebooks use
-	 * it anyway.  ATM, the only case spotted carries subsystem ID
-	 * 1025:0107.  This is the only difference from ich6m.
+	 * it anyway.  MAP 01b have been spotted on both ICH6M and
+	 * ICH7M.
 	 */
 	.map = {
 		/* PM   PS   SM   SS       MAP */
@@ -445,7 +431,6 @@ static const struct piix_map_db *piix_ma
 	[ich6_sata]		= &ich6_map_db,
 	[ich6_sata_ahci]	= &ich6_map_db,
 	[ich6m_sata_ahci]	= &ich6m_map_db,
-	[ich7m_sata_ahci]	= &ich7m_map_db,
 	[ich8_sata_ahci]	= &ich8_map_db,
 };
 
@@ -556,19 +541,7 @@ static struct ata_port_info piix_port_in
 		.port_ops	= &piix_sata_ops,
 	},
 
-	/* ich7m_sata_ahci: 10 */
-	{
-		.sht		= &piix_sht,
-		.flags		= ATA_FLAG_SATA |
-				  PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR |
-				  PIIX_FLAG_AHCI,
-		.pio_mask	= 0x1f,	/* pio0-4 */
-		.mwdma_mask	= 0x07, /* mwdma0-2 */
-		.udma_mask	= 0x7f,	/* udma0-6 */
-		.port_ops	= &piix_sata_ops,
-	},
-
-	/* ich8_sata_ahci: 11 */
+	/* ich8_sata_ahci: 10 */
 	{
 		.sht		= &piix_sht,
 		.flags		= ATA_FLAG_SATA |

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-10-09  4:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-03 13:42 MAP value 01b for ICH6M Jonathan Dieter
2006-10-09  4:23 ` [PATCH] ata_piix: allow 01b MAP for both ICH6M and ICH7M Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).