RE: [PATCH 4/5] scsi: ufs: tc-dwc-pci: Allow for MSI interrupt type

From: Winkler, Tomas
Date: Fri Apr 24 2020 - 07:56:06 EST


>
> Newer Test Chips boards have MSI support. It does no harm to try to request it
> as the function will fallback to legacy interrupts if MSI is not supported.
>
> Signed-off-by: Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>
>
> ---
> Cc: Joao Lima <Joao.Lima@xxxxxxxxxxxx>
> Cc: Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>
> Cc: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
> Cc: Avri Altman <avri.altman@xxxxxxx>
> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx>
> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
> Cc: linux-scsi@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> drivers/scsi/ufs/tc-dwc-pci.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/tc-dwc-pci.c b/drivers/scsi/ufs/tc-dwc-pci.c index
> 74a2d80d32bd..e0a880cbbe68 100644
> --- a/drivers/scsi/ufs/tc-dwc-pci.c
> +++ b/drivers/scsi/ufs/tc-dwc-pci.c
> @@ -136,9 +136,15 @@ tc_dwc_pci_probe(struct pci_dev *pdev, const struct
> pci_device_id *id)
> return -ENOENT;
> }
>
> + err = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
PCI_IRQ_LEGACY | PCI_IRQ_MSI , is enough you don't have MSIX
> + if (err < 0) {
> + dev_err(&pdev->dev, "Allocation failed\n");
> + return err;
> + }
> +
Where do you call pci_free_irq_vectors() ?
> hba->vops = &data->ops;
>
> - err = ufshcd_init(hba, mmio_base, pdev->irq);
> + err = ufshcd_init(hba, mmio_base, pci_irq_vector(pdev, 0));
> if (err) {
> dev_err(&pdev->dev, "Initialization failed\n");
> return err;
> --
> 2.7.4