Re: [PATCH v4 0/5] Designware host multivector MSI and 64bit MSI fixes

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

 



On Mon, Aug 17, 2015 at 01:06:13PM +0200, Lucas Stach wrote:
> This is a reworked version of the multivector MSI support for the designware
> PCIe host controller driver.
> 
> v3 added patch 2 to share more code between the single and multivector MSI
> code paths.
> 
> While not really related to this topic patches 4+5 fix the MSI message setup
> to work on 64bit and 32bit PAE systems. I included them in this series as
> they depend on patch 2.
> 
> v4 fixes the last patch to also set up the high part of the MSI target
> address, when calling the common DW MSI init function.
> 
> Regards,
> Lucas
> 
> Lucas Stach (5):
>   PCI: allow MSI chip providers to implement their own multivector MSI
>     setup
>   PCI: designware: factor out MSI msg setup
>   PCI: designware: implement multivector MSI irq setup
>   PCI: designware: change prototype of get_msi_addr
>   PCI: designware: set up high part of MSI target address

I applied these to pci-4.4/host-designware with Pratyush's ack and minor
changelog tweaks (and changing -ENOSYS to -EINVAL to shut up checkpatch).
This will be rebased after v4.3-rc1.  Thanks!


commit 59f6d039d7ea
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date:   Mon Aug 17 13:06:18 2015 +0200

    PCI: designware: Set up high part of MSI target address
    
    Set up the high part of the MSI target address to allow the MSI target to
    be above 4GB on 64bit and PAE systems.
    
    [bhelgaas: changelog]
    Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx>

commit ec8d33e0c5ad
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date:   Mon Aug 17 13:06:17 2015 +0200

    PCI: designware: Make get_msi_addr() return phys_addr_t, not u32
    
    Make get_msi_addr() return phys_addr_t, not u32.  This allows the MSI
    target address to be above 4GB for 64bit or PAE systems.
    
    No functional change for the current 32bit platform users as phys_addr_t
    maps to u32 for them.
    
    [bhelgaas: changelog]
    Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx>

commit 52495e4e5444
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date:   Mon Aug 17 13:06:16 2015 +0200

    PCI: designware: Implement multivector MSI IRQ setup
    
    Implement multivector MSI IRQ setup.  This us to set up and use multiple
    MSI IRQs per device.
    
    [bhelgaas: changelog, use -EINVAL instead of -ENOSYS]
    Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx>

commit 4e660090c3ad
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date:   Mon Aug 17 13:06:15 2015 +0200

    PCI: designware: Factor out MSI msg setup
    
    Factor out the PCI MSI message setup from the single MSI setup function.
    This will be reused by the multivector MSI setup.
    
    No functional change yet.
    
    Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx>

commit 20c12de4f24b
Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Date:   Mon Aug 17 13:06:14 2015 +0200

    PCI: Add msi_controller setup_irqs() method for special multivector setup
    
    Add a msi_controller setup_irqs() method so MSI chip providers can
    implement their own multivector MSI setup.
    
    [bhelgaas: changelog]
    Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxxxxx>
--
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