All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3)
@ 2018-04-16  7:17 Shirish S
       [not found] ` <1523863066-5199-1-git-send-email-shirish.s-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Shirish S @ 2018-04-16  7:17 UTC (permalink / raw)
  To: Alexander.Deucher-5C7GfCeVMHo,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Christian.Koenig-5C7GfCeVMHo
  Cc: Shirish S

amdgpu_ib_ring_tests() runs test IB's on rings at boot
contributes to ~500 ms of amdgpu driver's boot time.

This patch defers it and ensures that its executed
in amdgpu_info_ioctl() if it wasn't scheduled.

V2: Use queue_delayed_work() & flush_delayed_work().
V3: removed usage of separate wq, ensure ib tests is
    run before enabling clockgating.

Signed-off-by: Shirish S <shirish.s@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++-----------
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  3 +++
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 1762eb4..f225840 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1656,6 +1656,10 @@ static int amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)
 	if (amdgpu_emu_mode == 1)
 		return 0;
 
+	r = amdgpu_ib_ring_tests(adev);
+	if (r)
+		DRM_ERROR("ib ring test failed (%d).\n", r);
+
 	for (i = 0; i < adev->num_ip_blocks; i++) {
 		if (!adev->ip_blocks[i].status.valid)
 			continue;
@@ -1706,8 +1710,8 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)
 		}
 	}
 
-	mod_delayed_work(system_wq, &adev->late_init_work,
-			msecs_to_jiffies(AMDGPU_RESUME_MS));
+	queue_delayed_work(system_wq, &adev->late_init_work,
+			   msecs_to_jiffies(AMDGPU_RESUME_MS));
 
 	amdgpu_device_fill_reset_magic(adev);
 
@@ -2374,10 +2378,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
 		goto failed;
 	}
 
-	r = amdgpu_ib_ring_tests(adev);
-	if (r)
-		DRM_ERROR("ib ring test failed (%d).\n", r);
-
 	if (amdgpu_sriov_vf(adev))
 		amdgpu_virt_init_data_exchange(adev);
 
@@ -2640,11 +2640,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
 
 	amdgpu_fence_driver_resume(adev);
 
-	if (resume) {
-		r = amdgpu_ib_ring_tests(adev);
-		if (r)
-			DRM_ERROR("ib ring test failed (%d).\n", r);
-	}
 
 	r = amdgpu_device_ip_late_init(adev);
 	if (r)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 487d39e..83d7160 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -279,6 +279,9 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
 	if (!info->return_size || !info->return_pointer)
 		return -EINVAL;
 
+	/* Ensure IB tests are run on ring */
+	flush_delayed_work(&adev->late_init_work);
+
 	switch (info->query) {
 	case AMDGPU_INFO_ACCEL_WORKING:
 		ui32 = adev->accel_working;
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3)
       [not found] ` <1523863066-5199-1-git-send-email-shirish.s-5C7GfCeVMHo@public.gmane.org>
@ 2018-04-16  8:33   ` Christian König
  2018-04-16  9:04   ` Zhang, Jerry (Junwei)
  1 sibling, 0 replies; 5+ messages in thread
From: Christian König @ 2018-04-16  8:33 UTC (permalink / raw)
  To: Shirish S, Alexander.Deucher-5C7GfCeVMHo,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Am 16.04.2018 um 09:17 schrieb Shirish S:
> amdgpu_ib_ring_tests() runs test IB's on rings at boot
> contributes to ~500 ms of amdgpu driver's boot time.
>
> This patch defers it and ensures that its executed
> in amdgpu_info_ioctl() if it wasn't scheduled.
>
> V2: Use queue_delayed_work() & flush_delayed_work().
> V3: removed usage of separate wq, ensure ib tests is
>      run before enabling clockgating.
>
> Signed-off-by: Shirish S <shirish.s@amd.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++-----------
>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  3 +++
>   2 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 1762eb4..f225840 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1656,6 +1656,10 @@ static int amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)
>   	if (amdgpu_emu_mode == 1)
>   		return 0;
>   
> +	r = amdgpu_ib_ring_tests(adev);
> +	if (r)
> +		DRM_ERROR("ib ring test failed (%d).\n", r);
> +
>   	for (i = 0; i < adev->num_ip_blocks; i++) {
>   		if (!adev->ip_blocks[i].status.valid)
>   			continue;
> @@ -1706,8 +1710,8 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)
>   		}
>   	}
>   
> -	mod_delayed_work(system_wq, &adev->late_init_work,
> -			msecs_to_jiffies(AMDGPU_RESUME_MS));
> +	queue_delayed_work(system_wq, &adev->late_init_work,
> +			   msecs_to_jiffies(AMDGPU_RESUME_MS));
>   
>   	amdgpu_device_fill_reset_magic(adev);
>   
> @@ -2374,10 +2378,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>   		goto failed;
>   	}
>   
> -	r = amdgpu_ib_ring_tests(adev);
> -	if (r)
> -		DRM_ERROR("ib ring test failed (%d).\n", r);
> -
>   	if (amdgpu_sriov_vf(adev))
>   		amdgpu_virt_init_data_exchange(adev);
>   
> @@ -2640,11 +2640,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
>   
>   	amdgpu_fence_driver_resume(adev);
>   
> -	if (resume) {
> -		r = amdgpu_ib_ring_tests(adev);
> -		if (r)
> -			DRM_ERROR("ib ring test failed (%d).\n", r);
> -	}
>   
>   	r = amdgpu_device_ip_late_init(adev);
>   	if (r)
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 487d39e..83d7160 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -279,6 +279,9 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
>   	if (!info->return_size || !info->return_pointer)
>   		return -EINVAL;
>   
> +	/* Ensure IB tests are run on ring */
> +	flush_delayed_work(&adev->late_init_work);
> +
>   	switch (info->query) {
>   	case AMDGPU_INFO_ACCEL_WORKING:
>   		ui32 = adev->accel_working;

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3)
       [not found] ` <1523863066-5199-1-git-send-email-shirish.s-5C7GfCeVMHo@public.gmane.org>
  2018-04-16  8:33   ` Christian König
@ 2018-04-16  9:04   ` Zhang, Jerry (Junwei)
       [not found]     ` <5AD46711.2030704-5C7GfCeVMHo@public.gmane.org>
  1 sibling, 1 reply; 5+ messages in thread
From: Zhang, Jerry (Junwei) @ 2018-04-16  9:04 UTC (permalink / raw)
  To: Shirish S, Alexander.Deucher-5C7GfCeVMHo,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Christian.Koenig-5C7GfCeVMHo

On 04/16/2018 03:17 PM, Shirish S wrote:
> amdgpu_ib_ring_tests() runs test IB's on rings at boot
> contributes to ~500 ms of amdgpu driver's boot time.
>
> This patch defers it and ensures that its executed
> in amdgpu_info_ioctl() if it wasn't scheduled.
>
> V2: Use queue_delayed_work() & flush_delayed_work().
> V3: removed usage of separate wq, ensure ib tests is
>      run before enabling clockgating.
>
> Signed-off-by: Shirish S <shirish.s@amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++-----------
>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  3 +++
>   2 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 1762eb4..f225840 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1656,6 +1656,10 @@ static int amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)
>   	if (amdgpu_emu_mode == 1)
>   		return 0;
>
> +	r = amdgpu_ib_ring_tests(adev);
> +	if (r)
> +		DRM_ERROR("ib ring test failed (%d).\n", r);
> +

Just confirm:
IIRC, ib may not run immediately via scheduler thread.
Is there any possible that the actual ib ring test interferes cg enablement?

Jerry

>   	for (i = 0; i < adev->num_ip_blocks; i++) {
>   		if (!adev->ip_blocks[i].status.valid)
>   			continue;
> @@ -1706,8 +1710,8 @@ static int amdgpu_device_ip_late_init(struct amdgpu_device *adev)
>   		}
>   	}
>
> -	mod_delayed_work(system_wq, &adev->late_init_work,
> -			msecs_to_jiffies(AMDGPU_RESUME_MS));
> +	queue_delayed_work(system_wq, &adev->late_init_work,
> +			   msecs_to_jiffies(AMDGPU_RESUME_MS));
>
>   	amdgpu_device_fill_reset_magic(adev);
>
> @@ -2374,10 +2378,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>   		goto failed;
>   	}
>
> -	r = amdgpu_ib_ring_tests(adev);
> -	if (r)
> -		DRM_ERROR("ib ring test failed (%d).\n", r);
> -
>   	if (amdgpu_sriov_vf(adev))
>   		amdgpu_virt_init_data_exchange(adev);
>
> @@ -2640,11 +2640,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
>
>   	amdgpu_fence_driver_resume(adev);
>
> -	if (resume) {
> -		r = amdgpu_ib_ring_tests(adev);
> -		if (r)
> -			DRM_ERROR("ib ring test failed (%d).\n", r);
> -	}
>
>   	r = amdgpu_device_ip_late_init(adev);
>   	if (r)
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 487d39e..83d7160 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -279,6 +279,9 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
>   	if (!info->return_size || !info->return_pointer)
>   		return -EINVAL;
>
> +	/* Ensure IB tests are run on ring */
> +	flush_delayed_work(&adev->late_init_work);
> +
>   	switch (info->query) {
>   	case AMDGPU_INFO_ACCEL_WORKING:
>   		ui32 = adev->accel_working;
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3)
       [not found]     ` <5AD46711.2030704-5C7GfCeVMHo@public.gmane.org>
@ 2018-04-16  9:19       ` Christian König
       [not found]         ` <de47ee26-f07f-4e36-e55f-8d82aee9a2ef-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Christian König @ 2018-04-16  9:19 UTC (permalink / raw)
  To: Zhang, Jerry (Junwei),
	Shirish S, Alexander.Deucher-5C7GfCeVMHo,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

Am 16.04.2018 um 11:04 schrieb Zhang, Jerry (Junwei):
> On 04/16/2018 03:17 PM, Shirish S wrote:
>> amdgpu_ib_ring_tests() runs test IB's on rings at boot
>> contributes to ~500 ms of amdgpu driver's boot time.
>>
>> This patch defers it and ensures that its executed
>> in amdgpu_info_ioctl() if it wasn't scheduled.
>>
>> V2: Use queue_delayed_work() & flush_delayed_work().
>> V3: removed usage of separate wq, ensure ib tests is
>>      run before enabling clockgating.
>>
>> Signed-off-by: Shirish S <shirish.s@amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++-----------
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  3 +++
>>   2 files changed, 9 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index 1762eb4..f225840 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -1656,6 +1656,10 @@ static int 
>> amdgpu_device_ip_late_set_cg_state(struct amdgpu_device *adev)
>>       if (amdgpu_emu_mode == 1)
>>           return 0;
>>
>> +    r = amdgpu_ib_ring_tests(adev);
>> +    if (r)
>> +        DRM_ERROR("ib ring test failed (%d).\n", r);
>> +
>
> Just confirm:
> IIRC, ib may not run immediately via scheduler thread.
> Is there any possible that the actual ib ring test interferes cg 
> enablement?

No, the IB tests are run directly on the hardware ring and not through 
the scheduler.

But even when we run them through the scheduler we wait for the to 
complete, so that shouldn't be an issue.

Christian.

>
> Jerry
>
>>       for (i = 0; i < adev->num_ip_blocks; i++) {
>>           if (!adev->ip_blocks[i].status.valid)
>>               continue;
>> @@ -1706,8 +1710,8 @@ static int amdgpu_device_ip_late_init(struct 
>> amdgpu_device *adev)
>>           }
>>       }
>>
>> -    mod_delayed_work(system_wq, &adev->late_init_work,
>> -            msecs_to_jiffies(AMDGPU_RESUME_MS));
>> +    queue_delayed_work(system_wq, &adev->late_init_work,
>> +               msecs_to_jiffies(AMDGPU_RESUME_MS));
>>
>>       amdgpu_device_fill_reset_magic(adev);
>>
>> @@ -2374,10 +2378,6 @@ int amdgpu_device_init(struct amdgpu_device 
>> *adev,
>>           goto failed;
>>       }
>>
>> -    r = amdgpu_ib_ring_tests(adev);
>> -    if (r)
>> -        DRM_ERROR("ib ring test failed (%d).\n", r);
>> -
>>       if (amdgpu_sriov_vf(adev))
>>           amdgpu_virt_init_data_exchange(adev);
>>
>> @@ -2640,11 +2640,6 @@ int amdgpu_device_resume(struct drm_device 
>> *dev, bool resume, bool fbcon)
>>
>>       amdgpu_fence_driver_resume(adev);
>>
>> -    if (resume) {
>> -        r = amdgpu_ib_ring_tests(adev);
>> -        if (r)
>> -            DRM_ERROR("ib ring test failed (%d).\n", r);
>> -    }
>>
>>       r = amdgpu_device_ip_late_init(adev);
>>       if (r)
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>> index 487d39e..83d7160 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>> @@ -279,6 +279,9 @@ static int amdgpu_info_ioctl(struct drm_device 
>> *dev, void *data, struct drm_file
>>       if (!info->return_size || !info->return_pointer)
>>           return -EINVAL;
>>
>> +    /* Ensure IB tests are run on ring */
>> +    flush_delayed_work(&adev->late_init_work);
>> +
>>       switch (info->query) {
>>       case AMDGPU_INFO_ACCEL_WORKING:
>>           ui32 = adev->accel_working;
>>

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3)
       [not found]         ` <de47ee26-f07f-4e36-e55f-8d82aee9a2ef-5C7GfCeVMHo@public.gmane.org>
@ 2018-04-16  9:29           ` Zhang, Jerry (Junwei)
  0 siblings, 0 replies; 5+ messages in thread
From: Zhang, Jerry (Junwei) @ 2018-04-16  9:29 UTC (permalink / raw)
  To: Christian König, Shirish S, Alexander.Deucher-5C7GfCeVMHo,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 04/16/2018 05:19 PM, Christian König wrote:
> Am 16.04.2018 um 11:04 schrieb Zhang, Jerry (Junwei):
>> On 04/16/2018 03:17 PM, Shirish S wrote:
>>> amdgpu_ib_ring_tests() runs test IB's on rings at boot
>>> contributes to ~500 ms of amdgpu driver's boot time.
>>>
>>> This patch defers it and ensures that its executed
>>> in amdgpu_info_ioctl() if it wasn't scheduled.
>>>
>>> V2: Use queue_delayed_work() & flush_delayed_work().
>>> V3: removed usage of separate wq, ensure ib tests is
>>>      run before enabling clockgating.
>>>
>>> Signed-off-by: Shirish S <shirish.s@amd.com>
>>> ---
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++-----------
>>>   drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  3 +++
>>>   2 files changed, 9 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>>> index 1762eb4..f225840 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>>> @@ -1656,6 +1656,10 @@ static int amdgpu_device_ip_late_set_cg_state(struct
>>> amdgpu_device *adev)
>>>       if (amdgpu_emu_mode == 1)
>>>           return 0;
>>>
>>> +    r = amdgpu_ib_ring_tests(adev);
>>> +    if (r)
>>> +        DRM_ERROR("ib ring test failed (%d).\n", r);
>>> +
>>
>> Just confirm:
>> IIRC, ib may not run immediately via scheduler thread.
>> Is there any possible that the actual ib ring test interferes cg enablement?
>
> No, the IB tests are run directly on the hardware ring and not through the
> scheduler.
>
> But even when we run them through the scheduler we wait for the to complete, so
> that shouldn't be an issue.

Thanks for explanation.
That's fine.

Jerry

>
> Christian.
>
>>
>> Jerry
>>
>>>       for (i = 0; i < adev->num_ip_blocks; i++) {
>>>           if (!adev->ip_blocks[i].status.valid)
>>>               continue;
>>> @@ -1706,8 +1710,8 @@ static int amdgpu_device_ip_late_init(struct
>>> amdgpu_device *adev)
>>>           }
>>>       }
>>>
>>> -    mod_delayed_work(system_wq, &adev->late_init_work,
>>> -            msecs_to_jiffies(AMDGPU_RESUME_MS));
>>> +    queue_delayed_work(system_wq, &adev->late_init_work,
>>> +               msecs_to_jiffies(AMDGPU_RESUME_MS));
>>>
>>>       amdgpu_device_fill_reset_magic(adev);
>>>
>>> @@ -2374,10 +2378,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
>>>           goto failed;
>>>       }
>>>
>>> -    r = amdgpu_ib_ring_tests(adev);
>>> -    if (r)
>>> -        DRM_ERROR("ib ring test failed (%d).\n", r);
>>> -
>>>       if (amdgpu_sriov_vf(adev))
>>>           amdgpu_virt_init_data_exchange(adev);
>>>
>>> @@ -2640,11 +2640,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool
>>> resume, bool fbcon)
>>>
>>>       amdgpu_fence_driver_resume(adev);
>>>
>>> -    if (resume) {
>>> -        r = amdgpu_ib_ring_tests(adev);
>>> -        if (r)
>>> -            DRM_ERROR("ib ring test failed (%d).\n", r);
>>> -    }
>>>
>>>       r = amdgpu_device_ip_late_init(adev);
>>>       if (r)
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>> index 487d39e..83d7160 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
>>> @@ -279,6 +279,9 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void
>>> *data, struct drm_file
>>>       if (!info->return_size || !info->return_pointer)
>>>           return -EINVAL;
>>>
>>> +    /* Ensure IB tests are run on ring */
>>> +    flush_delayed_work(&adev->late_init_work);
>>> +
>>>       switch (info->query) {
>>>       case AMDGPU_INFO_ACCEL_WORKING:
>>>           ui32 = adev->accel_working;
>>>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-04-16  9:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-16  7:17 [PATCH] drm/amdgpu: defer test IBs on the rings at boot (V3) Shirish S
     [not found] ` <1523863066-5199-1-git-send-email-shirish.s-5C7GfCeVMHo@public.gmane.org>
2018-04-16  8:33   ` Christian König
2018-04-16  9:04   ` Zhang, Jerry (Junwei)
     [not found]     ` <5AD46711.2030704-5C7GfCeVMHo@public.gmane.org>
2018-04-16  9:19       ` Christian König
     [not found]         ` <de47ee26-f07f-4e36-e55f-8d82aee9a2ef-5C7GfCeVMHo@public.gmane.org>
2018-04-16  9:29           ` Zhang, Jerry (Junwei)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.