* [PATCH 1/4] drm/amdkfd: Use 64 bit sdma_bitmap
@ 2018-11-13 19:11 Oak Zeng
[not found] ` <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 8+ messages in thread
From: Oak Zeng @ 2018-11-13 19:11 UTC (permalink / raw)
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; +Cc: Zeng, Oak
From: Oak Zeng <Oak.Zeng@amd.com>
Maximumly support 64 sdma queues
Change-Id: Ia34b81fe606f730cb0cddb5dfc833cfe8abcf776
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
---
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 10 +++++-----
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index fb9d66e..7bf4bca 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -885,7 +885,7 @@ static int initialize_nocpsch(struct device_queue_manager *dqm)
}
dqm->vmid_bitmap = (1 << dqm->dev->vm_info.vmid_num_kfd) - 1;
- dqm->sdma_bitmap = (1 << get_num_sdma_queues(dqm)) - 1;
+ dqm->sdma_bitmap = (1ULL << get_num_sdma_queues(dqm)) - 1;
return 0;
}
@@ -923,8 +923,8 @@ static int allocate_sdma_queue(struct device_queue_manager *dqm,
if (dqm->sdma_bitmap == 0)
return -ENOMEM;
- bit = ffs(dqm->sdma_bitmap) - 1;
- dqm->sdma_bitmap &= ~(1 << bit);
+ bit = __ffs64(dqm->sdma_bitmap);
+ dqm->sdma_bitmap &= ~(1ULL << bit);
*sdma_queue_id = bit;
return 0;
@@ -935,7 +935,7 @@ static void deallocate_sdma_queue(struct device_queue_manager *dqm,
{
if (sdma_queue_id >= get_num_sdma_queues(dqm))
return;
- dqm->sdma_bitmap |= (1 << sdma_queue_id);
+ dqm->sdma_bitmap |= (1ULL << sdma_queue_id);
}
static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm,
@@ -1041,7 +1041,7 @@ static int initialize_cpsch(struct device_queue_manager *dqm)
dqm->queue_count = dqm->processes_count = 0;
dqm->sdma_queue_count = 0;
dqm->active_runlist = false;
- dqm->sdma_bitmap = (1 << get_num_sdma_queues(dqm)) - 1;
+ dqm->sdma_bitmap = (1ULL << get_num_sdma_queues(dqm)) - 1;
INIT_WORK(&dqm->hw_exception_work, kfd_process_hw_exception);
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
index 70e38a2..2770f3e 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
@@ -188,7 +188,7 @@ struct device_queue_manager {
unsigned int total_queue_count;
unsigned int next_pipe_to_allocate;
unsigned int *allocated_queues;
- unsigned int sdma_bitmap;
+ uint64_t sdma_bitmap;
unsigned int vmid_bitmap;
uint64_t pipelines_addr;
struct kfd_mem_obj *pipeline_mem;
--
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] 8+ messages in thread[parent not found: <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>]
* [PATCH 2/4] drm/amdkfd: Added more SDMA queue type [not found] ` <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> @ 2018-11-13 19:11 ` Oak Zeng [not found] ` <1542136254-5561-2-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2018-11-13 19:11 ` [PATCH 3/4] drm/amdkfd: Allocate SDMA queue on specif engine Oak Zeng 2018-11-13 19:11 ` [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message Oak Zeng 2 siblings, 1 reply; 8+ messages in thread From: Oak Zeng @ 2018-11-13 19:11 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; +Cc: Zeng, Oak From: Oak Zeng <Oak.Zeng@amd.com> The new types are used to allocate SDMA queue on specific SDMA engine Change-Id: Ica4cd7013eb86103a92cec2f74d96ac037b5ecbd Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> --- include/uapi/linux/kfd_ioctl.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h index b01eb50..8cc6e7d 100644 --- a/include/uapi/linux/kfd_ioctl.h +++ b/include/uapi/linux/kfd_ioctl.h @@ -35,9 +35,13 @@ struct kfd_ioctl_get_version_args { }; /* For kfd_ioctl_create_queue_args.queue_type. */ -#define KFD_IOC_QUEUE_TYPE_COMPUTE 0 -#define KFD_IOC_QUEUE_TYPE_SDMA 1 -#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL 2 +#define KFD_IOC_QUEUE_TYPE_COMPUTE 0x0 +#define KFD_IOC_QUEUE_TYPE_SDMA 0x1 +#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL 0x2 +#define KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(e) (0x10000 + (e)) +#define KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE(e) (0x20000 + (e)) +#define KFD_IOC_QUEUE_TYPE_SDMA_ENGINE_MAX (KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0xffff)) +#define KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE_MAX (KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE(0xffff)) #define KFD_MAX_QUEUE_PERCENTAGE 100 #define KFD_MAX_QUEUE_PRIORITY 15 -- 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] 8+ messages in thread
[parent not found: <1542136254-5561-2-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>]
* Re: [PATCH 2/4] drm/amdkfd: Added more SDMA queue type [not found] ` <1542136254-5561-2-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> @ 2018-11-13 19:57 ` Alex Deucher 0 siblings, 0 replies; 8+ messages in thread From: Alex Deucher @ 2018-11-13 19:57 UTC (permalink / raw) To: ozeng-5C7GfCeVMHo; +Cc: Oak Zeng, amd-gfx list On Tue, Nov 13, 2018 at 2:11 PM Oak Zeng <ozeng@amd.com> wrote: > > From: Oak Zeng <Oak.Zeng@amd.com> > > The new types are used to allocate SDMA queue on specific > SDMA engine > > Change-Id: Ica4cd7013eb86103a92cec2f74d96ac037b5ecbd > Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> > Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> Typo: Reviewed-by With that fixed: Acked-by: Alex Deucher <alexander.deucher@amd.com> > --- > include/uapi/linux/kfd_ioctl.h | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h > index b01eb50..8cc6e7d 100644 > --- a/include/uapi/linux/kfd_ioctl.h > +++ b/include/uapi/linux/kfd_ioctl.h > @@ -35,9 +35,13 @@ struct kfd_ioctl_get_version_args { > }; > > /* For kfd_ioctl_create_queue_args.queue_type. */ > -#define KFD_IOC_QUEUE_TYPE_COMPUTE 0 > -#define KFD_IOC_QUEUE_TYPE_SDMA 1 > -#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL 2 > +#define KFD_IOC_QUEUE_TYPE_COMPUTE 0x0 > +#define KFD_IOC_QUEUE_TYPE_SDMA 0x1 > +#define KFD_IOC_QUEUE_TYPE_COMPUTE_AQL 0x2 > +#define KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(e) (0x10000 + (e)) > +#define KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE(e) (0x20000 + (e)) > +#define KFD_IOC_QUEUE_TYPE_SDMA_ENGINE_MAX (KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0xffff)) > +#define KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE_MAX (KFD_IOC_QUEUE_TYPE_SDMA_AQL_ENGINE(0xffff)) > > #define KFD_MAX_QUEUE_PERCENTAGE 100 > #define KFD_MAX_QUEUE_PRIORITY 15 > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/4] drm/amdkfd: Allocate SDMA queue on specif engine [not found] ` <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2018-11-13 19:11 ` [PATCH 2/4] drm/amdkfd: Added more SDMA queue type Oak Zeng @ 2018-11-13 19:11 ` Oak Zeng [not found] ` <1542136254-5561-3-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2018-11-13 19:11 ` [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message Oak Zeng 2 siblings, 1 reply; 8+ messages in thread From: Oak Zeng @ 2018-11-13 19:11 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; +Cc: Zeng, Oak From: Oak Zeng <Oak.Zeng@amd.com> Change-Id: I32e0304cdf6ceeed12ea8d0af62f44e1ab20bffb Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> --- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 26 +++++++++++++------ .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 30 +++++++++++++++++++--- 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c index 5f4062b..37b02ea 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -143,7 +143,8 @@ static int kfd_ioctl_get_version(struct file *filep, struct kfd_process *p, return 0; } -static int set_queue_properties_from_user(struct queue_properties *q_properties, +static int set_queue_properties_from_user(struct kfd_dev *dev, + struct queue_properties *q_properties, struct kfd_ioctl_create_queue_args *args) { if (args->queue_percentage > KFD_MAX_QUEUE_PERCENTAGE) { @@ -213,12 +214,21 @@ static int set_queue_properties_from_user(struct queue_properties *q_properties, q_properties->ctx_save_restore_area_size = args->ctx_save_restore_size; q_properties->ctl_stack_size = args->ctl_stack_size; if (args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE || - args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) + args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) { q_properties->type = KFD_QUEUE_TYPE_COMPUTE; - else if (args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA) + } else if (args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA) { + q_properties->sdma_engine_id = + dev->device_info->num_sdma_engines; q_properties->type = KFD_QUEUE_TYPE_SDMA; - else + } else if (args->queue_type >= KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0) && + args->queue_type < KFD_IOC_QUEUE_TYPE_SDMA_ENGINE( + dev->device_info->num_sdma_engines)) { + q_properties->sdma_engine_id = + args->queue_type - KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0); + q_properties->type = KFD_QUEUE_TYPE_SDMA; + } else { return -ENOTSUPP; + } if (args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) q_properties->format = KFD_QUEUE_FORMAT_AQL; @@ -265,10 +275,6 @@ static int kfd_ioctl_create_queue(struct file *filep, struct kfd_process *p, pr_debug("Creating queue ioctl\n"); - err = set_queue_properties_from_user(&q_properties, args); - if (err) - return err; - pr_debug("Looking for gpu id 0x%x\n", args->gpu_id); dev = kfd_device_by_id(args->gpu_id); if (!dev) { @@ -276,6 +282,10 @@ static int kfd_ioctl_create_queue(struct file *filep, struct kfd_process *p, return -EINVAL; } + err = set_queue_properties_from_user(dev, &q_properties, args); + if (err) + return err; + mutex_lock(&p->mutex); pdd = kfd_bind_process_to_device(dev, p); diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c index 7bf4bca..bc8f955 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -916,14 +916,34 @@ static int stop_nocpsch(struct device_queue_manager *dqm) } static int allocate_sdma_queue(struct device_queue_manager *dqm, + unsigned int sdma_engine_id, unsigned int *sdma_queue_id) { - int bit; + int bit = -1; if (dqm->sdma_bitmap == 0) return -ENOMEM; - bit = __ffs64(dqm->sdma_bitmap); + /* If sdma_engine_id is valid, + * allocate queue on specific engine + */ + if (sdma_engine_id < get_num_sdma_engines(dqm)) { + unsigned int i; + + for (i = sdma_engine_id; i < get_num_sdma_queues(dqm); + i += get_num_sdma_engines(dqm)) { + if (dqm->sdma_bitmap & (1<<i)) { + bit = i; + break; + } + } + if (bit == -1) + return -EBUSY; + /* Otherwise allocate from any engine */ + } else { + bit = __ffs64(dqm->sdma_bitmap); + } + dqm->sdma_bitmap &= ~(1ULL << bit); *sdma_queue_id = bit; @@ -949,7 +969,8 @@ static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm, if (!mqd_mgr) return -ENOMEM; - retval = allocate_sdma_queue(dqm, &q->sdma_id); + retval = allocate_sdma_queue(dqm, q->properties.sdma_engine_id, + &q->sdma_id); if (retval) return retval; @@ -1168,7 +1189,8 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, } if (q->properties.type == KFD_QUEUE_TYPE_SDMA) { - retval = allocate_sdma_queue(dqm, &q->sdma_id); + retval = allocate_sdma_queue(dqm, q->properties.sdma_engine_id, + &q->sdma_id); if (retval) goto out_unlock; q->properties.sdma_queue_id = -- 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] 8+ messages in thread
[parent not found: <1542136254-5561-3-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>]
* Re: [PATCH 3/4] drm/amdkfd: Allocate SDMA queue on specif engine [not found] ` <1542136254-5561-3-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> @ 2018-11-13 19:59 ` Alex Deucher 0 siblings, 0 replies; 8+ messages in thread From: Alex Deucher @ 2018-11-13 19:59 UTC (permalink / raw) To: ozeng-5C7GfCeVMHo; +Cc: Oak Zeng, amd-gfx list On Tue, Nov 13, 2018 at 2:11 PM Oak Zeng <ozeng@amd.com> wrote: > > From: Oak Zeng <Oak.Zeng@amd.com> > > Change-Id: I32e0304cdf6ceeed12ea8d0af62f44e1ab20bffb > Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> > Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> Typo: Reviewed-by Also, in the patch title, "specific" With those fixed: Acked-by: Alex Deucher <alexander.deucher@amd.com> > --- > drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 26 +++++++++++++------ > .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 30 +++++++++++++++++++--- > 2 files changed, 44 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > index 5f4062b..37b02ea 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c > @@ -143,7 +143,8 @@ static int kfd_ioctl_get_version(struct file *filep, struct kfd_process *p, > return 0; > } > > -static int set_queue_properties_from_user(struct queue_properties *q_properties, > +static int set_queue_properties_from_user(struct kfd_dev *dev, > + struct queue_properties *q_properties, > struct kfd_ioctl_create_queue_args *args) > { > if (args->queue_percentage > KFD_MAX_QUEUE_PERCENTAGE) { > @@ -213,12 +214,21 @@ static int set_queue_properties_from_user(struct queue_properties *q_properties, > q_properties->ctx_save_restore_area_size = args->ctx_save_restore_size; > q_properties->ctl_stack_size = args->ctl_stack_size; > if (args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE || > - args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) > + args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) { > q_properties->type = KFD_QUEUE_TYPE_COMPUTE; > - else if (args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA) > + } else if (args->queue_type == KFD_IOC_QUEUE_TYPE_SDMA) { > + q_properties->sdma_engine_id = > + dev->device_info->num_sdma_engines; > q_properties->type = KFD_QUEUE_TYPE_SDMA; > - else > + } else if (args->queue_type >= KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0) && > + args->queue_type < KFD_IOC_QUEUE_TYPE_SDMA_ENGINE( > + dev->device_info->num_sdma_engines)) { > + q_properties->sdma_engine_id = > + args->queue_type - KFD_IOC_QUEUE_TYPE_SDMA_ENGINE(0); > + q_properties->type = KFD_QUEUE_TYPE_SDMA; > + } else { > return -ENOTSUPP; > + } > > if (args->queue_type == KFD_IOC_QUEUE_TYPE_COMPUTE_AQL) > q_properties->format = KFD_QUEUE_FORMAT_AQL; > @@ -265,10 +275,6 @@ static int kfd_ioctl_create_queue(struct file *filep, struct kfd_process *p, > > pr_debug("Creating queue ioctl\n"); > > - err = set_queue_properties_from_user(&q_properties, args); > - if (err) > - return err; > - > pr_debug("Looking for gpu id 0x%x\n", args->gpu_id); > dev = kfd_device_by_id(args->gpu_id); > if (!dev) { > @@ -276,6 +282,10 @@ static int kfd_ioctl_create_queue(struct file *filep, struct kfd_process *p, > return -EINVAL; > } > > + err = set_queue_properties_from_user(dev, &q_properties, args); > + if (err) > + return err; > + > mutex_lock(&p->mutex); > > pdd = kfd_bind_process_to_device(dev, p); > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > index 7bf4bca..bc8f955 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -916,14 +916,34 @@ static int stop_nocpsch(struct device_queue_manager *dqm) > } > > static int allocate_sdma_queue(struct device_queue_manager *dqm, > + unsigned int sdma_engine_id, > unsigned int *sdma_queue_id) > { > - int bit; > + int bit = -1; > > if (dqm->sdma_bitmap == 0) > return -ENOMEM; > > - bit = __ffs64(dqm->sdma_bitmap); > + /* If sdma_engine_id is valid, > + * allocate queue on specific engine > + */ > + if (sdma_engine_id < get_num_sdma_engines(dqm)) { > + unsigned int i; > + > + for (i = sdma_engine_id; i < get_num_sdma_queues(dqm); > + i += get_num_sdma_engines(dqm)) { > + if (dqm->sdma_bitmap & (1<<i)) { > + bit = i; > + break; > + } > + } > + if (bit == -1) > + return -EBUSY; > + /* Otherwise allocate from any engine */ > + } else { > + bit = __ffs64(dqm->sdma_bitmap); > + } > + > dqm->sdma_bitmap &= ~(1ULL << bit); > *sdma_queue_id = bit; > > @@ -949,7 +969,8 @@ static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm, > if (!mqd_mgr) > return -ENOMEM; > > - retval = allocate_sdma_queue(dqm, &q->sdma_id); > + retval = allocate_sdma_queue(dqm, q->properties.sdma_engine_id, > + &q->sdma_id); > if (retval) > return retval; > > @@ -1168,7 +1189,8 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, > } > > if (q->properties.type == KFD_QUEUE_TYPE_SDMA) { > - retval = allocate_sdma_queue(dqm, &q->sdma_id); > + retval = allocate_sdma_queue(dqm, q->properties.sdma_engine_id, > + &q->sdma_id); > if (retval) > goto out_unlock; > q->properties.sdma_queue_id = > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message [not found] ` <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2018-11-13 19:11 ` [PATCH 2/4] drm/amdkfd: Added more SDMA queue type Oak Zeng 2018-11-13 19:11 ` [PATCH 3/4] drm/amdkfd: Allocate SDMA queue on specif engine Oak Zeng @ 2018-11-13 19:11 ` Oak Zeng [not found] ` <1542136254-5561-4-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2 siblings, 1 reply; 8+ messages in thread From: Oak Zeng @ 2018-11-13 19:11 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; +Cc: Zeng, Oak From: Oak Zeng <Oak.Zeng@amd.com> Change-Id: I47ec79eceac810f7031eaf88d267fc8370501c27 Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> --- drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c index bc8f955..116afef 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1197,6 +1197,9 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, q->sdma_id / get_num_sdma_engines(dqm); q->properties.sdma_engine_id = q->sdma_id % get_num_sdma_engines(dqm); + pr_debug("SDMA id is: %d\n", q->sdma_id); + pr_debug("SDMA queue id: %d\n", q->properties.sdma_queue_id); + pr_debug("SDMA engine id: %d\n", q->properties.sdma_engine_id); } retval = allocate_doorbell(qpd, q); -- 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] 8+ messages in thread
[parent not found: <1542136254-5561-4-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>]
* Re: [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message [not found] ` <1542136254-5561-4-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> @ 2018-11-13 19:13 ` ozeng 2018-11-13 20:00 ` Alex Deucher 1 sibling, 0 replies; 8+ messages in thread From: ozeng @ 2018-11-13 19:13 UTC (permalink / raw) To: Zeng, Oak, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Hi Alex, Those 4 patches internally passed Felix's code review. Those are required for MI100 but are general changes so I think it is better to check into drm-next. Thanks, Oak On 11/13/2018 02:11 PM, Zeng, Oak wrote: > From: Oak Zeng <Oak.Zeng@amd.com> > > Change-Id: I47ec79eceac810f7031eaf88d267fc8370501c27 > Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> > Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> > --- > drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > index bc8f955..116afef 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -1197,6 +1197,9 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, > q->sdma_id / get_num_sdma_engines(dqm); > q->properties.sdma_engine_id = > q->sdma_id % get_num_sdma_engines(dqm); > + pr_debug("SDMA id is: %d\n", q->sdma_id); > + pr_debug("SDMA queue id: %d\n", q->properties.sdma_queue_id); > + pr_debug("SDMA engine id: %d\n", q->properties.sdma_engine_id); > } > > retval = allocate_doorbell(qpd, q); _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message [not found] ` <1542136254-5561-4-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org> 2018-11-13 19:13 ` ozeng @ 2018-11-13 20:00 ` Alex Deucher 1 sibling, 0 replies; 8+ messages in thread From: Alex Deucher @ 2018-11-13 20:00 UTC (permalink / raw) To: ozeng-5C7GfCeVMHo; +Cc: Oak Zeng, amd-gfx list On Tue, Nov 13, 2018 at 2:11 PM Oak Zeng <ozeng@amd.com> wrote: > > From: Oak Zeng <Oak.Zeng@amd.com> > > Change-Id: I47ec79eceac810f7031eaf88d267fc8370501c27 > Signed-off-by: Oak Zeng <Oak.Zeng@amd.com> > Reviewd-by: Felix Kuehling <Felix.Kuehling@amd.com> Typo: Reviewed-by Also please add a patch description. With that fixed: Acked-by: Alex Deucher <alexander.deucher@amd.com> > --- > drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > index bc8f955..116afef 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c > @@ -1197,6 +1197,9 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q, > q->sdma_id / get_num_sdma_engines(dqm); > q->properties.sdma_engine_id = > q->sdma_id % get_num_sdma_engines(dqm); > + pr_debug("SDMA id is: %d\n", q->sdma_id); > + pr_debug("SDMA queue id: %d\n", q->properties.sdma_queue_id); > + pr_debug("SDMA engine id: %d\n", q->properties.sdma_engine_id); > } > > retval = allocate_doorbell(qpd, q); > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-11-13 20:00 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-13 19:11 [PATCH 1/4] drm/amdkfd: Use 64 bit sdma_bitmap Oak Zeng
[not found] ` <1542136254-5561-1-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>
2018-11-13 19:11 ` [PATCH 2/4] drm/amdkfd: Added more SDMA queue type Oak Zeng
[not found] ` <1542136254-5561-2-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>
2018-11-13 19:57 ` Alex Deucher
2018-11-13 19:11 ` [PATCH 3/4] drm/amdkfd: Allocate SDMA queue on specif engine Oak Zeng
[not found] ` <1542136254-5561-3-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>
2018-11-13 19:59 ` Alex Deucher
2018-11-13 19:11 ` [PATCH 4/4] drm/amdkfd: Add sdma allocation debug message Oak Zeng
[not found] ` <1542136254-5561-4-git-send-email-ozeng-5C7GfCeVMHo@public.gmane.org>
2018-11-13 19:13 ` ozeng
2018-11-13 20:00 ` Alex Deucher
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.