[PATCH V2] drm/amdgpu: allocate entities on demand

2020-01-24 Thread Nirmoy Das
Currently we pre-allocate entities and fences for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity/fences wastage by creating entity only when needed. v2: allocate memory for entity and fences together Signed-off-by: Nirmoy Das

[PATCH] drm/amdgpu: allocate entities on demand

2020-01-24 Thread Nirmoy Das
Currently we pre-allocate entities and fences for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity/fences wastage by creating entity only when needed. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 232

[PATCH] drm/amdgpu: allocate entities on demand

2020-01-24 Thread Nirmoy Das
Currently we pre-allocate entities and fences for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity/fences wastage by creating entity only when needed. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 244

[PATCH] drm/amdgpu: allocate entities on demand

2020-01-23 Thread Nirmoy Das
Currently we pre-allocate entities and fences for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity/fences wastage by creating entity only when needed. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 244

[PATCH] drm/amdgpu: remove unused label

2020-01-22 Thread Nirmoy Das
Fixes: 445a7d54 (drm/amdgpu/vcn2.5: fix a bug for the 2nd vcn instance) Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c b/drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c index de32e96a8409

[PATCH] drm/amdgpu: fix doc by clarifying sched_list definition

2020-01-22 Thread Nirmoy Das
expand sched_list definition for better understanding. Also fix a typo atleast -> at least Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- include/drm/gpu_scheduler.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/driv

[PATCH 2/2] drm/amdgpu: allocate entities on demand

2020-01-22 Thread Nirmoy Das
at amdgpu_ctx_priority_permit() Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 160 +--- 1 file changed, 87 insertions(+), 73 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c index eecbd68db986..d704e1bebb1b 100644

[PATCH 1/2] drm/amdgpu: individualize amdgpu entity allocation per HW IP

2020-01-22 Thread Nirmoy Das
Do not allocate all the entity at once. This is required for dynamic amdgpu_ctx_entity creation. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 143 +--- 1 file changed, 76 insertions(+), 67 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu

[PATCH 1/2] drm/amdgpu: individualize amdgpu entity allocation per HW IP

2020-01-21 Thread Nirmoy Das
Do not allocate all the entity at once. This is required for dynamic amdgpu_ctx_entity creation. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 130 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu

[PATCH 2/2] drm/amdgpu: allocate entities on demand

2020-01-21 Thread Nirmoy Das
Currently we pre-allocate entities and fences for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity/fences wastage by creating entities for a HW IP only when it is required. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu

[PATCH] drm/amdgpu: individualize fence allocation per entity

2020-01-21 Thread Nirmoy Das
Allocate fences for each entity and remove ctx->fences reference as fences should be bound to amdgpu_ctx_entity instead amdgpu_ctx. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 44 +++-- drivers/gpu/drm/amd/amd

[PATCH] drm/amdgpu: individualize fence allocation per entity

2020-01-21 Thread Nirmoy Das
Allocate fences for each entity and remove ctx->fences reference as fences should be bound to amdgpu_ctx_entity instead amdgpu_ctx. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 43 +++-- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h | 1 - 2 fi

[PATCH] drm/amdgpu: fix doc by clarifying sched_list definition

2020-01-20 Thread Nirmoy Das
expand sched_list definition for better understanding. Also fix a typo atleast -> at least Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- include/drm/gpu_scheduler.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/driv

[PATCH] drm/amdgpu: fix a typo atleast -> at least

2020-01-20 Thread Nirmoy Das
Fixes: b8c8b23f58c71 (drm/scheduler: fix documentation by replacing rq_list with sched_list) Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm

[PATCH] drm/amdgpu: remove unnecessary conversion to bool

2020-01-20 Thread Nirmoy Das
Better clean that up before some automation starts to complain about it Signed-off-by: Nirmoy Das Acked-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/athub_v1_0.c| 4 ++-- drivers

[PATCH] drm/amdgpu: remove unnecessary conversion to bool

2020-01-20 Thread Nirmoy Das
Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c| 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/athub_v1_0.c| 4 ++-- drivers/gpu/drm/amd/amdgpu/athub_v2_0.c| 4 ++-- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 4

[PATCH] drm/scheduler: fix documentation by replacing rq_list with sched_list

2020-01-16 Thread Nirmoy Das
This also replaces old artifacts with a correct one in drm_sched_entity_init() declaration Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- include/drm/gpu_scheduler.h | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git

[PATCH] drm/scheduler: improve job distribution with multiple queues

2020-01-15 Thread Nirmoy Das
= == sdma0 216 sdma1 185 comp_1.0.0 39 comp_1.0.1 9 comp_1.1.0 12 comp_1.1.1 0 comp_1.2.0 12 comp_1.2.1 0 comp_1.3.0 12 comp_1.3.1 0 Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 10 +- drivers/gpu/drm/scheduler

[PATCH] drm/scheduler: improve job distribution with multiple queues

2020-01-15 Thread Nirmoy Das
= == sdma0 218 sdma1 211 comp_1.0.0 39 comp_1.0.1 9 comp_1.1.0 12 comp_1.1.1 0 comp_1.2.0 12 comp_1.2.1 0 comp_1.3.0 12 comp_1.3.1 0 Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 9 - drivers/gpu/drm/scheduler

[RFC PATCH] drm/scheduler: use idle time to do better loadbalance

2020-01-14 Thread Nirmoy Das
= == sdma0 210 sdma1 211 comp_1.0.0 10 comp_1.0.1 10 comp_1.1.0 14 comp_1.1.1 6 comp_1.2.0 12 comp_1.2.1 14 comp_1.3.0 8 comp_1.3.1 10 Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c

[PATCH] drm/scheduler: fix race condition in load balancer

2020-01-14 Thread Nirmoy Das
n earlier) Signed-off-by: Nirmoy Das Reported-by: Pierre-Eric Pelloux-Prayer --- drivers/gpu/drm/scheduler/sched_entity.c | 9 +++-- drivers/gpu/drm/scheduler/sched_main.c | 1 + include/drm/gpu_scheduler.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dr

[PATCH] drm/scheduler: fix documentation by replacing rq_list with sched_list

2020-01-14 Thread Nirmoy Das
Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c index 2e3a058fc239..62bcca855c69 100644 --- a/drivers/gpu/drm/scheduler

[PATCH RESEND] drm/amdgpu: error out on entity with no run queue

2020-01-14 Thread Nirmoy Das
Disabled HW IP's entity initialized with NULL rq. We should not process any submit request from userspace for a disabled HW IP. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b

[RFC PATCH] drm/scheduler: use idle time to do better loadbalance

2020-01-11 Thread Nirmoy Das
= == sdma0 113 sdma1 383 comp_1.0.0 9 comp_1.0.1 9 comp_1.1.0 8 comp_1.1.1 8 comp_1.2.012 comp_1.2.113 comp_1.3.016 comp_1.3.19 Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 9

[PATCH] drm/amdgpu: error out on entity with no run queue

2020-01-09 Thread Nirmoy Das
Disabled HW IP's entity initialized with NULL rq. We should not process any submit request from userspace for a disabled HW IP. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b

[PATCH] drm/amdgpu: catch amdgpu_irq_add_id failure

2020-01-08 Thread Nirmoy Das
Do not ignore amdgpu_irq_add_id return value while registering VMC page fault interrupt. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c

[PATCH] amd/amdgpu: add missing break statement

2019-12-16 Thread Nirmoy Das
Fixes: 8c066a8c7a9ac9a66 (amd/amdgpu: add sched array to IPs with multiple run-queues) Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

[PATCH v2 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-16 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH v2 0/4] drm/amdgpu: cleanup entity creation

2019-12-16 Thread Nirmoy Das
v2 Changes: rebased 0003-amd-amdgpu-add-sched-array-to-IPs-with-multiple-run-.patch because of a5c191e9cd09a8fa697865882619692b4dba8417(drm/amdgpu: fix JPEG instance checking when ctx init) Nirmoy Das (4): drm/scheduler: rework entity creation drm/amdgpu: replace vm_pte's run-queue list

[PATCH v2 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-16 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/scheduler/sched_entity.c | 19 --- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c

[PATCH v2 3/4] amd/amdgpu: add sched array to IPs with multiple run-queues

2019-12-16 Thread Nirmoy Das
This sched array can be passed on to entity creation routine instead of manually creating such sched array on every context creation. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 114 + drivers/gpu/drm/amd/amdgpu

[PATCH v2 1/4] drm/scheduler: rework entity creation

2019-12-16 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-11 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/scheduler/sched_entity.c | 19 --- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-11 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH 3/4] amd/amdgpu: add sched array to IPs with multiple run-queues

2019-12-11 Thread Nirmoy Das
This sched array can be passed on to entity creation routine instead of manually creating such sched array on every context creation. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 113 + drivers/gpu/drm/amd/amdgpu

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-11 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-11 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/scheduler/sched_entity.c | 19 --- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c

[PATCH 1/4 v2] drm/scheduler: rework entity creation

2019-12-11 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-11 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH 3/4 v2] amd/amdgpu: add sched array to IPs with multiple run-queues

2019-12-11 Thread Nirmoy Das
This sched array can be passed on to entity creation routine instead of manually creating such sched array on every context creation. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 113 + drivers/gpu/drm/amd/amdgpu

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-10 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-10 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 19 --- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-10 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH 3/4 v2] amd/amdgpu: add sched array to IPs with multiple run-queues

2019-12-10 Thread Nirmoy Das
This sched array can be passed on to entity creation routine instead of manually creating such sched array on every context creation. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 113 + drivers/gpu/drm/amd/amdgpu

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-10 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-10 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-10 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH 3/4 v2] amd/amdgpu: add sched array to IPs with multiple run-queues

2019-12-10 Thread Nirmoy Das
This sched array can be passed on to entity creation routine instead of manually creating such sched array on every context creation. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 113 + drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h| 3 + drivers

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-09 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-09 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/scheduler/sched_entity.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-09 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd

[PATCH 3/4] amd/amdgpu: add sched list to IPs with multiple run-queues

2019-12-09 Thread Nirmoy Das
This sched list can be passed on to entity creation routine instead of manually creating such sched list on every context creation. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c| 69 -- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 44

[PATCH 4/4] drm/scheduler: do not keep a copy of sched list

2019-12-06 Thread Nirmoy Das
entity should not keep copy and maintain sched list for itself. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 11 --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h | 1 + drivers/gpu/drm/scheduler/sched_entity.c | 12 +--- 3 files changed, 10 insertions

[PATCH 3/4] drm/amdgpu: allocate entities on demand

2019-12-06 Thread Nirmoy Das
Currently we pre-allocate entities for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity wastage by creating entities for a HW IP only when it is required. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 176

[PATCH 1/4] drm/scheduler: rework entity creation

2019-12-06 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH 2/4] drm/amdgpu: replace vm_pte's run-queue list with drm gpu scheds list

2019-12-06 Thread Nirmoy Das
drm_sched_entity_init() takes drm gpu scheduler list instead of drm_sched_rq list. This makes conversion of drm_sched_rq list to drm gpu scheduler list unnecessary Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 11

[PATCH v3] drm/scheduler: rework entity creation

2019-12-05 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das Reviewed-by: Christian König --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm

[PATCH v2] drm/scheduler: rework entity creation

2019-12-05 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14

[PATCH] drm/scheduler: rework entity creation

2019-12-05 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14

[PATCH v3] drm/scheduler: rework entity creation

2019-12-05 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14

[RFC PATCH] drm/scheduler: rework entity creation

2019-12-05 Thread Nirmoy Das
for a drm scheduler. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 7 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 7 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 7 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 7 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14

[RFC PATCH] drm/amdgpu: allocate entities on demand

2019-11-26 Thread Nirmoy Das
Currently we pre-allocate entities for all the HW IPs on context creation and some of which are might never be used. This patch tries to resolve entity wastage by creating entities for a HW IP only when it is required. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 142

[PATCH] drm/amdgpu: remove unused variable in amdgpu_gfx_kiq_free_ring

2019-10-24 Thread Nirmoy Das
Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 +-- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 3 +-- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 2 +- 5 files changed, 5

[RFC PATCH] drm/amdgpu: fix amdgpu_vm_handle_fault return value

2019-10-10 Thread Nirmoy Das
amdgpu_vm_handle_fault should return true on success Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index d9bece987e60

[PATCH] drm/amdgpu: fix memory leak

2019-10-04 Thread Nirmoy Das
cleanup error handling code and make sure temporary info array with the handles are freed by amdgpu_bo_list_put() on idr_replace()'s failure. Signed-off-by: Nirmoy Das --- drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff

<    1   2   3   4   5