android_kernel_xiaomi_sm8350/drivers
Alan Cox 15e0c69436 [PATCH] ide: fix Jmicron support
Prior to 2.6.18rc1 you could install with devices on a JMicron chipset
using the "all-generic-ide" option. As of this kernel the AHCI driver
grabs the controller and rams it into AHCI mode losing the PATA ports
and making CD drives and the like vanish. The all-generic-ide option
fails because the AHCI driver grabbed the PCI device and reconfigured
it.

To fix this three things are needed.

#1 We must put the chip into dual function mode
#2 The AHCI driver must grab only function 0 (already in your rc1 tree)
#3 Something must grab the PATA ports

The attached patch is the minimal risk edition of this. It puts the chip
into dual function mode so that AHCI will grab the SATA ports without
losing the PATA ports. To keep the risk as low as possible the third
patch adds the PCI identifiers for the PATA port and the FN check to the
ide-generic driver. There is a more featured jmicron driver on its way
but that adds risk and the ide-generic support is sufficient to install
and run a system.

The actual chip setup done by the quirk is the precise setup recommended
by the vendor.

(The JMB368 appears only in the ide-generic entry as it has no AHCI so
does not need the quirk)

Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-12 12:59:35 -07:00
..
acorn
acpi Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2006-07-10 15:14:38 -07:00
amba
atm [ATM]: Typo in drivers/atm/Kconfig... 2006-07-08 13:30:09 -07:00
base [PATCH] don't select CONFIG_HOTPLUG 2006-07-10 13:24:12 -07:00
block [PATCH] aoe: cleanup i_rdev usage 2006-07-10 13:24:25 -07:00
bluetooth [PATCH] release_firmware() fixes 2006-07-10 13:24:15 -07:00
cdrom [PATCH] cdrom: fix bad cgc.buflen assignment 2006-07-10 13:24:15 -07:00
char [PATCH] lockdep: HPET/RTC fix 2006-07-12 12:52:55 -07:00
clocksource
connector
cpufreq [PATCH] Fix cpufreq vs hotplug lockdep recursion. 2006-07-07 09:46:45 -07:00
crypto
dio
dma [IOAT]: fix kernel-doc in source files 2006-07-03 19:45:31 -07:00
edac [PATCH] Fix and enable EDAC sysfs operation 2006-07-10 13:24:25 -07:00
eisa
fc4
firmware
hwmon
i2c
ide [PATCH] ide: fix Jmicron support 2006-07-12 12:59:35 -07:00
ieee1394 [PATCH] lockdep: annotate ieee1394 skb-queue-head locking 2006-07-03 15:27:08 -07:00
infiniband [PATCH] mthca: initialize send and receive queue locks separately 2006-07-04 10:24:57 -07:00
input [PATCH] lockdep: annotate serio 2006-07-03 15:27:07 -07:00
isdn [PATCH] isdn: cleanup i_rdev udage 2006-07-10 13:24:27 -07:00
leds [PATCH] LED Class support for Soekris net48xx 2006-07-10 13:24:26 -07:00
macintosh [PATCH] powermac: Combined fixes for backlight code 2006-07-10 13:24:20 -07:00
mca
md [PATCH] md: fix oops in error-handling 2006-07-10 13:24:17 -07:00
media [PATCH] release_firmware() fixes 2006-07-10 13:24:15 -07:00
message [PATCH] proper prototype for drivers/message/i2o/device.c:i2o_parm_issue() 2006-07-10 13:24:26 -07:00
mfd
misc
mmc [PATCH] lockdep: annotate on-stack completions, mmc 2006-07-03 15:27:10 -07:00
mtd Merge git://git.infradead.org/mtd-2.6 2006-07-03 21:29:08 -07:00
net [BPQ] lockdep: fix false positive 2006-07-10 14:50:33 -07:00
nubus
oprofile
parisc
parport
pci [PATCH] ide: fix Jmicron support 2006-07-12 12:59:35 -07:00
pcmcia [PATCH] don't select CONFIG_HOTPLUG 2006-07-10 13:24:12 -07:00
pnp
rapidio
rtc
s390 [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
sbus
scsi [PATCH] FDPIC: Move roundup() into linux/kernel.h 2006-07-10 13:24:22 -07:00
serial [ARM] 3710/1: AT91 Serial: Use GPIO API 2006-07-05 14:31:13 +01:00
sh
sn
spi [PATCH] lockdep: annotate on-stack completions 2006-07-03 15:27:09 -07:00
tc
telephony
usb [PATCH] usb-storage: wait for URB to complete 2006-07-10 13:24:21 -07:00
video [PATCH] powermac: Combined fixes for backlight code 2006-07-10 13:24:20 -07:00
w1
zorro
Kconfig
Makefile