Skip to content

Commit 3aca6f8

Browse files
Lang Yualexdeucher
authored andcommitted
drm/amdkfd: Adjust parameter of allocate_mqd
Make allocate_mqd consistent with other callbacks. Prepare for next patch to use mqd_manager->mqd_size. Signed-off-by: Lang Yu <lang.yu@amd.com> Reviewed-by: David Belanger <david.belanger@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Mukul Joshi <mukul.joshi@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent a6a4dd5 commit 3aca6f8

11 files changed

Lines changed: 24 additions & 15 deletions

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ static int create_queue_nocpsch(struct device_queue_manager *dqm,
676676

677677
/* Temporarily release dqm lock to avoid a circular lock dependency */
678678
dqm_unlock(dqm);
679-
q->mqd_mem_obj = mqd_mgr->allocate_mqd(mqd_mgr->dev, &q->properties);
679+
q->mqd_mem_obj = mqd_mgr->allocate_mqd(mqd_mgr, &q->properties);
680680
dqm_lock(dqm);
681681

682682
if (!q->mqd_mem_obj) {
@@ -2002,7 +2002,7 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
20022002
dqm->asic_ops.init_sdma_vm(dqm, q, qpd);
20032003
q->properties.tba_addr = qpd->tba_addr;
20042004
q->properties.tma_addr = qpd->tma_addr;
2005-
q->mqd_mem_obj = mqd_mgr->allocate_mqd(mqd_mgr->dev, &q->properties);
2005+
q->mqd_mem_obj = mqd_mgr->allocate_mqd(mqd_mgr, &q->properties);
20062006
if (!q->mqd_mem_obj) {
20072007
retval = -ENOMEM;
20082008
goto out_deallocate_doorbell;

drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ static bool kq_initialize(struct kernel_queue *kq, struct kfd_node *dev,
130130

131131
kq->queue->device = dev;
132132

133-
kq->queue->mqd_mem_obj = kq->mqd_mgr->allocate_mqd(kq->mqd_mgr->dev,
133+
kq->queue->mqd_mem_obj = kq->mqd_mgr->allocate_mqd(kq->mqd_mgr,
134134
&kq->queue->properties);
135135
if (!kq->queue->mqd_mem_obj)
136136
goto err_allocate_mqd;

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,10 @@ int pipe_priority_map[] = {
4646
KFD_PIPE_PRIORITY_CS_HIGH
4747
};
4848

49-
struct kfd_mem_obj *allocate_hiq_mqd(struct kfd_node *dev, struct queue_properties *q)
49+
struct kfd_mem_obj *allocate_hiq_mqd(struct mqd_manager *mm, struct queue_properties *q)
5050
{
5151
struct kfd_mem_obj *mqd_mem_obj;
52+
struct kfd_node *dev = mm->dev;
5253

5354
mqd_mem_obj = kzalloc(sizeof(struct kfd_mem_obj), GFP_KERNEL);
5455
if (!mqd_mem_obj)
@@ -61,10 +62,11 @@ struct kfd_mem_obj *allocate_hiq_mqd(struct kfd_node *dev, struct queue_properti
6162
return mqd_mem_obj;
6263
}
6364

64-
struct kfd_mem_obj *allocate_sdma_mqd(struct kfd_node *dev,
65+
struct kfd_mem_obj *allocate_sdma_mqd(struct mqd_manager *mm,
6566
struct queue_properties *q)
6667
{
6768
struct kfd_mem_obj *mqd_mem_obj;
69+
struct kfd_node *dev = mm->dev;
6870
uint64_t offset;
6971

7072
mqd_mem_obj = kzalloc(sizeof(struct kfd_mem_obj), GFP_KERNEL);

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
*/
6969
extern int pipe_priority_map[];
7070
struct mqd_manager {
71-
struct kfd_mem_obj* (*allocate_mqd)(struct kfd_node *kfd,
71+
struct kfd_mem_obj* (*allocate_mqd)(struct mqd_manager *mm,
7272
struct queue_properties *q);
7373

7474
void (*init_mqd)(struct mqd_manager *mm, void **mqd,
@@ -153,10 +153,10 @@ struct mqd_user_context_save_area_header {
153153
uint32_t wave_state_size;
154154
};
155155

156-
struct kfd_mem_obj *allocate_hiq_mqd(struct kfd_node *dev,
156+
struct kfd_mem_obj *allocate_hiq_mqd(struct mqd_manager *mm,
157157
struct queue_properties *q);
158158

159-
struct kfd_mem_obj *allocate_sdma_mqd(struct kfd_node *dev,
159+
struct kfd_mem_obj *allocate_sdma_mqd(struct mqd_manager *mm,
160160
struct queue_properties *q);
161161
void free_mqd_hiq_sdma(struct mqd_manager *mm, void *mqd,
162162
struct kfd_mem_obj *mqd_mem_obj);

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ static void set_priority(struct cik_mqd *m, struct queue_properties *q)
7373
m->cp_hqd_queue_priority = q->priority;
7474
}
7575

76-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *kfd,
76+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
7777
struct queue_properties *q)
7878
{
79+
struct kfd_node *kfd = mm->dev;
7980
struct kfd_mem_obj *mqd_mem_obj;
8081

8182
if (kfd_gtt_sa_allocate(kfd, sizeof(struct cik_mqd),

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ static void set_priority(struct v10_compute_mqd *m, struct queue_properties *q)
7373
m->cp_hqd_queue_priority = q->priority;
7474
}
7575

76-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *kfd,
76+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
7777
struct queue_properties *q)
7878
{
79+
struct kfd_node *kfd = mm->dev;
7980
struct kfd_mem_obj *mqd_mem_obj;
8081

8182
if (kfd_gtt_sa_allocate(kfd, sizeof(struct v10_compute_mqd),

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,10 @@ static void set_priority(struct v11_compute_mqd *m, struct queue_properties *q)
9999
m->cp_hqd_queue_priority = q->priority;
100100
}
101101

102-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *node,
102+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
103103
struct queue_properties *q)
104104
{
105+
struct kfd_node *node = mm->dev;
105106
struct kfd_mem_obj *mqd_mem_obj;
106107
int size;
107108

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,10 @@ static void set_priority(struct v12_compute_mqd *m, struct queue_properties *q)
8080
m->cp_hqd_queue_priority = q->priority;
8181
}
8282

83-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *node,
83+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
8484
struct queue_properties *q)
8585
{
86+
struct kfd_node *node = mm->dev;
8687
struct kfd_mem_obj *mqd_mem_obj;
8788

8889
/*

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,10 @@ static void set_priority(struct v12_1_compute_mqd *m, struct queue_properties *q
145145
m->cp_hqd_queue_priority = q->priority;
146146
}
147147

148-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *node,
148+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
149149
struct queue_properties *q)
150150
{
151+
struct kfd_node *node = mm->dev;
151152
struct kfd_mem_obj *mqd_mem_obj;
152153
unsigned int size;
153154

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,11 @@ static bool mqd_on_vram(struct amdgpu_device *adev)
120120
}
121121
}
122122

123-
static struct kfd_mem_obj *allocate_mqd(struct kfd_node *node,
123+
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
124124
struct queue_properties *q)
125125
{
126126
int retval;
127+
struct kfd_node *node = mm->dev;
127128
struct kfd_mem_obj *mqd_mem_obj = NULL;
128129

129130
/* For V9 only, due to a HW bug, the control stack of a user mode

0 commit comments

Comments
 (0)