Commit b634acb2 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-fixes-2024-10-10' of...

Merge tag 'drm-misc-fixes-2024-10-10' of https://gitlab.freedesktop.org/drm/misc/kernel

 into drm-fixes

Short summary of fixes pull:

fbdev-dma:
- Only clean up deferred I/O if instanciated

nouveau:
- dmem: Fix privileged error in copy engine channel; Fix possible
data leak in migrate_to_ram()
- gsp: Fix coding style

sched:
- Avoid leaking lockdep map

v3d:
- Stop active perfmon before destroying it

vc4:
- Stop active perfmon before destroying it

xe:
- Drop GuC submit_wq pool

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20241010133708.GA461532@localhost.localdomain
parents fe4a435b fcddc71e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ static void drm_fbdev_dma_fb_destroy(struct fb_info *info)
	if (!fb_helper->dev)
		return;

	if (info->fbdefio)
		fb_deferred_io_cleanup(info);
	drm_fb_helper_fini(fb_helper);

+1 −1
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ struct nvkm_gsp {
	} *rm;

	struct {
		struct mutex mutex;;
		struct mutex mutex;
		struct idr idr;
	} client_id;

+1 −1
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ static vm_fault_t nouveau_dmem_migrate_to_ram(struct vm_fault *vmf)
	if (!spage || !(src & MIGRATE_PFN_MIGRATE))
		goto done;

	dpage = alloc_page_vma(GFP_HIGHUSER, vmf->vma, vmf->address);
	dpage = alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vmf->vma, vmf->address);
	if (!dpage)
		goto done;

+1 −1
Original line number Diff line number Diff line
@@ -331,7 +331,7 @@ nouveau_accel_ce_init(struct nouveau_drm *drm)
		return;
	}

	ret = nouveau_channel_new(&drm->client, false, runm, NvDmaFB, NvDmaTT, &drm->cechan);
	ret = nouveau_channel_new(&drm->client, true, runm, NvDmaFB, NvDmaTT, &drm->cechan);
	if (ret)
		NV_ERROR(drm, "failed to create ce channel, %d\n", ret);
}
+11 −0
Original line number Diff line number Diff line
@@ -87,6 +87,12 @@
#define CREATE_TRACE_POINTS
#include "gpu_scheduler_trace.h"

#ifdef CONFIG_LOCKDEP
static struct lockdep_map drm_sched_lockdep_map = {
	.name = "drm_sched_lockdep_map"
};
#endif

#define to_drm_sched_job(sched_job)		\
		container_of((sched_job), struct drm_sched_job, queue_node)

@@ -1269,7 +1275,12 @@ int drm_sched_init(struct drm_gpu_scheduler *sched,
		sched->submit_wq = submit_wq;
		sched->own_submit_wq = false;
	} else {
#ifdef CONFIG_LOCKDEP
		sched->submit_wq = alloc_ordered_workqueue_lockdep_map(name, 0,
								       &drm_sched_lockdep_map);
#else
		sched->submit_wq = alloc_ordered_workqueue(name, 0);
#endif
		if (!sched->submit_wq)
			return -ENOMEM;

Loading