[PATCH] accel/amdxdna: Delete pci_free_irq_vectors()

Salah Triki posted 1 patch 2 months, 2 weeks ago
drivers/accel/amdxdna/aie2_pci.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
[PATCH] accel/amdxdna: Delete pci_free_irq_vectors()
Posted by Salah Triki 2 months, 2 weeks ago
The device is managed so pci_free_irq_vectors() is called automatically
no need to do it manually.

Signed-off-by: Salah Triki <salah.triki@gmail.com>
---
 drivers/accel/amdxdna/aie2_pci.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/accel/amdxdna/aie2_pci.c b/drivers/accel/amdxdna/aie2_pci.c
index c6cf7068d23c..3474a8d4e560 100644
--- a/drivers/accel/amdxdna/aie2_pci.c
+++ b/drivers/accel/amdxdna/aie2_pci.c
@@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	if (!ndev->psp_hdl) {
 		XDNA_ERR(xdna, "failed to create psp");
 		ret = -ENOMEM;
-		goto free_irq;
+		goto release_fw;
 	}
 	xdna->dev_handle = ndev;
 
 	ret = aie2_hw_start(xdna);
 	if (ret) {
 		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
-		goto free_irq;
+		goto release_fw;
 	}
 
 	ret = aie2_mgmt_fw_query(ndev);
@@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	aie2_error_async_events_free(ndev);
 stop_hw:
 	aie2_hw_stop(xdna);
-free_irq:
-	pci_free_irq_vectors(pdev);
 release_fw:
 	release_firmware(fw);
 
@@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
 
 static void aie2_fini(struct amdxdna_dev *xdna)
 {
-	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
 	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
 
 	aie2_hw_stop(xdna);
 	aie2_error_async_events_free(ndev);
-	pci_free_irq_vectors(pdev);
 }
 
 static int aie2_get_aie_status(struct amdxdna_client *client,
-- 
2.43.0
Re: [PATCH] accel/amdxdna: Delete pci_free_irq_vectors()
Posted by Jacek Lawrynowicz 2 months, 2 weeks ago
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>

On 7/19/2025 8:33 AM, Salah Triki wrote:
> The device is managed so pci_free_irq_vectors() is called automatically
> no need to do it manually.
> 
> Signed-off-by: Salah Triki <salah.triki@gmail.com>
> ---
>  drivers/accel/amdxdna/aie2_pci.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/accel/amdxdna/aie2_pci.c b/drivers/accel/amdxdna/aie2_pci.c
> index c6cf7068d23c..3474a8d4e560 100644
> --- a/drivers/accel/amdxdna/aie2_pci.c
> +++ b/drivers/accel/amdxdna/aie2_pci.c
> @@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
>  	if (!ndev->psp_hdl) {
>  		XDNA_ERR(xdna, "failed to create psp");
>  		ret = -ENOMEM;
> -		goto free_irq;
> +		goto release_fw;
>  	}
>  	xdna->dev_handle = ndev;
>  
>  	ret = aie2_hw_start(xdna);
>  	if (ret) {
>  		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
> -		goto free_irq;
> +		goto release_fw;
>  	}
>  
>  	ret = aie2_mgmt_fw_query(ndev);
> @@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
>  	aie2_error_async_events_free(ndev);
>  stop_hw:
>  	aie2_hw_stop(xdna);
> -free_irq:
> -	pci_free_irq_vectors(pdev);
>  release_fw:
>  	release_firmware(fw);
>  
> @@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
>  
>  static void aie2_fini(struct amdxdna_dev *xdna)
>  {
> -	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
>  	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
>  
>  	aie2_hw_stop(xdna);
>  	aie2_error_async_events_free(ndev);
> -	pci_free_irq_vectors(pdev);
>  }
>  
>  static int aie2_get_aie_status(struct amdxdna_client *client,
Re: [PATCH] accel/amdxdna: Delete pci_free_irq_vectors()
Posted by Lizhi Hou 2 months, 2 weeks ago
Pushed to drm-misc-next. Thanks.


Lizhi

On 7/22/25 00:55, Jacek Lawrynowicz wrote:
> Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
>
> On 7/19/2025 8:33 AM, Salah Triki wrote:
>> The device is managed so pci_free_irq_vectors() is called automatically
>> no need to do it manually.
>>
>> Signed-off-by: Salah Triki <salah.triki@gmail.com>
>> ---
>>   drivers/accel/amdxdna/aie2_pci.c | 8 ++------
>>   1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/accel/amdxdna/aie2_pci.c b/drivers/accel/amdxdna/aie2_pci.c
>> index c6cf7068d23c..3474a8d4e560 100644
>> --- a/drivers/accel/amdxdna/aie2_pci.c
>> +++ b/drivers/accel/amdxdna/aie2_pci.c
>> @@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
>>   	if (!ndev->psp_hdl) {
>>   		XDNA_ERR(xdna, "failed to create psp");
>>   		ret = -ENOMEM;
>> -		goto free_irq;
>> +		goto release_fw;
>>   	}
>>   	xdna->dev_handle = ndev;
>>   
>>   	ret = aie2_hw_start(xdna);
>>   	if (ret) {
>>   		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
>> -		goto free_irq;
>> +		goto release_fw;
>>   	}
>>   
>>   	ret = aie2_mgmt_fw_query(ndev);
>> @@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
>>   	aie2_error_async_events_free(ndev);
>>   stop_hw:
>>   	aie2_hw_stop(xdna);
>> -free_irq:
>> -	pci_free_irq_vectors(pdev);
>>   release_fw:
>>   	release_firmware(fw);
>>   
>> @@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
>>   
>>   static void aie2_fini(struct amdxdna_dev *xdna)
>>   {
>> -	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
>>   	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
>>   
>>   	aie2_hw_stop(xdna);
>>   	aie2_error_async_events_free(ndev);
>> -	pci_free_irq_vectors(pdev);
>>   }
>>   
>>   static int aie2_get_aie_status(struct amdxdna_client *client,