Commit ec35307e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-fixes-2023-02-17' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Just a final collection of misc fixes, the biggest disables the
  recently added dynamic debugging support, it has a regression that
  needs some bigger fixes.

  Otherwise a bunch of fixes across the board, vc4, amdgpu and vmwgfx
  mostly, with some smaller i915 and ast fixes.

  drm:
   - dynamic debug disable for now

  fbdev:
   - deferred i/o device close fix

  amdgpu:
   - Fix GC11.x suspend warning
   - Fix display warning

  vc4:
   - YUV planes fix
   - hdmi display fix
   - crtc reduced blanking fix

  ast:
   - fix start address computation

  vmwgfx:
   - fix bo/handle races

  i915:
   - gen11 WA fix"

* tag 'drm-fixes-2023-02-17' of git://anongit.freedesktop.org/drm/drm:
  drm/amd/display: Fail atomic_check early on normalize_zpos error
  drm/amd/amdgpu: fix warning during suspend
  drm/vmwgfx: Do not drop the reference to the handle too soon
  drm/vmwgfx: Stop accessing buffer objects which failed init
  drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
  drm: Disable dynamic debug as broken
  drm/ast: Fix start address computation
  fbdev: Fix invalid page access after closing deferred I/O devices
  drm/vc4: crtc: Increase setup cost in core clock calculation to handle extreme reduced blanking
  drm/vc4: hdmi: Always enable GCP with AVMUTE cleared
  drm/vc4: Fix YUV plane handling when planes are in different buffers
parents 3ac88fa4 f7597e3c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -53,7 +53,8 @@ config DRM_DEBUG_MM

config DRM_USE_DYNAMIC_DEBUG
	bool "use dynamic debug to implement drm.debug"
	default y
	default n
	depends on BROKEN
	depends on DRM
	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
	depends on JUMP_LABEL
+3 −0
Original line number Diff line number Diff line
@@ -4268,6 +4268,9 @@ int amdgpu_device_resume(struct drm_device *dev, bool fbcon)
	}
	adev->in_suspend = false;

	if (adev->enable_mes)
		amdgpu_mes_self_test(adev);

	if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D0))
		DRM_WARN("smart shift update failed\n");

+1 −1
Original line number Diff line number Diff line
@@ -1344,7 +1344,7 @@ static int mes_v11_0_late_init(void *handle)
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;

	/* it's only intended for use in mes_self_test case, not for s0ix and reset */
	if (!amdgpu_in_reset(adev) && !adev->in_s0ix &&
	if (!amdgpu_in_reset(adev) && !adev->in_s0ix && !adev->in_suspend &&
	    (adev->ip_versions[GC_HWIP][0] != IP_VERSION(11, 0, 3)))
		amdgpu_mes_self_test(adev);

+5 −1
Original line number Diff line number Diff line
@@ -9658,7 +9658,11 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
	 * `dcn10_can_pipe_disable_cursor`). By now, all modified planes are in
	 * atomic state, so call drm helper to normalize zpos.
	 */
	drm_atomic_normalize_zpos(dev, state);
	ret = drm_atomic_normalize_zpos(dev, state);
	if (ret) {
		drm_dbg(dev, "drm_atomic_normalize_zpos() failed\n");
		goto fail;
	}

	/* Remove exiting planes if they are modified */
	for_each_oldnew_plane_in_state_reverse(state, plane, old_plane_state, new_plane_state, i) {
+2 −2
Original line number Diff line number Diff line
@@ -714,7 +714,7 @@ static int ast_primary_plane_init(struct ast_private *ast)
	struct ast_plane *ast_primary_plane = &ast->primary_plane;
	struct drm_plane *primary_plane = &ast_primary_plane->base;
	void __iomem *vaddr = ast->vram;
	u64 offset = ast->vram_base;
	u64 offset = 0; /* with shmem, the primary plane is always at offset 0 */
	unsigned long cursor_size = roundup(AST_HWC_SIZE + AST_HWC_SIGNATURE_SIZE, PAGE_SIZE);
	unsigned long size = ast->vram_fb_available - cursor_size;
	int ret;
@@ -972,7 +972,7 @@ static int ast_cursor_plane_init(struct ast_private *ast)
		return -ENOMEM;

	vaddr = ast->vram + ast->vram_fb_available - size;
	offset = ast->vram_base + ast->vram_fb_available - size;
	offset = ast->vram_fb_available - size;

	ret = ast_plane_init(dev, ast_cursor_plane, vaddr, offset, size,
			     0x01, &ast_cursor_plane_funcs,
Loading