Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59a82d7d authored by Xiangliang Yu's avatar Xiangliang Yu Committed by Alex Deucher
Browse files

drm/amdgpu: change pointer of mqd_ptr & mqd_backup to void



vi_mqd is only used by VI family but mqd_ptr and mqd_backup is
common for all ASIC, so change the pointer to void.

Signed-off-by: default avatarXiangliang Yu <Xiangliang.Yu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarMonk Liu <Monk.Liu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 1fb37a3d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -783,7 +783,7 @@ struct amdgpu_mec {
	u32 num_pipe;
	u32 num_mec;
	u32 num_queue;
	struct vi_mqd	*mqd_backup[AMDGPU_MAX_COMPUTE_RINGS + 1];
	void			*mqd_backup[AMDGPU_MAX_COMPUTE_RINGS + 1];
};

struct amdgpu_kiq {
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@ struct amdgpu_ring {
	u32			queue;
	struct amdgpu_bo	*mqd_obj;
	uint64_t                mqd_gpu_addr;
	struct vi_mqd           *mqd_ptr;
	void                    *mqd_ptr;
	u32			doorbell_index;
	bool			use_doorbell;
	unsigned		wptr_offs;
+17 −9
Original line number Diff line number Diff line
@@ -4940,8 +4940,10 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
	gfx_v8_0_cp_compute_enable(adev, true);

	ring = &adev->gfx.kiq.ring;
	if (!amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr)) {
		r = gfx_v8_0_kiq_init_queue(ring, ring->mqd_ptr, ring->mqd_gpu_addr);
	if (!amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr)) {
		r = gfx_v8_0_kiq_init_queue(ring,
					    (struct vi_mqd *)ring->mqd_ptr,
					    ring->mqd_gpu_addr);
		amdgpu_bo_kunmap(ring->mqd_obj);
		ring->mqd_ptr = NULL;
		if (r)
@@ -4952,8 +4954,10 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)

	for (i = 0; i < adev->gfx.num_compute_rings; i++) {
		ring = &adev->gfx.compute_ring[i];
		if (!amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr)) {
			r = gfx_v8_0_kiq_init_queue(ring, ring->mqd_ptr, ring->mqd_gpu_addr);
		if (!amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr)) {
			r = gfx_v8_0_kiq_init_queue(ring,
						    (struct vi_mqd *)ring->mqd_ptr,
						    ring->mqd_gpu_addr);
			amdgpu_bo_kunmap(ring->mqd_obj);
			ring->mqd_ptr = NULL;
			if (r)
@@ -7333,7 +7337,7 @@ static int gfx_v8_0_compute_mqd_soft_init(struct amdgpu_device *adev)
	if (!ring->mqd_obj) {
		r = amdgpu_bo_create_kernel(adev, sizeof(struct vi_mqd), PAGE_SIZE,
						AMDGPU_GEM_DOMAIN_GTT, &ring->mqd_obj,
						&ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
						&ring->mqd_gpu_addr, &ring->mqd_ptr);
		if (r) {
			dev_warn(adev->dev, "failed to create ring mqd ob (%d)", r);
			return r;
@@ -7352,7 +7356,7 @@ static int gfx_v8_0_compute_mqd_soft_init(struct amdgpu_device *adev)
		if (!ring->mqd_obj) {
			r = amdgpu_bo_create_kernel(adev, sizeof(struct vi_mqd), PAGE_SIZE,
							AMDGPU_GEM_DOMAIN_GTT, &ring->mqd_obj,
							&ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
							&ring->mqd_gpu_addr, &ring->mqd_ptr);
			if (r) {
				dev_warn(adev->dev, "failed to create ring mqd ob (%d)", r);
				return r;
@@ -7375,9 +7379,13 @@ static void gfx_v8_0_compute_mqd_soft_fini(struct amdgpu_device *adev)

	for (i = 0; i < adev->gfx.num_compute_rings; i++) {
		ring = &adev->gfx.compute_ring[i];
		amdgpu_bo_free_kernel(&ring->mqd_obj, &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
		amdgpu_bo_free_kernel(&ring->mqd_obj,
				      &ring->mqd_gpu_addr,
				      &ring->mqd_ptr);
	}

	ring = &adev->gfx.kiq.ring;
	amdgpu_bo_free_kernel(&ring->mqd_obj, &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
	amdgpu_bo_free_kernel(&ring->mqd_obj,
			      &ring->mqd_gpu_addr,
			      &ring->mqd_ptr);
}