Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git]
/
kernel
/
drivers
/
acpi
/
pci_irq.c
diff --git
a/kernel/drivers/acpi/pci_irq.c
b/kernel/drivers/acpi/pci_irq.c
index
b1def41
..
c933675
100644
(file)
--- a/
kernel/drivers/acpi/pci_irq.c
+++ b/
kernel/drivers/acpi/pci_irq.c
@@
-19,10
+19,6
@@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
@@
-44,7
+40,6
@@
ACPI_MODULE_NAME("pci_irq");
struct acpi_prt_entry {
ACPI_MODULE_NAME("pci_irq");
struct acpi_prt_entry {
- struct list_head list;
struct acpi_pci_id id;
u8 pin;
acpi_handle link;
struct acpi_pci_id id;
u8 pin;
acpi_handle link;
@@
-163,7
+158,7
@@
static int acpi_pci_irq_check_entry(acpi_handle handle, struct pci_dev *dev,
{
int segment = pci_domain_nr(dev->bus);
int bus = dev->bus->number;
{
int segment = pci_domain_nr(dev->bus);
int bus = dev->bus->number;
- int device = PCI_SLOT(dev->devfn);
+ int device =
pci_ari_enabled(dev->bus) ? 0 :
PCI_SLOT(dev->devfn);
struct acpi_prt_entry *entry;
if (((prt->address >> 16) & 0xffff) != device ||
struct acpi_prt_entry *entry;
if (((prt->address >> 16) & 0xffff) != device ||
@@
-377,6
+372,7
@@
static int acpi_isa_register_gsi(struct pci_dev *dev)
/* Interrupt Line values above 0xF are forbidden */
if (dev->irq > 0 && (dev->irq <= 0xF) &&
/* Interrupt Line values above 0xF are forbidden */
if (dev->irq > 0 && (dev->irq <= 0xF) &&
+ acpi_isa_irq_available(dev->irq) &&
(acpi_isa_irq_to_gsi(dev->irq, &dev_gsi) == 0)) {
dev_warn(&dev->dev, "PCI INT %c: no GSI - using ISA IRQ %d\n",
pin_name(dev->pin), dev->irq);
(acpi_isa_irq_to_gsi(dev->irq, &dev_gsi) == 0)) {
dev_warn(&dev->dev, "PCI INT %c: no GSI - using ISA IRQ %d\n",
pin_name(dev->pin), dev->irq);
@@
-413,7
+409,7
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
return 0;
}
return 0;
}
- if (
dev->irq_managed && dev->irq > 0
)
+ if (
pci_has_managed_irq(dev)
)
return 0;
entry = acpi_pci_irq_lookup(dev, pin);
return 0;
entry = acpi_pci_irq_lookup(dev, pin);
@@
-458,8
+454,7
@@
int acpi_pci_irq_enable(struct pci_dev *dev)
kfree(entry);
return rc;
}
kfree(entry);
return rc;
}
- dev->irq = rc;
- dev->irq_managed = 1;
+ pci_set_managed_irq(dev, rc);
if (link)
snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
if (link)
snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
@@
-482,16
+477,8
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
u8 pin;
pin = dev->pin;
u8 pin;
pin = dev->pin;
- if (!pin || !dev->irq_managed || dev->irq <= 0)
- return;
-
- /* Keep IOAPIC pin configuration when suspending */
- if (dev->dev.power.is_prepared)
+ if (!pin || !pci_has_managed_irq(dev))
return;
return;
-#ifdef CONFIG_PM
- if (dev->dev.power.runtime_status == RPM_SUSPENDING)
- return;
-#endif
entry = acpi_pci_irq_lookup(dev, pin);
if (!entry)
entry = acpi_pci_irq_lookup(dev, pin);
if (!entry)
@@
-512,6
+499,6
@@
void acpi_pci_irq_disable(struct pci_dev *dev)
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
if (gsi >= 0) {
acpi_unregister_gsi(gsi);
dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
if (gsi >= 0) {
acpi_unregister_gsi(gsi);
-
dev->irq_managed = 0
;
+
pci_reset_managed_irq(dev)
;
}
}
}
}