[PATCH] drm/amd/amdgpu/sriov: Aligned the definition with libgv

Deng, Emily Emily.Deng at amd.com
Tue Nov 13 16:09:26 UTC 2018


Hi Frank,
     Could you help to review this?

Best wishes
Emily Deng

>-----Original Message-----
>From: Emily Deng <Emily.Deng at amd.com>
>Sent: Tuesday, November 13, 2018 10:28 AM
>To: amd-gfx at lists.freedesktop.org
>Cc: Deng, Emily <Emily.Deng at amd.com>
>Subject: [PATCH] drm/amd/amdgpu/sriov: Aligned the definition with libgv
>
>Aligned the amd_sriov_msg_pf2vf_info_header and
>amd_sriov_msg_pf2vf_info_header's definition with libgv.
>
>Signed-off-by: Emily Deng <Emily.Deng at amd.com>
>---
> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c |  2 +-
>drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 24 ++++++++++++++----------
> 2 files changed, 15 insertions(+), 11 deletions(-)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>index cfee747..462a04e 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
>@@ -334,7 +334,7 @@ void amdgpu_virt_init_data_exchange(struct
>amdgpu_device *adev)
>
> 	if (adev->fw_vram_usage.va != NULL) {
> 		adev->virt.fw_reserve.p_pf2vf =
>-			(struct amdgim_pf2vf_info_header *)(
>+			(struct amd_sriov_msg_pf2vf_info_header *)(
> 			adev->fw_vram_usage.va +
>AMDGIM_DATAEXCHANGE_OFFSET);
> 		AMDGPU_FW_VRAM_PF2VF_READ(adev, header.size,
>&pf2vf_size);
> 		AMDGPU_FW_VRAM_PF2VF_READ(adev, checksum,
>&checksum); diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>index 0728fbc..722deef 100644
>--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
>@@ -63,8 +63,8 @@ struct amdgpu_virt_ops {
>  * Firmware Reserve Frame buffer
>  */
> struct amdgpu_virt_fw_reserve {
>-	struct amdgim_pf2vf_info_header *p_pf2vf;
>-	struct amdgim_vf2pf_info_header *p_vf2pf;
>+	struct amd_sriov_msg_pf2vf_info_header *p_pf2vf;
>+	struct amd_sriov_msg_vf2pf_info_header *p_vf2pf;
> 	unsigned int checksum_key;
> };
> /*
>@@ -85,15 +85,17 @@ enum AMDGIM_FEATURE_FLAG {
> 	AMDGIM_FEATURE_GIM_FLR_VRAMLOST = 0x4,  };
>
>-struct amdgim_pf2vf_info_header {
>+struct amd_sriov_msg_pf2vf_info_header {
> 	/* the total structure size in byte. */
> 	uint32_t size;
> 	/* version of this structure, written by the GIM */
> 	uint32_t version;
>+	/* reserved */
>+	uint32_t reserved[2];
> } __aligned(4);
> struct  amdgim_pf2vf_info_v1 {
> 	/* header contains size and version */
>-	struct amdgim_pf2vf_info_header header;
>+	struct amd_sriov_msg_pf2vf_info_header header;
> 	/* max_width * max_height */
> 	unsigned int uvd_enc_max_pixels_count;
> 	/* 16x16 pixels/sec, codec independent */ @@ -112,7 +114,7 @@
>struct  amdgim_pf2vf_info_v1 {
>
> struct  amdgim_pf2vf_info_v2 {
> 	/* header contains size and version */
>-	struct amdgim_pf2vf_info_header header;
>+	struct amd_sriov_msg_pf2vf_info_header header;
> 	/* use private key from mailbox 2 to create chueksum */
> 	uint32_t checksum;
> 	/* The features flags of the GIM driver supports. */ @@ -137,20
>+139,22 @@ struct  amdgim_pf2vf_info_v2 {
> 	uint64_t vcefw_kboffset;
> 	/* VCE FW size in KB */
> 	uint32_t vcefw_ksize;
>-	uint32_t reserved[AMDGIM_GET_STRUCTURE_RESERVED_SIZE(256, 0,
>0, (9 + sizeof(struct amdgim_pf2vf_info_header)/sizeof(uint32_t)), 3)];
>+	uint32_t reserved[AMDGIM_GET_STRUCTURE_RESERVED_SIZE(256, 0,
>0, (9 +
>+sizeof(struct amd_sriov_msg_pf2vf_info_header)/sizeof(uint32_t)), 3)];
> } __aligned(4);
>
>
>-struct amdgim_vf2pf_info_header {
>+struct amd_sriov_msg_vf2pf_info_header {
> 	/* the total structure size in byte. */
> 	uint32_t size;
> 	/*version of this structure, written by the guest */
> 	uint32_t version;
>+	/* reserved */
>+	uint32_t reserved[2];
> } __aligned(4);
>
> struct amdgim_vf2pf_info_v1 {
> 	/* header contains size and version */
>-	struct amdgim_vf2pf_info_header header;
>+	struct amd_sriov_msg_vf2pf_info_header header;
> 	/* driver version */
> 	char driver_version[64];
> 	/* driver certification, 1=WHQL, 0=None */ @@ -180,7 +184,7 @@
>struct amdgim_vf2pf_info_v1 {
>
> struct amdgim_vf2pf_info_v2 {
> 	/* header contains size and version */
>-	struct amdgim_vf2pf_info_header header;
>+	struct amd_sriov_msg_vf2pf_info_header header;
> 	uint32_t checksum;
> 	/* driver version */
> 	uint8_t driver_version[64];
>@@ -206,7 +210,7 @@ struct amdgim_vf2pf_info_v2 {
> 	uint32_t uvd_enc_usage;
> 	/* guest uvd engine usage percentage. 0xffff means N/A. */
> 	uint32_t uvd_enc_health;
>-	uint32_t reserved[AMDGIM_GET_STRUCTURE_RESERVED_SIZE(256, 64,
>0, (12 + sizeof(struct amdgim_vf2pf_info_header)/sizeof(uint32_t)), 0)];
>+	uint32_t reserved[AMDGIM_GET_STRUCTURE_RESERVED_SIZE(256, 64,
>0, (12 +
>+sizeof(struct amd_sriov_msg_vf2pf_info_header)/sizeof(uint32_t)), 0)];
> } __aligned(4);
>
> #define AMDGPU_FW_VRAM_VF2PF_VER 2
>--
>2.7.4



More information about the amd-gfx mailing list