All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb
@ 2016-10-21 19:31 Alex Deucher
       [not found] ` <1477078293-23098-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Alex Deucher @ 2016-10-21 19:31 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

Rather than open coding it.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 37 ++++++------------------------
 1 file changed, 7 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index b7b6542..314295f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -443,13 +443,9 @@ void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev,
 static void amdgpu_wb_fini(struct amdgpu_device *adev)
 {
 	if (adev->wb.wb_obj) {
-		if (!amdgpu_bo_reserve(adev->wb.wb_obj, false)) {
-			amdgpu_bo_kunmap(adev->wb.wb_obj);
-			amdgpu_bo_unpin(adev->wb.wb_obj);
-			amdgpu_bo_unreserve(adev->wb.wb_obj);
-		}
-		amdgpu_bo_unref(&adev->wb.wb_obj);
-		adev->wb.wb = NULL;
+		amdgpu_bo_free_kernel(&adev->wb.wb_obj,
+				      &adev->wb.gpu_addr,
+				      (void **)&adev->wb.wb);
 		adev->wb.wb_obj = NULL;
 	}
 }
@@ -468,33 +464,14 @@ static int amdgpu_wb_init(struct amdgpu_device *adev)
 	int r;
 
 	if (adev->wb.wb_obj == NULL) {
-		r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true,
-				     AMDGPU_GEM_DOMAIN_GTT, 0,  NULL, NULL,
-				     &adev->wb.wb_obj);
+		r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * 4,
+					    PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT,
+					    &adev->wb.wb_obj, &adev->wb.gpu_addr,
+					    (void **)&adev->wb.wb);
 		if (r) {
 			dev_warn(adev->dev, "(%d) create WB bo failed\n", r);
 			return r;
 		}
-		r = amdgpu_bo_reserve(adev->wb.wb_obj, false);
-		if (unlikely(r != 0)) {
-			amdgpu_wb_fini(adev);
-			return r;
-		}
-		r = amdgpu_bo_pin(adev->wb.wb_obj, AMDGPU_GEM_DOMAIN_GTT,
-				&adev->wb.gpu_addr);
-		if (r) {
-			amdgpu_bo_unreserve(adev->wb.wb_obj);
-			dev_warn(adev->dev, "(%d) pin WB bo failed\n", r);
-			amdgpu_wb_fini(adev);
-			return r;
-		}
-		r = amdgpu_bo_kmap(adev->wb.wb_obj, (void **)&adev->wb.wb);
-		amdgpu_bo_unreserve(adev->wb.wb_obj);
-		if (r) {
-			dev_warn(adev->dev, "(%d) map WB bo failed\n", r);
-			amdgpu_wb_fini(adev);
-			return r;
-		}
 
 		adev->wb.num_wb = AMDGPU_MAX_WB;
 		memset(&adev->wb.used, 0, sizeof(adev->wb.used));
-- 
2.5.5

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

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

* Re: [PATCH] drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb
       [not found] ` <1477078293-23098-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
@ 2016-10-22  8:20   ` Edward O'Callaghan
       [not found]     ` <0851af1f-0e53-b0aa-10a7-432f6fad68dd-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Edward O'Callaghan @ 2016-10-22  8:20 UTC (permalink / raw)
  To: Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher


[-- Attachment #1.1.1: Type: text/plain, Size: 2557 bytes --]

Acked-by: Edward O'Callaghan <funfunctor-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>

On 10/22/2016 06:31 AM, Alex Deucher wrote:
> Rather than open coding it.
> 
> Signed-off-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 37 ++++++------------------------
>  1 file changed, 7 insertions(+), 30 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index b7b6542..314295f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -443,13 +443,9 @@ void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev,
>  static void amdgpu_wb_fini(struct amdgpu_device *adev)
>  {
>  	if (adev->wb.wb_obj) {
> -		if (!amdgpu_bo_reserve(adev->wb.wb_obj, false)) {
> -			amdgpu_bo_kunmap(adev->wb.wb_obj);
> -			amdgpu_bo_unpin(adev->wb.wb_obj);
> -			amdgpu_bo_unreserve(adev->wb.wb_obj);
> -		}
> -		amdgpu_bo_unref(&adev->wb.wb_obj);
> -		adev->wb.wb = NULL;
> +		amdgpu_bo_free_kernel(&adev->wb.wb_obj,
> +				      &adev->wb.gpu_addr,
> +				      (void **)&adev->wb.wb);
>  		adev->wb.wb_obj = NULL;
>  	}
>  }
> @@ -468,33 +464,14 @@ static int amdgpu_wb_init(struct amdgpu_device *adev)
>  	int r;
>  
>  	if (adev->wb.wb_obj == NULL) {
> -		r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true,
> -				     AMDGPU_GEM_DOMAIN_GTT, 0,  NULL, NULL,
> -				     &adev->wb.wb_obj);
> +		r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * 4,
> +					    PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT,
> +					    &adev->wb.wb_obj, &adev->wb.gpu_addr,
> +					    (void **)&adev->wb.wb);
>  		if (r) {
>  			dev_warn(adev->dev, "(%d) create WB bo failed\n", r);
>  			return r;
>  		}
> -		r = amdgpu_bo_reserve(adev->wb.wb_obj, false);
> -		if (unlikely(r != 0)) {
> -			amdgpu_wb_fini(adev);
> -			return r;
> -		}
> -		r = amdgpu_bo_pin(adev->wb.wb_obj, AMDGPU_GEM_DOMAIN_GTT,
> -				&adev->wb.gpu_addr);
> -		if (r) {
> -			amdgpu_bo_unreserve(adev->wb.wb_obj);
> -			dev_warn(adev->dev, "(%d) pin WB bo failed\n", r);
> -			amdgpu_wb_fini(adev);
> -			return r;
> -		}
> -		r = amdgpu_bo_kmap(adev->wb.wb_obj, (void **)&adev->wb.wb);
> -		amdgpu_bo_unreserve(adev->wb.wb_obj);
> -		if (r) {
> -			dev_warn(adev->dev, "(%d) map WB bo failed\n", r);
> -			amdgpu_wb_fini(adev);
> -			return r;
> -		}
>  
>  		adev->wb.num_wb = AMDGPU_MAX_WB;
>  		memset(&adev->wb.used, 0, sizeof(adev->wb.used));
> 


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

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

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

* Re: [PATCH] drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb
       [not found]     ` <0851af1f-0e53-b0aa-10a7-432f6fad68dd-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
@ 2016-10-22 17:45       ` Christian König
  0 siblings, 0 replies; 3+ messages in thread
From: Christian König @ 2016-10-22 17:45 UTC (permalink / raw)
  To: Edward O'Callaghan, Alex Deucher,
	amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Alex Deucher


[-- Attachment #1.1: Type: text/plain, Size: 2899 bytes --]

Reviewed-by: Christian König <christian.koenig-5C7GfCeVMHo@public.gmane.org>.

Am 22.10.2016 um 10:20 schrieb Edward O'Callaghan:
> Acked-by: Edward O'Callaghan <funfunctor-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
>
> On 10/22/2016 06:31 AM, Alex Deucher wrote:
>> Rather than open coding it.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 37 ++++++------------------------
>>   1 file changed, 7 insertions(+), 30 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index b7b6542..314295f 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -443,13 +443,9 @@ void amdgpu_doorbell_get_kfd_info(struct amdgpu_device *adev,
>>   static void amdgpu_wb_fini(struct amdgpu_device *adev)
>>   {
>>   	if (adev->wb.wb_obj) {
>> -		if (!amdgpu_bo_reserve(adev->wb.wb_obj, false)) {
>> -			amdgpu_bo_kunmap(adev->wb.wb_obj);
>> -			amdgpu_bo_unpin(adev->wb.wb_obj);
>> -			amdgpu_bo_unreserve(adev->wb.wb_obj);
>> -		}
>> -		amdgpu_bo_unref(&adev->wb.wb_obj);
>> -		adev->wb.wb = NULL;
>> +		amdgpu_bo_free_kernel(&adev->wb.wb_obj,
>> +				      &adev->wb.gpu_addr,
>> +				      (void **)&adev->wb.wb);
>>   		adev->wb.wb_obj = NULL;
>>   	}
>>   }
>> @@ -468,33 +464,14 @@ static int amdgpu_wb_init(struct amdgpu_device *adev)
>>   	int r;
>>   
>>   	if (adev->wb.wb_obj == NULL) {
>> -		r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true,
>> -				     AMDGPU_GEM_DOMAIN_GTT, 0,  NULL, NULL,
>> -				     &adev->wb.wb_obj);
>> +		r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * 4,
>> +					    PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT,
>> +					    &adev->wb.wb_obj, &adev->wb.gpu_addr,
>> +					    (void **)&adev->wb.wb);
>>   		if (r) {
>>   			dev_warn(adev->dev, "(%d) create WB bo failed\n", r);
>>   			return r;
>>   		}
>> -		r = amdgpu_bo_reserve(adev->wb.wb_obj, false);
>> -		if (unlikely(r != 0)) {
>> -			amdgpu_wb_fini(adev);
>> -			return r;
>> -		}
>> -		r = amdgpu_bo_pin(adev->wb.wb_obj, AMDGPU_GEM_DOMAIN_GTT,
>> -				&adev->wb.gpu_addr);
>> -		if (r) {
>> -			amdgpu_bo_unreserve(adev->wb.wb_obj);
>> -			dev_warn(adev->dev, "(%d) pin WB bo failed\n", r);
>> -			amdgpu_wb_fini(adev);
>> -			return r;
>> -		}
>> -		r = amdgpu_bo_kmap(adev->wb.wb_obj, (void **)&adev->wb.wb);
>> -		amdgpu_bo_unreserve(adev->wb.wb_obj);
>> -		if (r) {
>> -			dev_warn(adev->dev, "(%d) map WB bo failed\n", r);
>> -			amdgpu_wb_fini(adev);
>> -			return r;
>> -		}
>>   
>>   		adev->wb.num_wb = AMDGPU_MAX_WB;
>>   		memset(&adev->wb.used, 0, sizeof(adev->wb.used));
>>
>
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx



[-- Attachment #1.2: Type: text/html, Size: 3958 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

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

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

end of thread, other threads:[~2016-10-22 17:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-21 19:31 [PATCH] drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb Alex Deucher
     [not found] ` <1477078293-23098-1-git-send-email-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
2016-10-22  8:20   ` Edward O'Callaghan
     [not found]     ` <0851af1f-0e53-b0aa-10a7-432f6fad68dd-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
2016-10-22 17:45       ` Christian König

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.