Skip to contentSkip to conversation

irqchip/armada-370-xp: Enable MSI-X support

PATCH New Stefan Roese 4 participants 9 messages May 2, 2017 – Aug 18, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
 drivers/irqchip/irq-armada-370-xp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-armada-370-xp.c +1 -1
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 
 static struct msi_domain_info armada_370_xp_msi_domain_info = {
 	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
 	.chip	= &armada_370_xp_msi_irq_chip,
 };
 
Signature · 1 line
2.12.2
#1 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Hi!

Quoted 22 lines · Stefan Roese

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
  drivers/irqchip/irq-armada-370-xp.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-armada-370-xp.c +0 -0
index 33982cbd8a57..b17039ed8735 100644

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 130

Quoted 8 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 
  static struct msi_domain_info armada_370_xp_msi_domain_info = {
  	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
  	.chip	= &armada_370_xp_msi_irq_chip,
  };
 

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Thanks,
Stefan

#2 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

+ Marc ;-)

Quoted 17 lines · Stefan Roese
Quoted 16 lines · Stefan Roese

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
 drivers/irqchip/irq-armada-370-xp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 16 lines

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 129

Quoted 12 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 static struct msi_domain_info armada_370_xp_msi_domain_info = {
 	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
 	.chip	= &armada_370_xp_msi_irq_chip,
 };
 

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

I'd like to see an Ack from Thomas P, as he's intimately familiar with both the platforms and the PCI support.

thx,

Jason.

#3 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Quoted 1 line · Jason Cooper

+ Marc ;-)

Thanks Jason.

Quoted 36 lines · Stefan Roese
Quoted 17 lines · Stefan Roese
Quoted 16 lines

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
 drivers/irqchip/irq-armada-370-xp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 16 lines

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 129

Quoted 12 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 static struct msi_domain_info armada_370_xp_msi_domain_info = {
 	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
 	.chip	= &armada_370_xp_msi_irq_chip,
 };
 

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Quoted 2 lines

I'd like to see an Ack from Thomas P, as he's intimately familiar with both the platforms and the PCI support.

Same here. If Thomas P is OK with it, I'll queue it.

Thanks,

	M.
Signature · 1 line
Jazz is not dead. It just smells funny...
#4 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

In reply to Stefan Roese

Hello,

Quoted 23 lines · Stefan Roese
Quoted 22 lines · Stefan Roese

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
  drivers/irqchip/irq-armada-370-xp.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-armada-370-xp.c +0 -0
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 
Quoted 12 lines

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 130

Quoted 8 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
  static struct msi_domain_info armada_370_xp_msi_domain_info = {
  	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
  	.chip	= &armada_370_xp_msi_irq_chip,
  };
 

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Sorry for the lack of feedback, very good idea to ping me on this topic. I don't have access to HW right now, so I can't give it a test. However, I don't think I have MSI-X capable hardware, only MSI capable.

With which hardware did you test this? An off-the-shell PCIe card, or some custom FPGA logic?

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#5 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Hi Thomas,

Quoted 38 lines · Thomas Petazzoni
Quoted 23 lines · Stefan Roese
Quoted 22 lines · Stefan Roese

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
   drivers/irqchip/irq-armada-370-xp.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-armada-370-xp.c +0 -0
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip armada_370_xp_msi_irq_chip = {
 
Quoted 12 lines

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 130

Quoted 8 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
   static struct msi_domain_info armada_370_xp_msi_domain_info = {
   	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		   MSI_FLAG_MULTI_PCI_MSI),
+		   MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
   	.chip	= &armada_370_xp_msi_irq_chip,
   };
 

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Quoted 6 lines

Sorry for the lack of feedback, very good idea to ping me on this topic. I don't have access to HW right now, so I can't give it a test. However, I don't think I have MSI-X capable hardware, only MSI capable.

With which hardware did you test this? An off-the-shell PCIe card, or some custom FPGA logic?

I tested this code with some Altera / Intel FPGA using their PCI-Express IP core. It should be possible to test this with some MSI-X capable desktop PCIe cards as well on AXP boards equipped with PCIe slots, like the Marvell AXP development board (orange box).

Thanks,
Stefan

#6 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Hi Thomas,

Quoted 43 lines · Stefan Roese
Quoted 42 lines · Thomas Petazzoni
Quoted 27 lines · Stefan Roese
Quoted 26 lines · Stefan Roese

Armada XP does not only support MSI, but also MSI-X. This patch sets the MSI_FLAG_PCI_MSIX flag in the interrupt controller driver which is the only change necessary to enable MSI-X support on this SoC. As the Linux PCI MSI-X infrastructure takes care of writing the data and address structures into the BAR specified by the MSI-X controller.

Cc Bjorn Helgaas <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gregory CLEMENT <[email protected]>
Cc Jason Cooper <[email protected]>
Cc Thomas Gleixner <[email protected]>
---
   drivers/irqchip/irq-armada-370-xp.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-armada-370-xp.c +0 -0
index 33982cbd8a57..b17039ed8735 100644
@@ -124,7 +124,7 @@ static struct irq_chip 
 armada_370_xp_msi_irq_chip = {
   static struct msi_domain_info armada_370_xp_msi_domain_info = {
       .flags    = (MSI_FLAG_USE_DEF_DOM_OPS | 

MSI_FLAG_USE_DEF_CHIP_OPS |

Quoted 8 lines

drivers/irqchip/irq-armada-370-xp.c static struct irq_chip armada_370_xp_msi_irq_chip = { · line 129

Quoted 4 lines
drivers/irqchip/irq-armada-370-xp.c +1 -1
-           MSI_FLAG_MULTI_PCI_MSI),
+           MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
       .chip    = &armada_370_xp_msi_irq_chip,
   };

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Sorry for the lack of feedback, very good idea to ping me on this topic. I don't have access to HW right now, so I can't give it a test. However, I don't think I have MSI-X capable hardware, only MSI capable.

Quoted 7 lines
Quoted 2 lines

With which hardware did you test this? An off-the-shell PCIe card, or some custom FPGA logic?

I tested this code with some Altera / Intel FPGA using their PCI-Express IP core. It should be possible to test this with some MSI-X capable desktop PCIe cards as well on AXP boards equipped with PCIe slots, like the Marvell AXP development board (orange box).

So what do you think about this patch? Can I get your Acked-by / Reviewed-by, or do you have some objections? Or do plan to first do some tests yourself?

Thanks,
Stefan

#7 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Hello,

Quoted 11 lines · Stefan Roese
Quoted 11 lines
Quoted 10 lines
Quoted 3 lines

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Sorry for the lack of feedback, very good idea to ping me on this topic. I don't have access to HW right now, so I can't give it a test. However, I don't think I have MSI-X capable hardware, only MSI capable.

With which hardware did you test this? An off-the-shell PCIe card, or some custom FPGA logic?

Quoted 8 lines
Quoted 4 lines

I tested this code with some Altera / Intel FPGA using their PCI-Express IP core. It should be possible to test this with some MSI-X capable desktop PCIe cards as well on AXP boards equipped with PCIe slots, like the Marvell AXP development board (orange box).

So what do you think about this patch? Can I get your Acked-by / Reviewed-by, or do you have some objections? Or do plan to first do some tests yourself?

I thought about testing it myself, but since I don't have any MSI-X capable device, I'm not sure it would bring a lot.

Therefore:

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#8 lore raw

PATCH 1/1 irqchip/armada-370-xp: Enable MSI-X support

Quoted 25 lines · Thomas Petazzoni

Hello,

Quoted 11 lines · Stefan Roese
Quoted 11 lines
Quoted 10 lines
Quoted 3 lines

Its been a while since this patch has been submitted - without any comments so far. What's the current status with it? Is it someones queue for upstreaming?

Sorry for the lack of feedback, very good idea to ping me on this topic. I don't have access to HW right now, so I can't give it a test. However, I don't think I have MSI-X capable hardware, only MSI capable.

With which hardware did you test this? An off-the-shell PCIe card, or some custom FPGA logic?

Quoted 8 lines
Quoted 4 lines

I tested this code with some Altera / Intel FPGA using their PCI-Express IP core. It should be possible to test this with some MSI-X capable desktop PCIe cards as well on AXP boards equipped with PCIe slots, like the Marvell AXP development board (orange box).

So what do you think about this patch? Can I get your Acked-by / Reviewed-by, or do you have some objections? Or do plan to first do some tests yourself?

Quoted 6 lines

I thought about testing it myself, but since I don't have any MSI-X capable device, I'm not sure it would bring a lot.

Therefore:

Thanks.

Stefan: Can you resend this patch (cc'ing the usual irqchip maintainers)? I'll queue it for 4.14.

	M.
Signature · 1 line
Jazz is not dead. It just smells funny...