Files
android_kernel_xiaomi_sm8450/include/linux
Benjamin Herrenschmidt b718989da7 PCI: Add pci_enable_device_{io,mem} intefaces
The pci_enable_device_bars() interface isn't well suited to PCI
because you can't actually enable/disable BARs individually on
a device. So for example, if a device has 2 memory BARs 0 and 1,
and one of them (let's say 1) has not been successfully allocated
by the firmware or the kernel, then enabling memory decoding
shouldn't be permitted for the entire device since it will decode
whatever random address is still in that BAR 1.

So a device must be either fully enabled for IO, for Memory, or
for both. Not on a per-BAR basis.

This provides two new functions, pci_enable_device_io() and
pci_enable_device_mem() to replace pci_enable_device_bars(). The
implementation internally builds a BAR mask in order to be able
to use existing arch infrastructure.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-02-01 15:04:27 -08:00
..
2008-01-28 14:54:13 -08:00
2006-09-26 17:40:24 -04:00
2007-10-14 20:17:39 -07:00
2007-10-17 08:43:03 -07:00
2007-12-26 19:36:35 -08:00
2006-12-04 02:00:22 -05:00
2005-04-16 15:20:36 -07:00
2007-09-11 04:22:16 -07:00
2007-10-18 14:37:20 -07:00
2005-04-16 15:20:36 -07:00
2007-10-10 16:51:59 -07:00
2008-01-23 05:24:15 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2008-01-28 15:00:14 -08:00
2005-04-16 15:20:36 -07:00
2006-12-02 21:22:55 -08:00
2005-04-16 15:20:36 -07:00
2007-02-20 17:10:15 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-10-17 08:42:45 -07:00
2005-04-16 15:20:36 -07:00
2005-10-04 13:22:01 -07:00
2007-10-17 08:43:07 -07:00
2007-10-18 14:37:29 -07:00
2007-10-19 11:53:42 -07:00
2007-10-19 11:53:42 -07:00
2006-12-08 08:28:39 -08:00
2008-02-01 11:34:49 +01:00
2008-01-29 21:55:15 +01:00
2006-12-07 08:39:20 -08:00
2005-04-16 15:20:36 -07:00
2007-07-31 10:43:05 -05:00
2008-01-28 14:54:10 -08:00
2005-04-16 15:20:36 -07:00
2007-01-30 08:26:45 -08:00
2005-04-16 15:20:36 -07:00
2008-01-23 05:24:14 -05:00
2007-10-19 11:53:36 -07:00
2007-10-19 11:53:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2008-01-30 13:31:48 +01:00
2008-01-28 23:21:18 +01:00
2008-01-28 23:21:18 +01:00
2008-01-28 23:21:18 +01:00
2007-12-06 17:40:19 -05:00
2005-04-16 15:20:36 -07:00
2007-07-10 17:18:59 -07:00
2007-10-17 08:42:52 -07:00
2008-01-25 21:08:02 +01:00
2007-11-19 21:43:22 -05:00
2008-01-30 13:31:10 +01:00
2005-04-16 15:20:36 -07:00
2007-07-17 10:23:04 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-05-10 18:24:13 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-10-16 09:43:09 -07:00
2007-10-21 02:37:45 -04:00
2007-10-19 11:53:36 -07:00
2007-12-20 17:32:12 +00:00
2005-04-16 15:20:36 -07:00
2007-05-08 11:15:26 -07:00
2007-07-09 08:22:54 +01:00
2005-05-15 18:31:07 -04:00
2007-10-20 02:00:58 +01:00
2007-10-18 14:37:21 -07:00
2007-02-09 17:39:36 -05:00
2008-01-23 21:23:13 -05:00
2007-02-11 11:18:07 -08:00
2007-07-19 10:04:54 -07:00
2007-10-22 08:13:19 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-10-22 08:13:20 -07:00
2008-01-30 13:31:56 +01:00
2007-10-17 08:42:51 -07:00
2008-01-28 23:21:18 +01:00
2007-06-01 08:18:29 -07:00
2007-10-29 07:41:32 -07:00
2007-10-22 08:13:21 -07:00
2007-10-17 08:43:02 -07:00
2007-05-09 08:57:56 +02:00
2007-10-17 08:42:48 -07:00
2006-03-31 12:18:54 -08:00
2005-04-16 15:20:36 -07:00
2007-10-17 08:43:01 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 12:08:43 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2008-01-28 23:58:27 -05:00
2007-07-18 18:29:37 -04:00
2007-11-29 09:24:54 -08:00
2006-10-02 07:57:12 -07:00
2007-07-10 00:35:17 -04:00
2008-01-25 21:08:33 +01:00
2005-04-16 15:20:36 -07:00
2007-04-28 11:01:07 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2008-01-28 14:51:22 +01:00
2007-07-19 10:04:41 -07:00
2007-03-16 00:59:29 -04:00
2008-01-30 13:30:27 +01:00
2008-01-27 18:14:50 +01:00
2006-12-10 21:21:29 +01:00
2008-01-27 18:14:52 +01:00
2007-10-16 11:21:00 +02:00
2007-10-22 00:56:52 -04:00
2007-07-16 09:05:34 -07:00
2007-10-10 16:51:59 -07:00
2005-04-16 15:20:36 -07:00
2008-01-28 15:08:27 -08:00
2007-10-17 08:42:52 -07:00
2008-01-28 15:07:58 -08:00
2005-04-16 15:20:36 -07:00
2005-05-05 14:25:59 -07:00
2007-07-14 18:55:06 -07:00
2005-04-16 15:20:36 -07:00
2007-10-10 16:52:04 -07:00
2005-04-16 15:20:36 -07:00
2008-01-28 15:07:57 -08:00
2008-01-28 14:55:09 -08:00
2005-04-16 15:20:36 -07:00
2008-01-28 14:55:09 -08:00
2005-04-16 15:20:36 -07:00
2006-09-28 18:02:29 -07:00
2007-12-05 05:37:32 -08:00
2005-04-16 15:20:36 -07:00
2008-01-31 19:26:46 -08:00
2007-07-16 09:05:50 -07:00
2006-12-02 21:21:21 -08:00
2006-12-07 08:39:47 -08:00
2007-10-18 14:37:32 -07:00
2006-10-04 00:31:09 -07:00
2008-01-31 19:28:20 -08:00
2006-11-30 05:24:39 +01:00
2008-01-28 23:58:27 -05:00
2007-07-11 15:03:53 +01:00
2007-04-25 22:25:52 -07:00
2007-11-05 15:12:32 -08:00
2007-10-17 08:42:52 -07:00
2007-11-29 09:24:52 -08:00
2007-10-19 11:53:49 -07:00
2008-01-08 16:10:35 -08:00
2007-07-18 08:47:40 -07:00
2008-01-24 20:40:05 -08:00
2007-05-09 12:30:53 -07:00
2005-04-16 15:20:36 -07:00
2008-01-25 21:08:34 +01:00
2007-12-07 09:06:53 +00:00
2007-10-25 15:02:50 +10:00
2007-10-25 15:02:50 +10:00
2007-07-17 10:23:03 -07:00
2008-01-30 13:33:13 +01:00
2007-07-17 10:23:13 -07:00
2005-04-16 15:20:36 -07:00
2006-07-31 15:44:29 -04:00
2007-07-24 12:24:59 -07:00
2005-04-16 15:20:36 -07:00
2007-07-16 09:05:34 -07:00
2006-06-05 12:29:17 -07:00
2007-07-18 08:47:45 -07:00
2007-10-19 11:53:55 -07:00
2005-10-28 08:16:47 -07:00
2005-04-16 15:20:36 -07:00
2007-05-09 12:30:49 -07:00
2007-10-10 16:54:03 -07:00
2007-05-03 10:52:22 +03:00
2005-04-16 15:20:36 -07:00
2007-10-23 15:49:54 +10:00
2005-04-16 15:20:36 -07:00
2008-01-28 23:21:18 +01:00
2006-11-30 04:40:22 +01:00
2007-07-16 09:05:42 -07:00
2007-10-19 11:53:44 -07:00
2007-01-23 00:34:54 -05:00
2007-12-06 17:37:59 -05:00
2006-03-23 07:38:14 -08:00
2007-07-16 09:05:51 -07:00
2008-01-28 14:56:29 -08:00
2008-01-28 14:54:18 -08:00
2005-04-16 15:20:36 -07:00
2007-05-09 12:30:54 -07:00
2006-03-20 13:44:40 -05:00
2008-01-30 02:06:08 -05:00
2007-10-17 08:42:58 -07:00
2006-08-27 11:01:32 -07:00
2007-05-04 17:59:07 -07:00
2007-10-16 09:43:02 -07:00
2007-12-06 17:35:41 -05:00
2005-04-16 15:20:36 -07:00
2007-05-08 11:15:05 -07:00
2007-05-05 14:15:32 -07:00
2007-10-17 08:42:44 -07:00
2008-01-30 23:27:58 +01:00
2005-04-16 15:20:36 -07:00
2007-10-19 11:53:41 -07:00
2007-10-19 11:53:41 -07:00
2008-01-31 19:28:36 -08:00
2007-04-17 16:36:26 -07:00
2007-12-27 23:55:13 -05:00
2007-07-26 11:35:21 -07:00
2006-10-03 23:01:26 +02:00
2005-04-16 15:20:36 -07:00
2007-07-16 09:05:50 -07:00
2007-10-19 11:53:41 -07:00
2008-01-28 15:01:36 -08:00
2007-10-17 08:42:45 -07:00
2008-01-30 13:30:53 +01:00
2007-10-17 08:42:56 -07:00
2005-04-16 15:20:36 -07:00
2007-10-16 09:42:53 -07:00
2005-04-16 15:20:36 -07:00
2008-01-25 21:08:24 +01:00
2008-01-25 21:08:24 +01:00
2008-01-25 21:08:24 +01:00
2008-01-25 21:08:24 +01:00
2007-07-18 08:47:40 -07:00
2008-01-30 13:31:47 +01:00
2007-10-22 08:13:20 -07:00
2006-06-25 10:01:06 -07:00
2007-07-21 18:37:10 -07:00
2008-01-31 19:26:46 -08:00
2005-11-07 07:53:46 -08:00
2007-05-17 05:23:06 -07:00
2005-04-16 15:20:36 -07:00
2006-06-25 10:01:14 -07:00
2007-11-29 09:24:54 -08:00
2007-07-16 09:05:50 -07:00
2005-04-16 15:20:36 -07:00
2007-10-16 09:43:17 -07:00
2007-10-19 11:53:44 -07:00
2007-11-29 09:24:53 -08:00
2007-10-19 11:53:44 -07:00
2007-07-22 11:03:37 -07:00
2007-10-17 08:43:01 -07:00
2008-01-02 13:04:48 -08:00
2008-01-02 13:04:48 -08:00
2008-01-02 13:04:48 -08:00
2007-02-20 17:10:14 -08:00
2005-04-16 15:20:36 -07:00
2007-05-21 21:47:27 -07:00
2005-04-16 15:20:36 -07:00
2008-01-25 21:08:33 +01:00
2008-01-31 19:28:30 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-07-16 09:05:46 -07:00
2005-04-16 15:20:36 -07:00
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
2008-01-25 21:08:34 +01:00
2007-05-08 11:15:18 -07:00
2005-04-16 15:20:36 -07:00
2007-05-09 12:30:57 -07:00
2008-01-31 22:05:48 +01:00
2007-02-20 17:10:13 -08:00
2007-05-11 08:29:34 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-11-30 05:32:19 +01:00
2007-10-17 08:42:53 -07:00
2007-05-11 08:29:36 -07:00
2007-11-26 20:42:19 +01:00
2006-03-31 12:18:56 -08:00
2006-12-02 21:21:08 -08:00
2006-09-28 17:53:59 -07:00
2007-05-11 08:29:35 -07:00
2007-05-11 08:29:35 -07:00
2008-01-24 20:40:26 -08:00
2005-04-16 15:20:36 -07:00
2006-12-15 08:47:51 -08:00
2007-12-17 10:47:15 -08:00
2007-09-19 11:24:18 -07:00
2005-04-16 15:20:36 -07:00
2006-10-01 00:39:19 -07:00
2005-04-16 15:20:36 -07:00
2007-12-26 19:36:35 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-10-23 13:47:31 -05:00
2007-10-23 15:49:54 +10:00
2007-10-23 15:49:54 +10:00
2007-10-23 15:49:55 +10:00
2007-10-23 15:49:54 +10:00
2007-10-23 15:49:54 +10:00
2007-07-17 10:22:59 -07:00
2007-10-17 08:42:56 -07:00
2007-10-19 11:53:34 -07:00
2007-12-06 17:40:14 -05:00
2008-01-28 14:58:25 -08:00
2007-02-11 11:18:05 -08:00