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

Merge tag 'drm-misc-fixes-2024-05-30' of...

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

 into drm-fixes

Short summary of fixes pull:

dma-buf:
- sw-sync: Don't interfere with IRQ handling
- Fix kthreads-handling error path

gem-shmem:
- Warn when trying to pin imported objects

lima:
- Fix dma_resv-related deadlock in object pin

msm:
- Remove build-time dependency on Python 3.9

nouveau:
- nvif: Fix possible integer overflow

panel:
- lg-sw43408: Select DP helpers; Declare backlight ops as static
- sitronix-st7789v: Various fixes for jt240mhqs_hwt_ek_e3 panel

panfrost:
- Fix dma_resv-related deadlock in object pin

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

From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20240530192307.GA14809@localhost.localdomain
parents bb61cf46 bb195358
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -540,6 +540,12 @@ static int race_signal_callback(void *arg)
			t[i].before = pass;
			t[i].task = kthread_run(thread_signal_callback, &t[i],
						"dma-fence:%d", i);
			if (IS_ERR(t[i].task)) {
				ret = PTR_ERR(t[i].task);
				while (--i >= 0)
					kthread_stop_put(t[i].task);
				return ret;
			}
			get_task_struct(t[i].task);
		}

+2 −2
Original line number Diff line number Diff line
@@ -110,12 +110,12 @@ static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)

	seq_printf(s, "%s: %d\n", obj->name, obj->value);

	spin_lock_irq(&obj->lock);
	spin_lock(&obj->lock); /* Caller already disabled IRQ. */
	list_for_each(pos, &obj->pt_list) {
		struct sync_pt *pt = container_of(pos, struct sync_pt, link);
		sync_print_fence(s, &pt->base, false);
	}
	spin_unlock_irq(&obj->lock);
	spin_unlock(&obj->lock);
}

static void sync_print_sync_file(struct seq_file *s,
+2 −0
Original line number Diff line number Diff line
@@ -233,6 +233,8 @@ int drm_gem_shmem_pin_locked(struct drm_gem_shmem_object *shmem)

	dma_resv_assert_held(shmem->base.resv);

	drm_WARN_ON(shmem->base.dev, shmem->base.import_attach);

	ret = drm_gem_shmem_get_pages(shmem);

	return ret;
+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ static int lima_gem_pin(struct drm_gem_object *obj)
	if (bo->heap_size)
		return -EINVAL;

	return drm_gem_shmem_pin(&bo->base);
	return drm_gem_shmem_pin_locked(&bo->base);
}

static int lima_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map)
+3 −2
Original line number Diff line number Diff line
@@ -538,7 +538,7 @@ class Parser(object):
		self.variants.add(reg.domain)

	def do_validate(self, schemafile):
		if self.validate == False:
		if not self.validate:
			return

		try:
@@ -948,7 +948,8 @@ def main():
	parser = argparse.ArgumentParser()
	parser.add_argument('--rnn', type=str, required=True)
	parser.add_argument('--xml', type=str, required=True)
	parser.add_argument('--validate', action=argparse.BooleanOptionalAction)
	parser.add_argument('--validate', default=False, action='store_true')
	parser.add_argument('--no-validate', dest='validate', action='store_false')

	subparsers = parser.add_subparsers()
	subparsers.required = True
Loading