mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Linux 4.9-rc4
-----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJYHmoCAAoJEHm+PkMAQRiG7RMIAI2i7Y5hpL5yCxK5AFaL4u/G KxXfp1B1UanUTgjOmd7zGqtDYcFX9t7GTTUFixQ7/9Opr4PD9qbnatoDGSc3xjbT msDgA1B78F1/Q3kHWfeGq32MihQ4mj5NwUCo+igUcUvvWG7mHgzErj/Nh5RoobQX p/izdpTbrw3GX6xXB8olbG7XWHaVye/+TT3q6+gmgm8I/QEujcLeGoycE0zlhPN8 FG/JX76At/+ZM2Py7Oxo3k+oKL9CHrtOQYDp/wN0uslV5eYvvkZz0/M1HMOGZt+c gZU5jzM17K7C4Nzo06WAuBU9wUBGc25m+cPicLlOmljnzfU+f50SKaDjZq3p7QI= =2KUF -----END PGP SIGNATURE----- Merge tag 'v4.9-rc4' into sound Bring in -rc4 patches so I can successfully merge the sound doc changes.
This commit is contained in:
commit
917fef6f7e
993 changed files with 11207 additions and 6734 deletions
|
|
@ -1418,30 +1418,33 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
|
|||
* Message mode could be enforced. In this case assume that advantage
|
||||
* of multipe MSIs is negated and use single MSI mode instead.
|
||||
*/
|
||||
nvec = pci_alloc_irq_vectors(pdev, n_ports, INT_MAX,
|
||||
PCI_IRQ_MSIX | PCI_IRQ_MSI);
|
||||
if (nvec > 0) {
|
||||
if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
|
||||
hpriv->get_irq_vector = ahci_get_irq_vector;
|
||||
hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
|
||||
return nvec;
|
||||
if (n_ports > 1) {
|
||||
nvec = pci_alloc_irq_vectors(pdev, n_ports, INT_MAX,
|
||||
PCI_IRQ_MSIX | PCI_IRQ_MSI);
|
||||
if (nvec > 0) {
|
||||
if (!(readl(hpriv->mmio + HOST_CTL) & HOST_MRSM)) {
|
||||
hpriv->get_irq_vector = ahci_get_irq_vector;
|
||||
hpriv->flags |= AHCI_HFLAG_MULTI_MSI;
|
||||
return nvec;
|
||||
}
|
||||
|
||||
/*
|
||||
* Fallback to single MSI mode if the controller
|
||||
* enforced MRSM mode.
|
||||
*/
|
||||
printk(KERN_INFO
|
||||
"ahci: MRSM is on, fallback to single MSI\n");
|
||||
pci_free_irq_vectors(pdev);
|
||||
}
|
||||
|
||||
/*
|
||||
* Fallback to single MSI mode if the controller enforced MRSM
|
||||
* mode.
|
||||
* -ENOSPC indicated we don't have enough vectors. Don't bother
|
||||
* trying a single vectors for any other error:
|
||||
*/
|
||||
printk(KERN_INFO "ahci: MRSM is on, fallback to single MSI\n");
|
||||
pci_free_irq_vectors(pdev);
|
||||
if (nvec < 0 && nvec != -ENOSPC)
|
||||
return nvec;
|
||||
}
|
||||
|
||||
/*
|
||||
* -ENOSPC indicated we don't have enough vectors. Don't bother trying
|
||||
* a single vectors for any other error:
|
||||
*/
|
||||
if (nvec < 0 && nvec != -ENOSPC)
|
||||
return nvec;
|
||||
|
||||
/*
|
||||
* If the host is not capable of supporting per-port vectors, fall
|
||||
* back to single MSI before finally attempting single MSI-X.
|
||||
|
|
@ -1617,7 +1620,7 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
/* legacy intx interrupts */
|
||||
pci_intx(pdev, 1);
|
||||
}
|
||||
hpriv->irq = pdev->irq;
|
||||
hpriv->irq = pci_irq_vector(pdev, 0);
|
||||
|
||||
if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
|
||||
host->flags |= ATA_HOST_PARALLEL_SCAN;
|
||||
|
|
|
|||
Loading…
Reference in a new issue