Commit 0e11279b authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-misc-fixes-2021-11-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes



A infoframe corruption fix for nouveau, a wrong free function usage fix
for GEM CMA helpers, a Kconfig dependency fix for sun4i, two fixes for
drm/scheduler refcounting and a probing fix for efifb.

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

From: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20211118075447.5rn6zaulnrequqnm@gilmour
parents fa55b7dc fb561bf9
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -210,6 +210,11 @@ void drm_gem_cma_free_object(struct drm_gem_object *gem_obj)
			dma_buf_vunmap(gem_obj->import_attach->dmabuf, &map);
		drm_prime_gem_destroy(gem_obj, cma_obj->sgt);
	} else if (cma_obj->vaddr) {
		if (cma_obj->map_noncoherent)
			dma_free_noncoherent(gem_obj->dev->dev, cma_obj->base.size,
					     cma_obj->vaddr, cma_obj->paddr,
					     DMA_TO_DEVICE);
		else
			dma_free_wc(gem_obj->dev->dev, cma_obj->base.size,
				    cma_obj->vaddr, cma_obj->paddr);
	}
+0 −1
Original line number Diff line number Diff line
@@ -62,7 +62,6 @@ gv100_hdmi_ctrl(struct nvkm_ior *ior, int head, bool enable, u8 max_ac_packet,
		nvkm_wr32(device, 0x6f0108 + hdmi, vendor_infoframe.header);
		nvkm_wr32(device, 0x6f010c + hdmi, vendor_infoframe.subpack0_low);
		nvkm_wr32(device, 0x6f0110 + hdmi, vendor_infoframe.subpack0_high);
		nvkm_wr32(device, 0x6f0110 + hdmi, 0x00000000);
		nvkm_wr32(device, 0x6f0114 + hdmi, 0x00000000);
		nvkm_wr32(device, 0x6f0118 + hdmi, 0x00000000);
		nvkm_wr32(device, 0x6f011c + hdmi, 0x00000000);
+5 −1
Original line number Diff line number Diff line
@@ -704,10 +704,14 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job,
	int ret;

	dma_resv_for_each_fence(&cursor, obj->resv, write, fence) {
		/* Make sure to grab an additional ref on the added fence */
		dma_fence_get(fence);
		ret = drm_sched_job_add_dependency(job, fence);
		if (ret)
		if (ret) {
			dma_fence_put(fence);
			return ret;
		}
	}
	return 0;
}
EXPORT_SYMBOL(drm_sched_job_add_implicit_dependencies);
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ config DRM_SUN6I_DSI
	default MACH_SUN8I
	select CRC_CCITT
	select DRM_MIPI_DSI
	select RESET_CONTROLLER
	select PHY_SUN6I_MIPI_DPHY
	help
	  Choose this option if you want have an Allwinner SoC with
+11 −0
Original line number Diff line number Diff line
@@ -351,6 +351,17 @@ static int efifb_probe(struct platform_device *dev)
	char *option = NULL;
	efi_memory_desc_t md;

	/*
	 * Generic drivers must not be registered if a framebuffer exists.
	 * If a native driver was probed, the display hardware was already
	 * taken and attempting to use the system framebuffer is dangerous.
	 */
	if (num_registered_fb > 0) {
		dev_err(&dev->dev,
			"efifb: a framebuffer is already registered\n");
		return -EINVAL;
	}

	if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled)
		return -ENODEV;

Loading