Message ID | eb0b62be65c050533f2565fcf3f1d673770dfd67.1389904166.git.agordeev@redhat.com |
---|---|
State | Changes Requested |
Headers | show |
On Fri, Jan 17, 2014 at 05:02:18PM +0100, Alexander Gordeev wrote: > As result deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enable_msi_range() and pci_enable_msix_range() > interfaces. > > Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Brian, James, Could you please review patches 3 and 4? Thanks!
On 01/28/2014 03:54 AM, Alexander Gordeev wrote: > On Fri, Jan 17, 2014 at 05:02:18PM +0100, Alexander Gordeev wrote: >> As result deprecation of MSI-X/MSI enablement functions >> pci_enable_msix() and pci_enable_msi_block() all drivers >> using these two interfaces need to be updated to use the >> new pci_enable_msi_range() and pci_enable_msix_range() >> interfaces. >> >> Signed-off-by: Alexander Gordeev <agordeev@redhat.com> > > Brian, James, > > Could you please review patches 3 and 4? These look like they will conflict with a recent patch to the ipr driver: http://www.spinics.net/lists/linux-scsi/msg71644.html Do you want me to rediff your patches on top of this one, or do you want to keep the entire MSI series together and do the rediff? Otherwise the patches seem fine. Thanks, Brian
On Tue, Jan 28, 2014 at 09:28:45AM -0600, Brian King wrote: Thanks for the review, Brian! > These look like they will conflict with a recent patch to > the ipr driver: > > http://www.spinics.net/lists/linux-scsi/msg71644.html BTW, this one does not appear ACKed. > Do you want me to rediff your patches on top of this one, > or do you want to keep the entire MSI series together > and do the rediff? Otherwise the patches seem fine. I would prefer the former. @Bjorn, please let us know if you prefer otherwise. > Thanks, > > Brian > > > -- > Brian King > Power Linux I/O > IBM Linux Technology Center > >
On Wed, Jan 29, 2014 at 02:26:52PM +0100, Alexander Gordeev wrote: > > Do you want me to rediff your patches on top of this one, > > or do you want to keep the entire MSI series together > > and do the rediff? Otherwise the patches seem fine. > > I would prefer the former. Hi Brian, I am sending the refreshed patches on top of "ipr: Handle early EEH".
On Thu, Jan 30, 2014 at 03:06:30PM +0100, Alexander Gordeev wrote: > On Wed, Jan 29, 2014 at 02:26:52PM +0100, Alexander Gordeev wrote: > > > Do you want me to rediff your patches on top of this one, > > > or do you want to keep the entire MSI series together > > > and do the rediff? Otherwise the patches seem fine. > > > > I would prefer the former. > > Hi Brian, > > I am sending the refreshed patches on top of "ipr: Handle early EEH". Hi Brian, What three the two patches you ACKed are against? Should I ask James to take them? Thanks!
On 02/24/2014 02:12 AM, Alexander Gordeev wrote: > On Thu, Jan 30, 2014 at 03:06:30PM +0100, Alexander Gordeev wrote: >> On Wed, Jan 29, 2014 at 02:26:52PM +0100, Alexander Gordeev wrote: >>>> Do you want me to rediff your patches on top of this one, >>>> or do you want to keep the entire MSI series together >>>> and do the rediff? Otherwise the patches seem fine. >>> >>> I would prefer the former. >> >> Hi Brian, >> >> I am sending the refreshed patches on top of "ipr: Handle early EEH". > > Hi Brian, > > What three the two patches you ACKed are against? > Should I ask James to take them? Wendy - can you pull in these two patches from Alexander and rebase on top of the latest patches you've sent upstream? Thanks, Brian
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index fb57e21..3841298 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -9245,47 +9245,36 @@ ipr_get_chip_info(const struct pci_device_id *dev_id) static int ipr_enable_msix(struct ipr_ioa_cfg *ioa_cfg) { struct msix_entry entries[IPR_MAX_MSIX_VECTORS]; - int i, err, vectors; + int i, vectors; for (i = 0; i < ARRAY_SIZE(entries); ++i) entries[i].entry = i; - vectors = ipr_number_of_msix; + vectors = pci_enable_msix_range(ioa_cfg->pdev, entries, + 1, ipr_number_of_msix); + if (vectors < 0) + return vectors; - while ((err = pci_enable_msix(ioa_cfg->pdev, entries, vectors)) > 0) - vectors = err; + for (i = 0; i < vectors; i++) + ioa_cfg->vectors_info[i].vec = entries[i].vector; + ioa_cfg->nvectors = vectors; - if (err < 0) - return err; - - if (!err) { - for (i = 0; i < vectors; i++) - ioa_cfg->vectors_info[i].vec = entries[i].vector; - ioa_cfg->nvectors = vectors; - } - - return err; + return 0; } static int ipr_enable_msi(struct ipr_ioa_cfg *ioa_cfg) { - int i, err, vectors; + int i, vectors; - vectors = ipr_number_of_msix; + vectors = pci_enable_msi_range(ioa_cfg->pdev, 1, ipr_number_of_msix); + if (vectors < 0) + return vectors; - while ((err = pci_enable_msi_block(ioa_cfg->pdev, vectors)) > 0) - vectors = err; + for (i = 0; i < vectors; i++) + ioa_cfg->vectors_info[i].vec = ioa_cfg->pdev->irq + i; + ioa_cfg->nvectors = vectors; - if (err < 0) - return err; - - if (!err) { - for (i = 0; i < vectors; i++) - ioa_cfg->vectors_info[i].vec = ioa_cfg->pdev->irq + i; - ioa_cfg->nvectors = vectors; - } - - return err; + return 0; } static void name_msi_vectors(struct ipr_ioa_cfg *ioa_cfg) @@ -9350,7 +9339,7 @@ static irqreturn_t ipr_test_intr(int irq, void *devp) * ipr_test_msi - Test for Message Signaled Interrupt (MSI) support. * @pdev: PCI device struct * - * Description: The return value from pci_enable_msi() can not always be + * Description: The return value from pci_enable_msi_range() can not always be * trusted. This routine sets up and initiates a test interrupt to determine * if the interrupt is received via the ipr_test_intr() service routine. * If the tests fails, the driver will fall back to LSI.
As result deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> --- drivers/scsi/ipr.c | 47 ++++++++++++++++++----------------------------- 1 files changed, 18 insertions(+), 29 deletions(-)