android_kernel_xiaomi_sdm845/drivers
Eric W. Biederman 1ce03373a7 [PATCH] genirq: msi: make the msi code irq based and not vector based
The msi currently allocates irqs backwards.  First it allocates a platform
dependent routing value for an interrupt the ``vector'' and then it figures
out from the vector which irq you are on.

For ia64 this is fine.  For x86 and x86_64 this is complete nonsense and makes
an enourmous mess of the irq handling code and prevents some pretty
significant cleanups in the code for handling large numbers of irqs.

This patch refactors msi.c to work in terms of irqs and create_irq/destroy_irq
for dynamically managing irqs.

Hopefully this is finally a version of msi.c that is useful on more than just
x86 derivatives.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Rajesh Shah <rajesh.shah@intel.com>
Cc: Andi Kleen <ak@muc.de>
Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:28 -07:00
..
acorn fix file specification in comments 2006-10-03 23:01:26 +02:00
acpi fix drivers/acpi/Kconfig typos 2006-10-03 22:24:43 +02:00
amba [PATCH] 64bit resource: fix up printks for resources in misc drivers 2006-06-27 09:23:59 -07:00
ata [PATCH] pata_hpt366: fix typo 2006-10-03 08:04:06 -07:00
atm [ATM] he: Fix __init/__devinit conflict 2006-09-24 20:09:33 -07:00
base [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_SPARSE 2006-10-01 00:39:18 -07:00
block [PATCH] pktcdvd: rename a variable for better readability 2006-10-04 07:55:14 -07:00
bluetooth [Bluetooth] Code cleanup for the HCI UART driver 2006-09-28 18:01:30 -07:00
cdrom fix file specification in comments 2006-10-03 23:01:26 +02:00
char [PATCH] Char: serial167, remove useless tty check 2006-10-04 07:55:13 -07:00
clocksource [PATCH] scx200_hrt: fix precedence bug manifesting as 27x clock in 1 MHz mode 2006-10-04 07:55:14 -07:00
connector [PATCH] Process Events: Fix biarch compatibility issue. use __u64 timestamp 2006-07-31 13:28:36 -07:00
cpufreq [CPUFREQ] Fix cut-n-paste bug in suspend printk 2006-09-26 23:02:34 -04:00
crypto [CRYPTO] padlock: Convert padlock-sha to use crypto_hash 2006-09-21 11:46:22 +10:00
dio
dma [I/OAT]: Remove pci_module_init() from Intel I/OAT DMA engine 2006-07-21 14:50:13 -07:00
edac [PATCH] drivers/edac/edac_mc.h must #include <linux/platform_device.h> 2006-08-06 08:57:46 -07:00
eisa [PATCH] EISA bus MODALIAS attributes support 2006-09-27 08:26:19 -07:00
fc4 [PATCH] Remove ->rq_status from struct request 2006-09-30 20:29:23 +02:00
firmware fix file specification in comments 2006-10-03 23:01:26 +02:00
hwmon [PATCH] hdaps: support Lenovo ThinkPad T60 2006-10-01 00:39:24 -07:00
i2c fix file specification in comments 2006-10-03 23:01:26 +02:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-10-03 16:35:11 -07:00
ieee1394 Fix several typos in drivers/ 2006-10-03 22:31:37 +02:00
infiniband Still more typo fixes 2006-10-03 22:36:44 +02:00
input more misc typo fixes 2006-10-03 22:34:14 +02:00
isdn [PATCH] hisax niccy cleanup 2006-10-04 07:55:15 -07:00
leds kerneldoc-typo in led-class.c 2006-10-03 23:31:30 +02:00
macintosh fix file specification in comments 2006-10-03 23:01:26 +02:00
mca
md BUG_ON cleanup for drivers/md/ 2006-10-03 23:33:23 +02:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-10-03 16:35:11 -07:00
message [PATCH] i2o: Switch to pci_get API 2006-10-01 00:39:23 -07:00
mfd [PATCH] ucb1x00-ts: handle errors from input_register_device() 2006-09-29 09:18:10 -07:00
misc [PATCH] mmc: driver for TI FlashMedia card reader - Kconfig/Makefile 2006-10-04 07:55:14 -07:00
mmc [PATCH] mmc: properly use the new multi block-write error handling 2006-10-04 07:55:15 -07:00
mtd fix file specification in comments 2006-10-03 23:01:26 +02:00
net BUG_ON cleanup in drivers/net/tokenring/ 2006-10-03 23:34:11 +02:00
nubus Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
oprofile [PATCH] inode-diet: Eliminate i_blksize from the inode structure 2006-09-27 08:26:18 -07:00
parisc fix file specification in comments 2006-10-03 23:01:26 +02:00
parport parport: Remove space in function calls 2006-10-03 23:25:14 +02:00
pci [PATCH] genirq: msi: make the msi code irq based and not vector based 2006-10-04 07:55:28 -07:00
pcmcia pccard_store_cis: fix wrong error handling 2006-10-01 13:17:44 -07:00
pnp Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-10-03 08:52:26 -07:00
rapidio Fix several typos in drivers/ 2006-10-03 22:31:37 +02:00
rtc fix file specification in comments 2006-10-03 23:01:26 +02:00
s390 [PATCH] replace cad_pid by a struct pid 2006-10-02 07:57:25 -07:00
sbus remove mentionings of devfs in documentation 2006-10-03 22:17:48 +02:00
scsi fix file specification in comments 2006-10-03 23:01:26 +02:00
serial fix file specification in comments 2006-10-03 23:01:26 +02:00
sh
sn [PATCH] irq-flags: misc drivers: Use the new IRQF_ constants 2006-07-02 13:58:50 -07:00
spi [PATCH] lockdep: annotate on-stack completions 2006-07-03 15:27:09 -07:00
tc [PATCH] const struct tty_operations 2006-10-02 07:57:14 -07:00
telephony Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6 2006-06-29 14:19:21 -07:00
usb fix file specification in comments 2006-10-03 23:01:26 +02:00
video [PATCH] fbdev: riva warning fix 2006-10-04 07:55:24 -07:00
w1 Fix several typos in drivers/ 2006-10-03 22:31:37 +02:00
zorro Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00
Makefile Move libata to drivers/ata. 2006-08-10 07:31:37 -04:00