Re: [PATCH v4] Add pcie_hp=nomsi to disable MSI/MSI-X for pciehp driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 26, 2012 at 8:47 AM, MUNEDA Takahiro
<muneda.takahiro@xxxxxxxxxxxxxx> wrote:
> On Thu, 19 Jan 2012 15:41:09 -0800,
> Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
>
> snip
>
>>> Index: linux-3.2/drivers/pci/quirks.c
>>> ===================================================================
>>> --- linux-3.2.orig/drivers/pci/quirks.c
>>> +++ linux-3.2/drivers/pci/quirks.c
>>> @@ -2665,6 +2665,35 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
>>>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4375,
>>>                        quirk_msi_intx_disable_bug);
>>>
>>> +/*
>>> + * The PCI bridge from Integrated Device Technology(IDT) has a problem
>>> + * with MSI/MSI-X.
>>> + * An un-wanted interrupt is generated when PCI driver switches from
>>> + * MSI/MSI-X to INTx while shutting down the PCI Express port, if it
>>> + * provides the Native Hotplug service.  The interrupt does not happen
>>> + * if MSI/MSI-X is not used on it.  Therefore, turn off MSI/MSI-X for
>>> + * this device.
>>> + */
>>> +static void __devinit idt_bridge_msi_disable(struct pci_dev *dev)
>>> +{
>>> +       int pos;
>>> +       u16 reg16;
>>> +       u32 reg32;
>>> +
>>> +       pos = pci_pcie_cap(dev);
>>> +       if (!pos)
>>> +               return;
>>> +       pci_read_config_word(dev, pos + PCI_EXP_FLAGS,&reg16);
>>> +       if (!(reg16&  PCI_EXP_FLAGS_SLOT))
>>>
>>> +               return;
>>> +       pci_read_config_dword(dev, pos + PCI_EXP_SLTCAP,&reg32);
>>> +       if (reg32&  PCI_EXP_SLTCAP_HPC) {
>>>
>>> +               pci_msi_off(dev);
>>> +               dev->no_msi = 1;
>>> +       }
>>> +}
>>> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IDT, 0x807f,
>>> idt_bridge_msi_disable);
>>
>>
>> do you have statement for IDT, says that is chipset problem ?
>
>
> I'm trying to contact to them, but not yet.
>
>
>> it could be your platform fw problem.
>>
>> if that is the case, you will disable MSI/MSIX for other platform that
>> do not have fw problem.
>
>
> Yinghai,
> Btw, how about other pieces?  I'm thinking to drop the quirk code temporary,
> until I get the comment from them.
> Can you give an ACK if I remove the hardware specific quirk code?

yes, other part is ok.

Actually quirk code should be separated to another patch.

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux