Revert "PCI/MSI: Protect msi_desc::masked for multi-MSI"
This reverts commit 312730cd15
which is
commit 77e89afc25f30abd56e76a809ee2884d7c1b63ce upstream.
It breaks the Android KABI and is not needed for any current Android
hardware devices, so can be safely reverted.
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If4d9769c8cbfca6872c9a745fec8ab28bc39199e
This commit is contained in:
parent
b558262fdc
commit
63aa0473df
@ -2730,7 +2730,6 @@ void device_initialize(struct device *dev)
|
||||
device_pm_init(dev);
|
||||
set_dev_node(dev, -1);
|
||||
#ifdef CONFIG_GENERIC_MSI_IRQ
|
||||
raw_spin_lock_init(&dev->msi_lock);
|
||||
INIT_LIST_HEAD(&dev->msi_list);
|
||||
#endif
|
||||
INIT_LIST_HEAD(&dev->links.consumers);
|
||||
|
@ -171,25 +171,24 @@ static inline __attribute_const__ u32 msi_mask(unsigned x)
|
||||
* reliably as devices without an INTx disable bit will then generate a
|
||||
* level IRQ which will never be cleared.
|
||||
*/
|
||||
void __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
|
||||
u32 __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
|
||||
{
|
||||
raw_spinlock_t *lock = &desc->dev->msi_lock;
|
||||
unsigned long flags;
|
||||
u32 mask_bits = desc->masked;
|
||||
|
||||
if (pci_msi_ignore_mask || !desc->msi_attrib.maskbit)
|
||||
return;
|
||||
return 0;
|
||||
|
||||
raw_spin_lock_irqsave(lock, flags);
|
||||
desc->masked &= ~mask;
|
||||
desc->masked |= flag;
|
||||
mask_bits &= ~mask;
|
||||
mask_bits |= flag;
|
||||
pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->mask_pos,
|
||||
desc->masked);
|
||||
raw_spin_unlock_irqrestore(lock, flags);
|
||||
mask_bits);
|
||||
|
||||
return mask_bits;
|
||||
}
|
||||
|
||||
static void msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
|
||||
{
|
||||
__pci_msi_desc_mask_irq(desc, mask, flag);
|
||||
desc->masked = __pci_msi_desc_mask_irq(desc, mask, flag);
|
||||
}
|
||||
|
||||
static void __iomem *pci_msix_desc_addr(struct msi_desc *desc)
|
||||
|
@ -494,7 +494,6 @@ struct device {
|
||||
struct dev_pin_info *pins;
|
||||
#endif
|
||||
#ifdef CONFIG_GENERIC_MSI_IRQ
|
||||
raw_spinlock_t msi_lock;
|
||||
struct list_head msi_list;
|
||||
#endif
|
||||
#ifdef CONFIG_DMA_OPS
|
||||
|
@ -194,7 +194,7 @@ void __pci_read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
|
||||
void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
|
||||
|
||||
u32 __pci_msix_desc_mask_irq(struct msi_desc *desc, u32 flag);
|
||||
void __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
|
||||
u32 __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
|
||||
void pci_msi_mask_irq(struct irq_data *data);
|
||||
void pci_msi_unmask_irq(struct irq_data *data);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user