[PATCH] drm/amdgpu - Disable all irqs before disabling all CRTCs

Andrey Grodzovsky Andrey.Grodzovsky at amd.com
Fri Mar 16 02:09:55 UTC 2018


Sorry for jumping in late,  but did you verify MST with this change ?

Just a guess but MST relies on hpd_rx interrupt for messages and 
disabling to early might have impact. Maybe trying unload/reload with 
MST display to be sure ?

Andrey


On 03/15/2018 06:23 PM, Alex Deucher wrote:
> On Thu, Mar 15, 2018 at 5:11 PM,  <mikita.lipski at amd.com> wrote:
>> From: Mikita Lipski <mikita.lipski at amd.com>
>>
>> By moving amdgpu_irq_disable_all earlier in the sequence
>> fixes an issue with disabling pflip interrupts:
>>
>> *ERROR* dal_irq_service_dummy_ack: called for non-implemented irq source
>>
>> Earlier patch fixed a memory corruption and revealed irq
>> warnings.This way it seems to be there no obvious issues
>> with unloading the module.
>>
>> Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 ++---
>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 0b798cb..0d01735 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -1432,9 +1432,6 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
>>          int i, r;
>>
>>          amdgpu_amdkfd_device_fini(adev);
>> -       /* disable all interrupts */
>> -       amdgpu_irq_disable_all(adev);
>> -
>>          /* need to disable SMC first */
>>          for (i = 0; i < adev->num_ip_blocks; i++) {
>>                  if (!adev->ip_blocks[i].status.hw)
>> @@ -2082,6 +2079,8 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
>>
>>          DRM_INFO("amdgpu: finishing device.\n");
>>          adev->shutdown = true;
>> +       /* disable all interrupts */
>> +       amdgpu_irq_disable_all(adev);
>>          if (adev->mode_info.mode_config_initialized){
>>                  if (!amdgpu_device_has_dc_support(adev))
>>                          drm_crtc_force_disable_all(adev->ddev);
>> --
>> 2.7.4
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



More information about the amd-gfx mailing list