Re: [PATCH v2] drm/amdgpu: Add guest driver CUID support
On 5/9/26 12:25, Li, Chong(Alan) wrote: > AMD General > > Hi, Koenig, Christian. > > > The line " adev->unitid = ((struct amd_sriov_msg_pf2vf_info > *)pf2vf_info)->unitid;" > is 97 characters long, and checkpatch.pl enforces a 100-character line-length > limit. That is to long, checkpatch.pl enforces 80 character lines. Since the cast to amd_sriov_msg_pf2vf_info is done multiple times I strongly suggest to use a local variable for that. Apart from this the patch looks good to me, but I'm wondering if it shouldn't be split into multiple patches. The change of fcn_idx into pad looks unrelated of hand. Regards, Christian. > > > checkpatch.pl passes my patch: > > root@chonglidebug:/work/kernel/linux# ./scripts/checkpatch.pl > ./0001-drm-amdgpu-Add-guest-driver-CUID-support.patch > WARNING: patch prefix 'b' exists, appears to be a -p0 patch > > WARNING: patch prefix 'b' exists, appears to be a -p0 patch > > WARNING: patch prefix 'b' exists, appears to be a -p0 patch > > WARNING: patch prefix 'b' exists, appears to be a -p0 patch > > total: 0 errors, 4 warnings, 38 lines checked > > NOTE: For some of the reported defects, checkpatch may be able to > mechanically convert to the typical style using --fix or > --fix-inplace. > > ./0001-drm-amdgpu-Add-guest-driver-CUID-support.patch has style > problems, please review. > > NOTE: If any of the errors are false positives, please report > them to the maintainer, see CHECKPATCH in MAINTAINERS. > > > Thanks, > Chong. > > -Original Message- > From: Li, Chong(Alan) > Sent: Saturday, May 9, 2026 6:15 PM > To: [email protected] > Cc: Koenig, Christian ; Chang, HaiJun > ; Li, Chong(Alan) > Subject: [PATCH v2] drm/amdgpu: Add guest driver CUID support > > v2: > use debugfs_create_x64 and debugfs_create_x8 to create node. > > v1: > 1. Add guest driver CUID support > 2. Do not expose vf index(variable "fcn_idx") to customers, >replace the fcn_idx with pad. >Only expose the unitid to customers. > > Signed-off-by: chong li > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 3 +++ > drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c| 8 ++-- > drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h | 2 +- > 4 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 80b18bbd7f3a..98549a148695 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -1074,6 +1074,7 @@ struct amdgpu_device { > longpsp_timeout; > > uint64_tunique_id; > + uint8_t unitid; > uint64_tdf_perfmon_config_assign_mask[AMDGPU_MAX_DF_PERFMONS]; > > /* enable runtime pm on the device */ > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > index 979032ecaf79..129ff0851738 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c > @@ -2126,6 +2126,9 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev) > debugfs_create_x32("amdgpu_smu_debug", 0600, root, >&adev->pm.smu_debug_mask); > > + debugfs_create_x64("unique_id", 0444, root, &adev->unique_id); > + debugfs_create_x8("unitid",0444, root, &adev->unitid); > + > ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, > &fops_ib_preempt); > if (IS_ERR(ent)) { > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > index 6974b1c5b56c..45e89e104b5a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c > @@ -534,8 +534,12 @@ static int amdgpu_virt_read_pf2vf_data(struct > amdgpu_device *adev) > if ((adev->virt.decode_max_dimension_pixels > 0) || > (adev->virt.encode_max_dimension_pixels > 0)) > adev->virt.is_mm_bw_enabled = true; > > - adev->unique_id = > - ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->uuid; > + adev->unique_id = ((struct amd_sriov_msg_pf2vf_info > *)pf2vf_info)->uuid; > + > + adev->unitid = 0; > + if (amdgpu_sriov_is_unitid_support(adev)) > + adev->unitid = ((struct amd_sriov_msg_pf2vf_info > *)pf2vf_info)->unitid; > + > adev->virt.ras_en_caps.all = ((struct > amd_sriov_msg_pf2vf_info *)pf2vf_info)->ras_en_caps.all; > adev->virt.ras_telemetry_en_caps.all = > ((struct amd_sriov_msg_pf2vf_info > *)pf2vf_info)->ras_telemetry_en_caps.all; > diff --git a/drivers/gpu/drm/amd/amd
RE: [PATCH v2] drm/amdgpu: Add guest driver CUID support
AMD General Hi, Koenig, Christian. The line " adev->unitid = ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->unitid;" is 97 characters long, and checkpatch.pl enforces a 100-character line-length limit. checkpatch.pl passes my patch: root@chonglidebug:/work/kernel/linux# ./scripts/checkpatch.pl ./0001-drm-amdgpu-Add-guest-driver-CUID-support.patch WARNING: patch prefix 'b' exists, appears to be a -p0 patch WARNING: patch prefix 'b' exists, appears to be a -p0 patch WARNING: patch prefix 'b' exists, appears to be a -p0 patch WARNING: patch prefix 'b' exists, appears to be a -p0 patch total: 0 errors, 4 warnings, 38 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. ./0001-drm-amdgpu-Add-guest-driver-CUID-support.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Thanks, Chong. -Original Message- From: Li, Chong(Alan) Sent: Saturday, May 9, 2026 6:15 PM To: [email protected] Cc: Koenig, Christian ; Chang, HaiJun ; Li, Chong(Alan) Subject: [PATCH v2] drm/amdgpu: Add guest driver CUID support v2: use debugfs_create_x64 and debugfs_create_x8 to create node. v1: 1. Add guest driver CUID support 2. Do not expose vf index(variable "fcn_idx") to customers, replace the fcn_idx with pad. Only expose the unitid to customers. Signed-off-by: chong li --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 3 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c| 8 ++-- drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 80b18bbd7f3a..98549a148695 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -1074,6 +1074,7 @@ struct amdgpu_device { longpsp_timeout; uint64_tunique_id; + uint8_t unitid; uint64_tdf_perfmon_config_assign_mask[AMDGPU_MAX_DF_PERFMONS]; /* enable runtime pm on the device */ diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c index 979032ecaf79..129ff0851738 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c @@ -2126,6 +2126,9 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev) debugfs_create_x32("amdgpu_smu_debug", 0600, root, &adev->pm.smu_debug_mask); + debugfs_create_x64("unique_id", 0444, root, &adev->unique_id); + debugfs_create_x8("unitid",0444, root, &adev->unitid); + ent = debugfs_create_file("amdgpu_preempt_ib", 0600, root, adev, &fops_ib_preempt); if (IS_ERR(ent)) { diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c index 6974b1c5b56c..45e89e104b5a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c @@ -534,8 +534,12 @@ static int amdgpu_virt_read_pf2vf_data(struct amdgpu_device *adev) if ((adev->virt.decode_max_dimension_pixels > 0) || (adev->virt.encode_max_dimension_pixels > 0)) adev->virt.is_mm_bw_enabled = true; - adev->unique_id = - ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->uuid; + adev->unique_id = ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->uuid; + + adev->unitid = 0; + if (amdgpu_sriov_is_unitid_support(adev)) + adev->unitid = ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->unitid; + adev->virt.ras_en_caps.all = ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->ras_en_caps.all; adev->virt.ras_telemetry_en_caps.all = ((struct amd_sriov_msg_pf2vf_info *)pf2vf_info)->ras_telemetry_en_caps.all; diff --git a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h index 9dcf0b07d513..d80f01c0e754 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h @@ -295,7 +295,7 @@ struct amd_sriov_msg_pf2vf_info { uint32_t vf2pf_update_interval_ms; /* identification in ROCm SMI */ uint64_t uuid; - uint32_t fcn_idx; + uint32_t pad; /* flags to indicate which register access method VF should use */ union amd_sriov_reg_access_flags reg_access_flags; /* MM BW management */ -- 2.48.1
