Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-10 Thread David Vrabel
On 09/09/14 03:06, Yijing Wang wrote:
 On 2014/9/5 22:29, David Vrabel wrote:
 On 05/09/14 11:09, Yijing Wang wrote:
 Use MSI chip framework instead of arch MSI functions to configure
 MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
 [...]
 --- a/arch/x86/pci/xen.c
 +++ b/arch/x86/pci/xen.c
 [...]
 @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
  #endif
  
  #ifdef CONFIG_PCI_MSI
 -   x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
 -   x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
 -   x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
 +   xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
 +   xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
 +   x86_msi_chip = xen_msi_chip;
 msi_chip.irq_mask = xen_nop_msi_mask;
 msi_chip.irq_unmask = xen_nop_msi_mask;

 Why have these not been changed to set the x86_msi_chip.mask/unmask
 fields instead?
 
 Hi David, x86_msi_chip here is struct msi_chip data type, used to configure 
 MSI/MSI-X
 irq. msi_chip above is struct irq_chip data type, represent the MSI irq 
 controller. They are
 not the same object. Their name easily confusing people.

Ok, it all makes sense now.

Acked-by: David Vrabel david.vra...@citrix.com

David
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-10 Thread Konrad Rzeszutek Wilk
On Wed, Sep 10, 2014 at 01:38:25PM +0100, David Vrabel wrote:
 On 09/09/14 03:06, Yijing Wang wrote:
  On 2014/9/5 22:29, David Vrabel wrote:
  On 05/09/14 11:09, Yijing Wang wrote:
  Use MSI chip framework instead of arch MSI functions to configure
  MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
  [...]
  --- a/arch/x86/pci/xen.c
  +++ b/arch/x86/pci/xen.c
  [...]
  @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
   #endif
   
   #ifdef CONFIG_PCI_MSI
  - x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
  - x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
  - x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
  + xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
  + xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
  + x86_msi_chip = xen_msi_chip;
msi_chip.irq_mask = xen_nop_msi_mask;
msi_chip.irq_unmask = xen_nop_msi_mask;
 
  Why have these not been changed to set the x86_msi_chip.mask/unmask
  fields instead?
  
  Hi David, x86_msi_chip here is struct msi_chip data type, used to configure 
  MSI/MSI-X
  irq. msi_chip above is struct irq_chip data type, represent the MSI irq 
  controller. They are
  not the same object. Their name easily confusing people.
 
 Ok, it all makes sense now.
 
 Acked-by: David Vrabel david.vra...@citrix.com

You can also add 'Tested-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com'

on the whole series - I ran it through on Xen and on baremetal with a mix of 
32/64 builds.

Oh, and also Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com the 
Xen parts.

 
 David
 
 ___
 Xen-devel mailing list
 xen-de...@lists.xen.org
 http://lists.xen.org/xen-devel
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-10 Thread Yijing Wang
On 2014/9/10 20:38, David Vrabel wrote:
 On 09/09/14 03:06, Yijing Wang wrote:
 On 2014/9/5 22:29, David Vrabel wrote:
 On 05/09/14 11:09, Yijing Wang wrote:
 Use MSI chip framework instead of arch MSI functions to configure
 MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
 [...]
 --- a/arch/x86/pci/xen.c
 +++ b/arch/x86/pci/xen.c
 [...]
 @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
  #endif
  
  #ifdef CONFIG_PCI_MSI
 -  x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
 -  x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
 -  x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
 +  xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
 +  xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
 +  x86_msi_chip = xen_msi_chip;
msi_chip.irq_mask = xen_nop_msi_mask;
msi_chip.irq_unmask = xen_nop_msi_mask;

 Why have these not been changed to set the x86_msi_chip.mask/unmask
 fields instead?

 Hi David, x86_msi_chip here is struct msi_chip data type, used to configure 
 MSI/MSI-X
 irq. msi_chip above is struct irq_chip data type, represent the MSI irq 
 controller. They are
 not the same object. Their name easily confusing people.
 
 Ok, it all makes sense now.
 
 Acked-by: David Vrabel david.vra...@citrix.com

Thanks!

 
 David
 
 .
 


-- 
Thanks!
Yijing

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-10 Thread Yijing Wang
On 2014/9/10 22:59, Konrad Rzeszutek Wilk wrote:
 On Wed, Sep 10, 2014 at 01:38:25PM +0100, David Vrabel wrote:
 On 09/09/14 03:06, Yijing Wang wrote:
 On 2014/9/5 22:29, David Vrabel wrote:
 On 05/09/14 11:09, Yijing Wang wrote:
 Use MSI chip framework instead of arch MSI functions to configure
 MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
 [...]
 --- a/arch/x86/pci/xen.c
 +++ b/arch/x86/pci/xen.c
 [...]
 @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
  #endif
  
  #ifdef CONFIG_PCI_MSI
 - x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
 - x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
 - x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
 + xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
 + xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
 + x86_msi_chip = xen_msi_chip;
   msi_chip.irq_mask = xen_nop_msi_mask;
   msi_chip.irq_unmask = xen_nop_msi_mask;

 Why have these not been changed to set the x86_msi_chip.mask/unmask
 fields instead?

 Hi David, x86_msi_chip here is struct msi_chip data type, used to configure 
 MSI/MSI-X
 irq. msi_chip above is struct irq_chip data type, represent the MSI irq 
 controller. They are
 not the same object. Their name easily confusing people.

 Ok, it all makes sense now.

 Acked-by: David Vrabel david.vra...@citrix.com
 
 You can also add 'Tested-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com'
 
 on the whole series - I ran it through on Xen and on baremetal with a mix of 
 32/64 builds.
 
 Oh, and also Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com the 
 Xen parts.

Thanks very much for your test and review!

Thanks!
Yijing.

 

 David

 ___
 Xen-devel mailing list
 xen-de...@lists.xen.org
 http://lists.xen.org/xen-devel
 
 .
 


-- 
Thanks!
Yijing

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-08 Thread Yijing Wang
On 2014/9/5 22:29, David Vrabel wrote:
 On 05/09/14 11:09, Yijing Wang wrote:
 Use MSI chip framework instead of arch MSI functions to configure
 MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
 [...]
 --- a/arch/x86/pci/xen.c
 +++ b/arch/x86/pci/xen.c
 [...]
 @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
  #endif
  
  #ifdef CONFIG_PCI_MSI
 -x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
 -x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
 -x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
 +xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
 +xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
 +x86_msi_chip = xen_msi_chip;
  msi_chip.irq_mask = xen_nop_msi_mask;
  msi_chip.irq_unmask = xen_nop_msi_mask;
 
 Why have these not been changed to set the x86_msi_chip.mask/unmask
 fields instead?

Hi David, x86_msi_chip here is struct msi_chip data type, used to configure 
MSI/MSI-X
irq. msi_chip above is struct irq_chip data type, represent the MSI irq 
controller. They are
not the same object. Their name easily confusing people.

Defined in arch/x86/kernel/apic/io_apic.c
/*
 * IRQ Chip for MSI PCI/PCI-X/PCI-Express Devices,
 * which implement the MSI or MSI-X Capability Structure.
 */
static struct irq_chip msi_chip = {
.name   = PCI-MSI,
.irq_unmask = unmask_msi_irq,
.irq_mask   = mask_msi_irq,
.irq_ack= ack_apic_edge,
.irq_set_affinity   = msi_set_affinity,
.irq_retrigger  = ioapic_retrigger_irq,
};


Defined in arch/x86/kernel/apic/io_apic.c, introduced in patch 7/21
struct msi_chip apic_msi_chip = {
.setup_irqs = native_setup_msi_irqs,
.teardown_irq = native_teardown_msi_irq,
};
[...]
struct msi_chip *x86_msi_chip = apic_msi_chip;


Thanks!
Yijing.

 
 David
 
 .
 


-- 
Thanks!
Yijing

___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu


Re: [Xen-devel] [PATCH v1 08/21] x86/xen/MSI: Use MSI chip framework to configure MSI/MSI-X irq

2014-09-05 Thread David Vrabel
On 05/09/14 11:09, Yijing Wang wrote:
 Use MSI chip framework instead of arch MSI functions to configure
 MSI/MSI-X irq. So we can manage MSI/MSI-X irq in a unified framework.
[...]
 --- a/arch/x86/pci/xen.c
 +++ b/arch/x86/pci/xen.c
[...]
 @@ -418,9 +430,9 @@ int __init pci_xen_init(void)
  #endif
  
  #ifdef CONFIG_PCI_MSI
 - x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
 - x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
 - x86_msi.teardown_msi_irqs = xen_teardown_msi_irqs;
 + xen_msi_chip.setup_irqs = xen_setup_msi_irqs;
 + xen_msi_chip.teardown_irqs = xen_teardown_msi_irqs;
 + x86_msi_chip = xen_msi_chip;
   msi_chip.irq_mask = xen_nop_msi_mask;
   msi_chip.irq_unmask = xen_nop_msi_mask;

Why have these not been changed to set the x86_msi_chip.mask/unmask
fields instead?

David
___
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu