Skip to content

Commit f1b7996

Browse files
committed
Merge tag 'drm-msm-next-2021-07-28' of https://gitlab.freedesktop.org/drm/msm into drm-next
An early pull for v5.15 (there'll be more coming in a week or two), consisting of the drm/scheduler conversion and a couple other small series that one was based one. Mostly sending this now because IIUC danvet wanted it in drm-next so he could rebase on it. (Daniel, if you disagree then speak up, and I'll instead include this in the main pull request once that is ready.) This also has a core patch to drop drm_gem_object_put_locked() now that the last use of it is removed. [airlied: add NULL to drm_sched_init] Signed-off-by: Dave Airlie <[email protected]> From: Rob Clark <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGumRk7H88bqV=H9Fb1SM0zPBo5B7NsCU3jFFKBYxf5k+Q@mail.gmail.com
2 parents cfeeb0b + 4541e4f commit f1b7996

26 files changed

+865
-534
lines changed

drivers/gpu/drm/drm_gem.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -973,28 +973,6 @@ drm_gem_object_free(struct kref *kref)
973973
}
974974
EXPORT_SYMBOL(drm_gem_object_free);
975975

976-
/**
977-
* drm_gem_object_put_locked - release a GEM buffer object reference
978-
* @obj: GEM buffer object
979-
*
980-
* This releases a reference to @obj. Callers must hold the
981-
* &drm_device.struct_mutex lock when calling this function, even when the
982-
* driver doesn't use &drm_device.struct_mutex for anything.
983-
*
984-
* For drivers not encumbered with legacy locking use
985-
* drm_gem_object_put() instead.
986-
*/
987-
void
988-
drm_gem_object_put_locked(struct drm_gem_object *obj)
989-
{
990-
if (obj) {
991-
WARN_ON(!mutex_is_locked(&obj->dev->struct_mutex));
992-
993-
kref_put(&obj->refcount, drm_gem_object_free);
994-
}
995-
}
996-
EXPORT_SYMBOL(drm_gem_object_put_locked);
997-
998976
/**
999977
* drm_gem_vm_open - vma->ops->open implementation for GEM
1000978
* @vma: VM area structure

drivers/gpu/drm/msm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ config DRM_MSM
1414
select REGULATOR
1515
select DRM_KMS_HELPER
1616
select DRM_PANEL
17+
select DRM_SCHED
1718
select SHMEM
1819
select TMPFS
1920
select QCOM_SCM if ARCH_QCOM

drivers/gpu/drm/msm/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ msm-y := \
9090
msm_gem_submit.o \
9191
msm_gem_vma.o \
9292
msm_gpu.o \
93+
msm_gpu_devfreq.o \
9394
msm_iommu.o \
9495
msm_perf.o \
9596
msm_rd.o \

drivers/gpu/drm/msm/adreno/a5xx_debugfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,13 +117,13 @@ reset_set(void *data, u64 val)
117117

118118
if (a5xx_gpu->pm4_bo) {
119119
msm_gem_unpin_iova(a5xx_gpu->pm4_bo, gpu->aspace);
120-
drm_gem_object_put_locked(a5xx_gpu->pm4_bo);
120+
drm_gem_object_put(a5xx_gpu->pm4_bo);
121121
a5xx_gpu->pm4_bo = NULL;
122122
}
123123

124124
if (a5xx_gpu->pfp_bo) {
125125
msm_gem_unpin_iova(a5xx_gpu->pfp_bo, gpu->aspace);
126-
drm_gem_object_put_locked(a5xx_gpu->pfp_bo);
126+
drm_gem_object_put(a5xx_gpu->pfp_bo);
127127
a5xx_gpu->pfp_bo = NULL;
128128
}
129129

drivers/gpu/drm/msm/adreno/a5xx_gpu.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,7 +1415,7 @@ struct a5xx_gpu_state {
14151415
static int a5xx_crashdumper_init(struct msm_gpu *gpu,
14161416
struct a5xx_crashdumper *dumper)
14171417
{
1418-
dumper->ptr = msm_gem_kernel_new_locked(gpu->dev,
1418+
dumper->ptr = msm_gem_kernel_new(gpu->dev,
14191419
SZ_1M, MSM_BO_WC, gpu->aspace,
14201420
&dumper->bo, &dumper->iova);
14211421

@@ -1517,15 +1517,15 @@ static void a5xx_gpu_state_get_hlsq_regs(struct msm_gpu *gpu,
15171517

15181518
if (a5xx_crashdumper_run(gpu, &dumper)) {
15191519
kfree(a5xx_state->hlsqregs);
1520-
msm_gem_kernel_put(dumper.bo, gpu->aspace, true);
1520+
msm_gem_kernel_put(dumper.bo, gpu->aspace);
15211521
return;
15221522
}
15231523

15241524
/* Copy the data from the crashdumper to the state */
15251525
memcpy(a5xx_state->hlsqregs, dumper.ptr + (256 * SZ_1K),
15261526
count * sizeof(u32));
15271527

1528-
msm_gem_kernel_put(dumper.bo, gpu->aspace, true);
1528+
msm_gem_kernel_put(dumper.bo, gpu->aspace);
15291529
}
15301530

15311531
static struct msm_gpu_state *a5xx_gpu_state_get(struct msm_gpu *gpu)

drivers/gpu/drm/msm/adreno/a5xx_power.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ void a5xx_gpmu_ucode_init(struct msm_gpu *gpu)
362362
*/
363363
bosize = (cmds_size + (cmds_size / TYPE4_MAX_PAYLOAD) + 1) << 2;
364364

365-
ptr = msm_gem_kernel_new_locked(drm, bosize,
365+
ptr = msm_gem_kernel_new(drm, bosize,
366366
MSM_BO_WC | MSM_BO_GPU_READONLY, gpu->aspace,
367367
&a5xx_gpu->gpmu_bo, &a5xx_gpu->gpmu_iova);
368368
if (IS_ERR(ptr))

drivers/gpu/drm/msm/adreno/a5xx_preempt.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ static int preempt_init_ring(struct a5xx_gpu *a5xx_gpu,
240240
A5XX_PREEMPT_COUNTER_SIZE,
241241
MSM_BO_WC, gpu->aspace, &counters_bo, &counters_iova);
242242
if (IS_ERR(counters)) {
243-
msm_gem_kernel_put(bo, gpu->aspace, true);
243+
msm_gem_kernel_put(bo, gpu->aspace);
244244
return PTR_ERR(counters);
245245
}
246246

@@ -272,9 +272,8 @@ void a5xx_preempt_fini(struct msm_gpu *gpu)
272272
int i;
273273

274274
for (i = 0; i < gpu->nr_rings; i++) {
275-
msm_gem_kernel_put(a5xx_gpu->preempt_bo[i], gpu->aspace, true);
276-
msm_gem_kernel_put(a5xx_gpu->preempt_counters_bo[i],
277-
gpu->aspace, true);
275+
msm_gem_kernel_put(a5xx_gpu->preempt_bo[i], gpu->aspace);
276+
msm_gem_kernel_put(a5xx_gpu->preempt_counters_bo[i], gpu->aspace);
278277
}
279278
}
280279

drivers/gpu/drm/msm/adreno/a6xx_gmu.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,12 +1129,12 @@ int a6xx_gmu_stop(struct a6xx_gpu *a6xx_gpu)
11291129

11301130
static void a6xx_gmu_memory_free(struct a6xx_gmu *gmu)
11311131
{
1132-
msm_gem_kernel_put(gmu->hfi.obj, gmu->aspace, false);
1133-
msm_gem_kernel_put(gmu->debug.obj, gmu->aspace, false);
1134-
msm_gem_kernel_put(gmu->icache.obj, gmu->aspace, false);
1135-
msm_gem_kernel_put(gmu->dcache.obj, gmu->aspace, false);
1136-
msm_gem_kernel_put(gmu->dummy.obj, gmu->aspace, false);
1137-
msm_gem_kernel_put(gmu->log.obj, gmu->aspace, false);
1132+
msm_gem_kernel_put(gmu->hfi.obj, gmu->aspace);
1133+
msm_gem_kernel_put(gmu->debug.obj, gmu->aspace);
1134+
msm_gem_kernel_put(gmu->icache.obj, gmu->aspace);
1135+
msm_gem_kernel_put(gmu->dcache.obj, gmu->aspace);
1136+
msm_gem_kernel_put(gmu->dummy.obj, gmu->aspace);
1137+
msm_gem_kernel_put(gmu->log.obj, gmu->aspace);
11381138

11391139
gmu->aspace->mmu->funcs->detach(gmu->aspace->mmu);
11401140
msm_gem_address_space_put(gmu->aspace);

drivers/gpu/drm/msm/adreno/a6xx_gpu.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,7 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
10351035

10361036
if (adreno_gpu->base.hw_apriv || a6xx_gpu->has_whereami) {
10371037
if (!a6xx_gpu->shadow_bo) {
1038-
a6xx_gpu->shadow = msm_gem_kernel_new_locked(gpu->dev,
1038+
a6xx_gpu->shadow = msm_gem_kernel_new(gpu->dev,
10391039
sizeof(u32) * gpu->nr_rings,
10401040
MSM_BO_WC | MSM_BO_MAP_PRIV,
10411041
gpu->aspace, &a6xx_gpu->shadow_bo,
@@ -1477,7 +1477,7 @@ static int a6xx_pm_resume(struct msm_gpu *gpu)
14771477
if (ret)
14781478
return ret;
14791479

1480-
msm_gpu_resume_devfreq(gpu);
1480+
msm_devfreq_resume(gpu);
14811481

14821482
a6xx_llc_activate(a6xx_gpu);
14831483

@@ -1494,7 +1494,7 @@ static int a6xx_pm_suspend(struct msm_gpu *gpu)
14941494

14951495
a6xx_llc_deactivate(a6xx_gpu);
14961496

1497-
devfreq_suspend_device(gpu->devfreq.devfreq);
1497+
msm_devfreq_suspend(gpu);
14981498

14991499
ret = a6xx_gmu_stop(a6xx_gpu);
15001500
if (ret)

drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ static void *state_kmemdup(struct a6xx_gpu_state *a6xx_state, void *src,
112112
static int a6xx_crashdumper_init(struct msm_gpu *gpu,
113113
struct a6xx_crashdumper *dumper)
114114
{
115-
dumper->ptr = msm_gem_kernel_new_locked(gpu->dev,
115+
dumper->ptr = msm_gem_kernel_new(gpu->dev,
116116
SZ_1M, MSM_BO_WC, gpu->aspace,
117117
&dumper->bo, &dumper->iova);
118118

@@ -961,7 +961,7 @@ struct msm_gpu_state *a6xx_gpu_state_get(struct msm_gpu *gpu)
961961
a6xx_get_clusters(gpu, a6xx_state, dumper);
962962
a6xx_get_dbgahb_clusters(gpu, a6xx_state, dumper);
963963

964-
msm_gem_kernel_put(dumper->bo, gpu->aspace, true);
964+
msm_gem_kernel_put(dumper->bo, gpu->aspace);
965965
}
966966

967967
if (snapshot_debugbus)

0 commit comments

Comments
 (0)