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

Merge tag 'drm-fixes-2021-05-14' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Not much here, mostly amdgpu fixes, with a couple of radeon, and a
  cosmetic vc4.

  Two MAINTAINERS file updates also.

  amdgpu:
   - Fixes for flexible array conversions
   - Fix sysfs attribute init
   - Harvesting fixes
   - VCN CG/PG fixes for Picasso

  radeon:
   - Fixes for flexible array conversions
   - Fix for flickering on Oland with multiple 4K displays

  vc4:
   - drop unused function"

* tag 'drm-fixes-2021-05-14' of git://anongit.freedesktop.org/drm/drm:
  drm/amdgpu: update vcn1.0 Non-DPG suspend sequence
  drm/amdgpu: set vcn mgcg flag for picasso
  drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected
  drm/amdgpu: update the method for harvest IP for specific SKU
  drm/amdgpu: add judgement when add ip blocks (v2)
  drm/amd/display: Initialize attribute for hdcp_srm sysfs file
  drm/amd/pm: Fix out-of-bounds bug
  drm/radeon/si_dpm: Fix SMU power state load
  drm/radeon/ni_dpm: Fix booting bug
  MAINTAINERS: Update address for Emma Anholt
  MAINTAINERS: Update my e-mail
  drm/vc4: remove unused function
  drm/ttm: Do not add non-system domain BO into swap list
parents 315d9931 08f0cfbf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@ Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
Jens Axboe <axboe@suse.de>
Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
Jernej Skrabec <jernej.skrabec@gmail.com> <jernej.skrabec@siol.net>
Jiri Slaby <jirislaby@kernel.org> <jirislaby@gmail.com>
Jiri Slaby <jirislaby@kernel.org> <jslaby@novell.com>
Jiri Slaby <jirislaby@kernel.org> <jslaby@suse.com>
+9 −9
Original line number Diff line number Diff line
@@ -1578,7 +1578,7 @@ F: drivers/clk/sunxi/
ARM/Allwinner sunXi SoC support
M:	Maxime Ripard <mripard@kernel.org>
M:	Chen-Yu Tsai <wens@csie.org>
R:	Jernej Skrabec <jernej.skrabec@siol.net>
R:	Jernej Skrabec <jernej.skrabec@gmail.com>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
@@ -5089,7 +5089,7 @@ S: Maintained
F:	drivers/net/fddi/defza.*
DEINTERLACE DRIVERS FOR ALLWINNER H3
M:	Jernej Skrabec <jernej.skrabec@siol.net>
M:	Jernej Skrabec <jernej.skrabec@gmail.com>
L:	linux-media@vger.kernel.org
S:	Maintained
T:	git git://linuxtv.org/media_tree.git
@@ -5632,14 +5632,14 @@ F: include/linux/power/smartreflex.h
DRM DRIVER FOR ALLWINNER DE2 AND DE3 ENGINE
M:	Maxime Ripard <mripard@kernel.org>
M:	Chen-Yu Tsai <wens@csie.org>
R:	Jernej Skrabec <jernej.skrabec@siol.net>
R:	Jernej Skrabec <jernej.skrabec@gmail.com>
L:	dri-devel@lists.freedesktop.org
S:	Supported
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/sun4i/sun8i*
DRM DRIVER FOR ARM PL111 CLCD
M:	Eric Anholt <eric@anholt.net>
M:	Emma Anholt <emma@anholt.net>
S:	Supported
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/pl111/
@@ -5719,7 +5719,7 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/tiny/gm12u320.c
DRM DRIVER FOR HX8357D PANELS
M:	Eric Anholt <eric@anholt.net>
M:	Emma Anholt <emma@anholt.net>
S:	Maintained
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	Documentation/devicetree/bindings/display/himax,hx8357d.txt
@@ -6023,7 +6023,7 @@ M: Neil Armstrong <narmstrong@baylibre.com>
M:	Robert Foss <robert.foss@linaro.org>
R:	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
R:	Jonas Karlman <jonas@kwiboo.se>
R:	Jernej Skrabec <jernej.skrabec@siol.net>
R:	Jernej Skrabec <jernej.skrabec@gmail.com>
S:	Maintained
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	drivers/gpu/drm/bridge/
@@ -6177,7 +6177,7 @@ F: Documentation/devicetree/bindings/display/ti/
F:	drivers/gpu/drm/omapdrm/
DRM DRIVERS FOR V3D
M:	Eric Anholt <eric@anholt.net>
M:	Emma Anholt <emma@anholt.net>
S:	Supported
T:	git git://anongit.freedesktop.org/drm/drm-misc
F:	Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
@@ -6185,7 +6185,7 @@ F: drivers/gpu/drm/v3d/
F:	include/uapi/drm/v3d_drm.h
DRM DRIVERS FOR VC4
M:	Eric Anholt <eric@anholt.net>
M:	Emma Anholt <emma@anholt.net>
M:	Maxime Ripard <mripard@kernel.org>
S:	Supported
T:	git git://github.com/anholt/linux
@@ -15815,7 +15815,7 @@ F: include/uapi/linux/rose.h
F:	net/rose/
ROTATION DRIVER FOR ALLWINNER A83T
M:	Jernej Skrabec <jernej.skrabec@siol.net>
M:	Jernej Skrabec <jernej.skrabec@gmail.com>
L:	linux-media@vger.kernel.org
S:	Maintained
T:	git git://linuxtv.org/media_tree.git
+1 −0
Original line number Diff line number Diff line
@@ -1006,6 +1006,7 @@ struct amdgpu_device {
	struct amdgpu_df                df;

	struct amdgpu_ip_block          ip_blocks[AMDGPU_MAX_IP_NUM];
	uint32_t		        harvest_ip_mask;
	int				num_ip_blocks;
	struct mutex	mn_lock;
	DECLARE_HASHTABLE(mn_hash, 7);
+14 −1
Original line number Diff line number Diff line
@@ -1683,6 +1683,19 @@ int amdgpu_device_ip_block_add(struct amdgpu_device *adev,
	if (!ip_block_version)
		return -EINVAL;

	switch (ip_block_version->type) {
	case AMD_IP_BLOCK_TYPE_VCN:
		if (adev->harvest_ip_mask & AMD_HARVEST_IP_VCN_MASK)
			return 0;
		break;
	case AMD_IP_BLOCK_TYPE_JPEG:
		if (adev->harvest_ip_mask & AMD_HARVEST_IP_JPEG_MASK)
			return 0;
		break;
	default:
		break;
	}

	DRM_INFO("add ip block number %d <%s>\n", adev->num_ip_blocks,
		  ip_block_version->funcs->name);

@@ -3111,7 +3124,6 @@ bool amdgpu_device_has_dc_support(struct amdgpu_device *adev)
	return amdgpu_device_asic_has_dc_support(adev->asic_type);
}


static void amdgpu_device_xgmi_reset_func(struct work_struct *__work)
{
	struct amdgpu_device *adev =
@@ -3276,6 +3288,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
	adev->vm_manager.vm_pte_funcs = NULL;
	adev->vm_manager.vm_pte_num_scheds = 0;
	adev->gmc.gmc_funcs = NULL;
	adev->harvest_ip_mask = 0x0;
	adev->fence_context = dma_fence_context_alloc(AMDGPU_MAX_RINGS);
	bitmap_zero(adev->gfx.pipe_reserve_bitmap, AMDGPU_MAX_COMPUTE_QUEUES);

+28 −0
Original line number Diff line number Diff line
@@ -373,6 +373,34 @@ int amdgpu_discovery_get_ip_version(struct amdgpu_device *adev, int hw_id,
	return -EINVAL;
}

void amdgpu_discovery_harvest_ip(struct amdgpu_device *adev)
{
	struct binary_header *bhdr;
	struct harvest_table *harvest_info;
	int i;

	bhdr = (struct binary_header *)adev->mman.discovery_bin;
	harvest_info = (struct harvest_table *)(adev->mman.discovery_bin +
			le16_to_cpu(bhdr->table_list[HARVEST_INFO].offset));

	for (i = 0; i < 32; i++) {
		if (le32_to_cpu(harvest_info->list[i].hw_id) == 0)
			break;

		switch (le32_to_cpu(harvest_info->list[i].hw_id)) {
		case VCN_HWID:
			adev->harvest_ip_mask |= AMD_HARVEST_IP_VCN_MASK;
			adev->harvest_ip_mask |= AMD_HARVEST_IP_JPEG_MASK;
			break;
		case DMU_HWID:
			adev->harvest_ip_mask |= AMD_HARVEST_IP_DMU_MASK;
			break;
		default:
			break;
		}
	}
}

int amdgpu_discovery_get_gfx_info(struct amdgpu_device *adev)
{
	struct binary_header *bhdr;
Loading