[PATCH] PCI: Add Ralink RT2800 broken INTx masking quirk

June 06th, 2012 - 05:30 pm ET by Alex Williamson | Report spam
Passes pci_intx_mask_supported but continues to send interrupts
as discovered through VFIO-based device assignment.

http://www.spinics.net/lists/kvm/msg73738.html

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>


Depends on Jan's base patch for this quirk:
http://www.spinics.net/lists/linux-...15516.html

drivers/pci/quirks.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index cbb4358..178f494 100644
a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2940,6 +2940,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0010,
quirk_broken_intx_masking);
+DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */
+ quirk_broken_intx_masking);

static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
struct pci_fixup *end)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
email Follow the discussionReplies 12 repliesReplies Make a reply

Similar topics

Replies

#1 Alex Williamson
June 06th, 2012 - 05:50 pm ET | Report spam
D'oh, stale email for Bjorn.

On Wed, 2012-06-06 at 15:23 -0600, Alex Williamson wrote:
Passes pci_intx_mask_supported but continues to send interrupts
as discovered through VFIO-based device assignment.

http://www.spinics.net/lists/kvm/msg73738.html

Signed-off-by: Alex Williamson


Depends on Jan's base patch for this quirk:
http://www.spinics.net/lists/linux-...15516.html

drivers/pci/quirks.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index cbb4358..178f494 100644
a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2940,6 +2940,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0010,
quirk_broken_intx_masking);
+DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */
+ quirk_broken_intx_masking);

static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
struct pci_fixup *end)






To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Replies Reply to this message
#2 Andreas Hartmann
June 07th, 2012 - 02:20 am ET | Report spam
Alex Williamson wrote:
Passes pci_intx_mask_supported but continues to send interrupts as
discovered through VFIO-based device assignment.

http://www.spinics.net/lists/kvm/msg73738.html

Signed-off-by: Alex Williamson


Tested-by: Andreas Hartmann


Depends on Jan's base patch for this quirk:
http://www.spinics.net/lists/linux-...15516.html

drivers/pci/quirks.c | 2 ++ 1 file changed, 2 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index
cbb4358..178f494 100644 a/drivers/pci/quirks.c +++
b/drivers/pci/quirks.c @@ -2940,6 +2940,8 @@ static void __devinit
quirk_broken_intx_masking(struct pci_dev *dev) }
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0010,
quirk_broken_intx_masking); +DECLARE_PCI_FIXUP_FINAL(0x1814,
0x0601, /* Ralink RT2800 802.11n PCI */ +
quirk_broken_intx_masking);

static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup
*f, struct pci_fixup *end)



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Replies Reply to this message
#3 Andreas Hartmann
June 07th, 2012 - 02:30 am ET | Report spam
Hello Alex,

what about a module parameter to achieve this behaviour manually by
the user without recompiling? I fear, there are much more candidates
out there needing this "feature".


Kind regards and thank you,
Andreas


Alex Williamson wrote:
Passes pci_intx_mask_supported but continues to send interrupts as
discovered through VFIO-based device assignment.

http://www.spinics.net/lists/kvm/msg73738.html

Signed-off-by: Alex Williamson

Depends on Jan's base patch for this quirk:
http://www.spinics.net/lists/linux-...15516.html

drivers/pci/quirks.c | 2 ++ 1 file changed, 2 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index
cbb4358..178f494 100644 a/drivers/pci/quirks.c +++
b/drivers/pci/quirks.c @@ -2940,6 +2940,8 @@ static void __devinit
quirk_broken_intx_masking(struct pci_dev *dev) }
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0010,
quirk_broken_intx_masking); +DECLARE_PCI_FIXUP_FINAL(0x1814,
0x0601, /* Ralink RT2800 802.11n PCI */ +
quirk_broken_intx_masking);

static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup
*f, struct pci_fixup *end)




To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Replies Reply to this message
#4 Alex Williamson
June 07th, 2012 - 01:10 pm ET | Report spam
On Thu, 2012-06-07 at 08:18 +0200, Andreas Hartmann wrote:
Hello Alex,

what about a module parameter to achieve this behaviour manually by
the user without recompiling? I fear, there are much more candidates
out there needing this "feature".



Yeah, that's probably a good idea. For debugging and letting users have
a workaround rather than any kind of regular use. I'll add a nointxmask
to vfio-pci with a description indicating that if it fixes a device to
report it for quirking. Thanks,

Alex

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Replies Reply to this message
#5 Jan Kiszka
June 07th, 2012 - 01:20 pm ET | Report spam
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)

On 2012-06-07 19:05, Alex Williamson wrote:
On Thu, 2012-06-07 at 08:18 +0200, Andreas Hartmann wrote:
Hello Alex,

what about a module parameter to achieve this behaviour manually by
the user without recompiling? I fear, there are much more candidates
out there needing this "feature".



Yeah, that's probably a good idea. For debugging and letting users have
a workaround rather than any kind of regular use. I'll add a nointxmask
to vfio-pci with a description indicating that if it fixes a device to
report it for quirking. Thanks,



Isn't this controllable on a per-device base from userspace (or is this
what you mean)? That would nicely align to qemu-kvm's pci-assign
share_intx property (and may allow to map pci-assign's user-visible
interface to a vfio backend one day).

Jan




To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Replies Reply to this message
Help Create a new topicNext page Replies Make a reply
Search Make your own search