Commit 9e2096ba authored by Lijo Lazar's avatar Lijo Lazar Committed by Alex Deucher
Browse files

drm/amdgpu: Add amdgpu_discovery_info



Add amdgpu_discovery_info structure to keep all discovery related
information.

Signed-off-by: default avatarLijo Lazar <lijo.lazar@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent aa6674f2
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -839,8 +839,6 @@ struct amd_powerplay {
	const struct amd_pm_funcs *pp_funcs;
};

struct ip_discovery_top;

/* polaris10 kickers */
#define ASICID_IS_P20(did, rid)		(((did == 0x67DF) && \
					 ((rid == 0xE3) || \
@@ -973,7 +971,6 @@ struct amdgpu_device {
	struct notifier_block		pm_nb;
	struct amdgpu_i2c_chan		*i2c_bus[AMDGPU_MAX_I2C_BUS];
	struct debugfs_blob_wrapper debugfs_vbios_blob;
	struct debugfs_blob_wrapper     debugfs_discovery_blob;
	struct mutex			srbm_mutex;
	/* GRBM index mutex. Protects concurrent access to GRBM index */
	struct mutex                    grbm_idx_mutex;
@@ -1063,6 +1060,9 @@ struct amdgpu_device {
		u32			log2_max_MBps;
	} mm_stats;

	/* discovery*/
	struct amdgpu_discovery_info discovery;

	/* display */
	bool				enable_virtual_display;
	struct amdgpu_vkms_output       *amdgpu_vkms_output;
@@ -1265,8 +1265,6 @@ struct amdgpu_device {

	struct list_head                ras_list;

	struct ip_discovery_top         *ip_top;

	struct amdgpu_reset_domain	*reset_domain;

	struct mutex			benchmark_mutex;
+3 −4
Original line number Diff line number Diff line
@@ -2123,10 +2123,9 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev)
	debugfs_create_blob("amdgpu_vbios", 0444, root,
			    &adev->debugfs_vbios_blob);

	adev->debugfs_discovery_blob.data = adev->mman.discovery_bin;
	adev->debugfs_discovery_blob.size = adev->mman.discovery_tmr_size;
	if (adev->discovery.debugfs_blob.size)
		debugfs_create_blob("amdgpu_discovery", 0444, root,
			    &adev->debugfs_discovery_blob);
				    &adev->discovery.debugfs_blob);

	return 0;
}
+2 −2
Original line number Diff line number Diff line
@@ -2633,7 +2633,7 @@ static int amdgpu_device_parse_gpu_info_fw(struct amdgpu_device *adev)
		chip_name = "arcturus";
		break;
	case CHIP_NAVI12:
		if (adev->mman.discovery_bin)
		if (adev->discovery.bin)
			return 0;
		chip_name = "navi12";
		break;
@@ -5059,7 +5059,7 @@ void amdgpu_device_fini_sw(struct amdgpu_device *adev)

	if (IS_ENABLED(CONFIG_PERF_EVENTS))
		amdgpu_pmu_fini(adev);
	if (adev->mman.discovery_bin)
	if (adev->discovery.bin)
		amdgpu_discovery_fini(adev);

	amdgpu_reset_put_reset_domain(adev->reset_domain);
+108 −84

File changed.

Preview size limit exceeded, changes collapsed.

+11 −0
Original line number Diff line number Diff line
@@ -24,9 +24,20 @@
#ifndef __AMDGPU_DISCOVERY__
#define __AMDGPU_DISCOVERY__

#include <linux/debugfs.h>

#define DISCOVERY_TMR_SIZE      (10 << 10)
#define DISCOVERY_TMR_OFFSET    (64 << 10)

struct ip_discovery_top;

struct amdgpu_discovery_info {
	struct debugfs_blob_wrapper debugfs_blob;
	struct ip_discovery_top *ip_top;
	uint32_t size;
	uint8_t *bin;
};

void amdgpu_discovery_fini(struct amdgpu_device *adev);
int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev);

Loading