drm/amdgpu: Need to disable msix when unloading driver

Submitted by Deng, Emily on Nov. 6, 2019, 6:23 a.m.

Details

Message ID 1573021419-15518-1-git-send-email-Emily.Deng@amd.com
State New
Headers show
Series "drm/amdgpu: Need to disable msix when unloading driver" ( rev: 2 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Deng, Emily Nov. 6, 2019, 6:23 a.m.
For driver reload test, it will report "can't enable
MSI (MSI-X already enabled)".

Signed-off-by: Emily Deng <Emily.Deng@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
index 6f3b03f..30d540d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
@@ -311,7 +311,7 @@  void amdgpu_irq_fini(struct amdgpu_device *adev)
 		drm_irq_uninstall(adev->ddev);
 		adev->irq.installed = false;
 		if (adev->irq.msi_enabled)
-			pci_disable_msi(adev->pdev);
+			pci_free_irq_vectors(adev->pdev);
 		if (!amdgpu_device_has_dc_support(adev))
 			flush_work(&adev->hotplug_work);
 	}

Comments

Hi all,
    Please help to review this. This is to fix driver reload issue.

Best wishes
Emily Deng


>-----Original Message-----
>From: Emily Deng <Emily.Deng@amd.com>
>Sent: Wednesday, November 6, 2019 2:24 PM
>To: amd-gfx@lists.freedesktop.org
>Cc: Deng, Emily <Emily.Deng@amd.com>
>Subject: [PATCH] drm/amdgpu: Need to disable msix when unloading driver
>
>For driver reload test, it will report "can't enable MSI (MSI-X already enabled)".
>
>Signed-off-by: Emily Deng <Emily.Deng@amd.com>
>---
> drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>index 6f3b03f..30d540d 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>@@ -311,7 +311,7 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
> 		drm_irq_uninstall(adev->ddev);
> 		adev->irq.installed = false;
> 		if (adev->irq.msi_enabled)
>-			pci_disable_msi(adev->pdev);
>+			pci_free_irq_vectors(adev->pdev);
> 		if (!amdgpu_device_has_dc_support(adev))
> 			flush_work(&adev->hotplug_work);
> 	}
>--
>2.7.4
Not an expert on the PCI IRQ stuff, but from what I know that looks 
correct to me.

Only question I can see is why don't we use pci_alloc_irq_vectors()? 
Alex probably needs to take a look.

Regards,
Christian.

Am 06.11.19 um 07:28 schrieb Deng, Emily:
> Hi all,
>      Please help to review this. This is to fix driver reload issue.
>
> Best wishes
> Emily Deng
>
>
>> -----Original Message-----
>> From: Emily Deng <Emily.Deng@amd.com>
>> Sent: Wednesday, November 6, 2019 2:24 PM
>> To: amd-gfx@lists.freedesktop.org
>> Cc: Deng, Emily <Emily.Deng@amd.com>
>> Subject: [PATCH] drm/amdgpu: Need to disable msix when unloading driver
>>
>> For driver reload test, it will report "can't enable MSI (MSI-X already enabled)".
>>
>> Signed-off-by: Emily Deng <Emily.Deng@amd.com>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>> index 6f3b03f..30d540d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
>> @@ -311,7 +311,7 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)
>> 		drm_irq_uninstall(adev->ddev);
>> 		adev->irq.installed = false;
>> 		if (adev->irq.msi_enabled)
>> -			pci_disable_msi(adev->pdev);
>> +			pci_free_irq_vectors(adev->pdev);
>> 		if (!amdgpu_device_has_dc_support(adev))
>> 			flush_work(&adev->hotplug_work);
>> 	}
>> --
>> 2.7.4
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Hi Christian,
    We use " pci_alloc_irq_vectors " in amdgpu_irq_init. This patch use " pci_free_irq_vectors " in amdgpu_irq_fini.

Hi Alex,
    Could you help to review this?

Best wishes
Emily Deng



>-----Original Message-----

>From: Christian König <ckoenig.leichtzumerken@gmail.com>

>Sent: Wednesday, November 6, 2019 5:32 PM

>To: Deng, Emily <Emily.Deng@amd.com>; amd-gfx@lists.freedesktop.org

>Subject: Re: [PATCH] drm/amdgpu: Need to disable msix when unloading

>driver

>

>Not an expert on the PCI IRQ stuff, but from what I know that looks correct to

>me.

>

>Only question I can see is why don't we use pci_alloc_irq_vectors()?

>Alex probably needs to take a look.

>

>Regards,

>Christian.

>

>Am 06.11.19 um 07:28 schrieb Deng, Emily:

>> Hi all,

>>      Please help to review this. This is to fix driver reload issue.

>>

>> Best wishes

>> Emily Deng

>>

>>

>>> -----Original Message-----

>>> From: Emily Deng <Emily.Deng@amd.com>

>>> Sent: Wednesday, November 6, 2019 2:24 PM

>>> To: amd-gfx@lists.freedesktop.org

>>> Cc: Deng, Emily <Emily.Deng@amd.com>

>>> Subject: [PATCH] drm/amdgpu: Need to disable msix when unloading

>>> driver

>>>

>>> For driver reload test, it will report "can't enable MSI (MSI-X already

>enabled)".

>>>

>>> Signed-off-by: Emily Deng <Emily.Deng@amd.com>

>>> ---

>>> drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 2 +-

>>> 1 file changed, 1 insertion(+), 1 deletion(-)

>>>

>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c

>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c

>>> index 6f3b03f..30d540d 100644

>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c

>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c

>>> @@ -311,7 +311,7 @@ void amdgpu_irq_fini(struct amdgpu_device *adev)

>>> 		drm_irq_uninstall(adev->ddev);

>>> 		adev->irq.installed = false;

>>> 		if (adev->irq.msi_enabled)

>>> -			pci_disable_msi(adev->pdev);

>>> +			pci_free_irq_vectors(adev->pdev);

>>> 		if (!amdgpu_device_has_dc_support(adev))

>>> 			flush_work(&adev->hotplug_work);

>>> 	}

>>> --

>>> 2.7.4

>> _______________________________________________

>> amd-gfx mailing list

>> amd-gfx@lists.freedesktop.org

>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx