kernel-ark/drivers
Tejun Heo ff0fc1467f [PATCH] ata_piix: fix MAP VALUE interpretation for for ICH6/7
Unlike their older siblings, ICH6 and 7 use different scheme for MAP
VALUE.  This patch makes ata_piix interpret MV properly on ICH6/7.

Pre-ICH6/7

 The value of these bits indicate the address range the SATA port
 responds to, and whether or not the SATA and IDE functions are
 combined.

 000 = Non-combined. P0 is primary master. P1 is secondary master.
 001 = Non-combined. P0 is secondary master. P1 is primary master.
 100 = Combined. P0 is primary master. P1 is primary slave. P-ATA is
       2:0 Map Value secondary.
 101 = Combined. P0 is primary slave. P1 is primary master. P-ATA is
       secondary.
 110 = Combined. P-ATA is primary. P0 is secondary master. P1 is
       secondary slave.
 111 = Combined. P-ATA is primary. P0 is secondary slave. P1 is
       secondary master.

ICH6/7

 Map Value - R/W. Map Value (MV): The value in the bits below indicate
the address range the SATA ports responds to, and whether or not the
PATA and SATA functions are combined. When in combined mode, the AHCI
memory space is not available and AHCI may not be used.

 00 = Non-combined. P0 is primary master, P2 is the primary slave. P1
      is secondary master, P3 is the 1:0 secondary slave (desktop
      only). P0 is primary master, P2 is the primary slave (mobile
      only).
 01 = Combined. IDE is primary. P1 is secondary master, P3 is the
      secondary slave. (desktop only)
 10 = Combined. P0 is primary master. P2 is primary slave. IDE is secondary
 11 = Reserved

Signed-off-by: Tejun Heo <htejun@gmail.com>

--

Jeff, without this patch, ata_piix misdetects my ICH7's combined mode,
ending up not applying bridge limits to PX-710SA and configuring IDE
drive on 40-c cable to UDMA/66.

Thanks.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2006-01-26 21:56:07 -05:00
..
acorn [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
acpi [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
amba
atm [ATM]: Remove unneeded kmalloc() return value casts + tiny whitespace cleanup 2006-01-10 13:09:01 -08:00
base [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
block [PATCH] Fix drivers/block/ps2esdi.c compile 2006-01-16 20:24:45 -08:00
bluetooth [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
cdrom [PATCH] powerpc: remove bitfields from HvLpEvent 2006-01-12 20:09:29 +11:00
char [PATCH] Remove unused code from rioctrl.c (Last for this batch of work) 2006-01-16 23:31:29 -08:00
connector [PATCH] Switch getnstimestamp() calls to ktime_get_ts() 2006-01-10 08:01:39 -08:00
cpufreq [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
crypto [CRYPTO] Allow AES C/ASM implementations to coexist 2006-01-09 14:15:39 -08:00
dio [PATCH] Add dio_bus_type probe and remove methods 2006-01-13 11:26:07 -08:00
eisa
fc4
firmware [PATCH] dell_rbu: fix Bug 5854 2006-01-14 18:27:13 -08:00
hwmon [PATCH] drivers/*rest*: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:23 -08:00
i2c [PATCH] Add i2c_bus_type probe and remove methods 2006-01-13 11:26:07 -08:00
ide [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
ieee1394 Actually remove amdtp.[ch], cmp.[ch]. 2006-01-16 19:21:57 -05:00
infiniband [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
input [PATCH] sh: consolidate hp620/hp680/hp690 targets into hp6xx 2006-01-16 23:15:27 -08:00
isdn [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
macintosh Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-01-14 10:42:40 -08:00
mca
md [PATCH] md: Clear clevel whenever level is set. 2006-01-16 23:15:32 -08:00
media [PATCH] Fix compile warning in bt8xx module 2006-01-16 23:24:10 -08:00
message [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
mfd [PATCH] Add MCP bus_type probe and remove methods 2006-01-13 11:26:08 -08:00
misc Input: ibmasm - fix input initialization error path 2006-01-10 02:00:39 -05:00
mmc Merge master.kernel.org:/home/rmk/linux-2.6-mmc 2006-01-14 19:44:01 -08:00
mtd [PATCH] build kernel/intermodule.c only when required 2006-01-16 23:15:26 -08:00
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-01-17 19:46:46 -08:00
nubus
oprofile [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parisc [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
parport [PARISC] Fix parport_gsc by selecting PARPORT_NOT_PC 2006-01-10 21:52:25 -05:00
pci [PATCH] Intel ICH8 SATA: add PCI device IDs 2006-01-17 19:31:54 -05:00
pcmcia [PATCH] Add pcmcia_bus_type probe and remove methods 2006-01-13 11:26:08 -08:00
pnp [PATCH] Add pnp_bus_type probe and remove methods 2006-01-13 11:26:09 -08:00
rapidio [PATCH] Add rio_bus_type probe and remove methods 2006-01-13 11:26:10 -08:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-01-15 16:43:29 -08:00
sbus [PATCH] remove unused tmp_buf_sem's 2006-01-14 10:41:42 -08:00
scsi [PATCH] ata_piix: fix MAP VALUE interpretation for for ICH6/7 2006-01-26 21:56:07 -05:00
serial Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-01-14 19:44:39 -08:00
sh [PATCH] Add superhyway_bus_type probe and remove methods 2006-01-13 11:26:09 -08:00
sn [PATCH] Altix: ioc3 serial support 2006-01-14 18:25:20 -08:00
spi [PATCH] SPI: add spi_butterfly driver 2006-01-13 16:29:56 -08:00
tc
telephony
usb [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
video [SPARC]: Fix sbusfb build. 2006-01-17 15:53:11 -08:00
w1 spelling: s/usefull/useful/ 2006-01-10 00:08:17 +01:00
zorro [PATCH] Add zorro_bus_type probe and remove methods 2006-01-13 11:26:10 -08:00
Kconfig [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00
Makefile [PATCH] spi: simple SPI framework 2006-01-13 16:29:54 -08:00