amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Alex Deucher <alexander.deucher@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Alex Deucher <alexander.deucher@amd.com>
Subject: [PATCH 10/11] drm/amdgpu: add support for new GFX shadow size query
Date: Mon, 20 Mar 2023 13:38:09 -0400	[thread overview]
Message-ID: <20230320173810.250835-11-alexander.deucher@amd.com> (raw)
In-Reply-To: <20230320173810.250835-1-alexander.deucher@amd.com>

Use the new callback to fetch the data.  Return an error if
not supported.  UMDs should use this query to check whether
shadow buffers are supported and if so what size they
should be.

v2: return an error rather than a zerod structure.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 26 +++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 9e85eedb57d8..8a6764756dcf 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1139,6 +1139,32 @@ int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
 		kfree(caps);
 		return r;
 	}
+	case AMDGPU_INFO_CP_GFX_SHADOW_SIZE: {
+		struct amdgpu_gfx_shadow_info shadow_info;
+		struct drm_amdgpu_info_cp_gfx_shadow_size drm_shadow_size;
+		int r;
+
+		memset(&shadow_info, 0, sizeof(struct amdgpu_gfx_shadow_info));
+		if (adev->gfx.funcs->get_gfx_shadow_info) {
+			r = amdgpu_gfx_get_gfx_shadow_info(adev, &shadow_info);
+			if (r)
+				return r;
+			drm_shadow_size.shadow_size = shadow_info.shadow_size;
+			drm_shadow_size.shadow_alignment = shadow_info.shadow_alignment;
+			drm_shadow_size.csa_size = shadow_info.csa_size;
+			drm_shadow_size.csa_alignment = shadow_info.csa_alignment;
+			drm_shadow_size.gds_size = shadow_info.gds_size;
+			drm_shadow_size.gds_alignment = shadow_info.gds_alignment;
+		} else {
+			return -ENOTSUPP;
+		}
+		r = copy_to_user(out, &drm_shadow_size,
+				 min((size_t)size,
+				     sizeof(struct drm_amdgpu_info_cp_gfx_shadow_size))) ?
+			-EFAULT : 0;
+		return r;
+
+	}
 	default:
 		DRM_DEBUG_KMS("Invalid request %d\n", info->query);
 		return -EINVAL;
-- 
2.39.2


  parent reply	other threads:[~2023-03-20 17:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20 17:37 [PATCH V2 00/11] Enable FW assisted shadowing for GFX11 Alex Deucher
2023-03-20 17:38 ` [PATCH 01/11] drm/amdgpu/gfx11: add FW version check for new CP GFX shadow feature Alex Deucher
2023-03-20 17:38 ` [PATCH 02/11] drm/amdgpu/gfx11: check the CP FW version CP GFX shadow support Alex Deucher
2023-03-21 15:36   ` Christian König
2023-03-20 17:38 ` [PATCH 03/11] drm/amdgpu/UAPI: add new CS chunk for GFX shadow buffers Alex Deucher
2023-03-20 17:38 ` [PATCH 04/11] drm/amdgpu: add gfx shadow CS IOCTL support Alex Deucher
2023-03-20 17:38 ` [PATCH 05/11] drm/amdgpu: add gfx11 emit shadow callback Alex Deucher
2023-03-20 17:38 ` [PATCH 06/11] drm/amdgpu: don't require a job for cond_exec and shadow Alex Deucher
2023-03-20 17:38 ` [PATCH 07/11] drm/amdgpu: add UAPI to query GFX shadow sizes Alex Deucher
2023-03-21  0:29   ` Marek Olšák
2023-03-21 19:51     ` Alex Deucher
2023-03-22 14:11       ` Marek Olšák
2023-03-22 14:34         ` Alex Deucher
2023-03-21  0:31   ` Marek Olšák
2023-03-21 19:53     ` Alex Deucher
2023-03-22  8:50       ` Christian König
2023-03-22 14:07       ` Marek Olšák
2023-03-20 17:38 ` [PATCH 08/11] drm/amdgpu: add gfx shadow callback Alex Deucher
2023-03-20 17:38 ` [PATCH 09/11] drm/amdgpu: add get_gfx_shadow_info callback for gfx11 Alex Deucher
2023-03-20 17:38 ` Alex Deucher [this message]
2023-03-20 17:38 ` [PATCH 11/11] drm/amdgpu: bump driver version number for CP GFX shadow Alex Deucher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230320173810.250835-11-alexander.deucher@amd.com \
    --to=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).