From: "Christian König" <christian.koenig@amd.com>
To: Andres Urian Florez <andres.emb.sys@gmail.com>,
alexander.deucher@amd.com, airlied@gmail.com, simona@ffwll.ch,
mario.limonciello@amd.com, arnd@arndb.de, Tim.Huang@amd.com
Cc: skhan@linuxfoundation.org, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/amdgpu: Replace deprecated function strcpy() with strscpy()
Date: Tue, 25 Mar 2025 09:38:37 +0100 [thread overview]
Message-ID: <85bda3bf-eaed-4eac-97ca-92c6301c0f9b@amd.com> (raw)
In-Reply-To: <20250325000723.366365-1-andres.emb.sys@gmail.com>
Alex shouldn't be try to completely nuke the CGS functions?
Christian.
Am 25.03.25 um 01:07 schrieb Andres Urian Florez:
> Instead of using the strcpy() deprecated function to populate the
> fw_name, use the strscpy() function
>
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
>
> Signed-off-by: Andres Urian Florez <andres.emb.sys@gmail.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 68 ++++++++++++-------------
> 1 file changed, 34 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> index 68bce6a6d09d..525e53c94f4f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> @@ -253,16 +253,16 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> if (!adev->pm.fw) {
> switch (adev->asic_type) {
> case CHIP_TAHITI:
> - strcpy(fw_name, "radeon/tahiti_smc.bin");
> + strscpy(fw_name, "radeon/tahiti_smc.bin");
> break;
> case CHIP_PITCAIRN:
> if ((adev->pdev->revision == 0x81) &&
> ((adev->pdev->device == 0x6810) ||
> (adev->pdev->device == 0x6811))) {
> info->is_kicker = true;
> - strcpy(fw_name, "radeon/pitcairn_k_smc.bin");
> + strscpy(fw_name, "radeon/pitcairn_k_smc.bin");
> } else {
> - strcpy(fw_name, "radeon/pitcairn_smc.bin");
> + strscpy(fw_name, "radeon/pitcairn_smc.bin");
> }
> break;
> case CHIP_VERDE:
> @@ -276,9 +276,9 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> ((adev->pdev->device == 0x6823) ||
> (adev->pdev->device == 0x682b)))) {
> info->is_kicker = true;
> - strcpy(fw_name, "radeon/verde_k_smc.bin");
> + strscpy(fw_name, "radeon/verde_k_smc.bin");
> } else {
> - strcpy(fw_name, "radeon/verde_smc.bin");
> + strscpy(fw_name, "radeon/verde_smc.bin");
> }
> break;
> case CHIP_OLAND:
> @@ -290,9 +290,9 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> ((adev->pdev->revision == 0x83) &&
> (adev->pdev->device == 0x6610))) {
> info->is_kicker = true;
> - strcpy(fw_name, "radeon/oland_k_smc.bin");
> + strscpy(fw_name, "radeon/oland_k_smc.bin");
> } else {
> - strcpy(fw_name, "radeon/oland_smc.bin");
> + strscpy(fw_name, "radeon/oland_smc.bin");
> }
> break;
> case CHIP_HAINAN:
> @@ -304,13 +304,13 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> (adev->pdev->device == 0x6665) ||
> (adev->pdev->device == 0x6667)))) {
> info->is_kicker = true;
> - strcpy(fw_name, "radeon/hainan_k_smc.bin");
> + strscpy(fw_name, "radeon/hainan_k_smc.bin");
> } else if ((adev->pdev->revision == 0xc3) &&
> (adev->pdev->device == 0x6665)) {
> info->is_kicker = true;
> - strcpy(fw_name, "radeon/banks_k_2_smc.bin");
> + strscpy(fw_name, "radeon/banks_k_2_smc.bin");
> } else {
> - strcpy(fw_name, "radeon/hainan_smc.bin");
> + strscpy(fw_name, "radeon/hainan_smc.bin");
> }
> break;
> case CHIP_BONAIRE:
> @@ -318,17 +318,17 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> (adev->pdev->revision == 0x81) ||
> (adev->pdev->device == 0x665f)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/bonaire_k_smc.bin");
> + strscpy(fw_name, "amdgpu/bonaire_k_smc.bin");
> } else {
> - strcpy(fw_name, "amdgpu/bonaire_smc.bin");
> + strscpy(fw_name, "amdgpu/bonaire_smc.bin");
> }
> break;
> case CHIP_HAWAII:
> if (adev->pdev->revision == 0x80) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/hawaii_k_smc.bin");
> + strscpy(fw_name, "amdgpu/hawaii_k_smc.bin");
> } else {
> - strcpy(fw_name, "amdgpu/hawaii_smc.bin");
> + strscpy(fw_name, "amdgpu/hawaii_smc.bin");
> }
> break;
> case CHIP_TOPAZ:
> @@ -338,76 +338,76 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
> ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0xD1)) ||
> ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0xD3))) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/topaz_k_smc.bin");
> + strscpy(fw_name, "amdgpu/topaz_k_smc.bin");
> } else
> - strcpy(fw_name, "amdgpu/topaz_smc.bin");
> + strscpy(fw_name, "amdgpu/topaz_smc.bin");
> break;
> case CHIP_TONGA:
> if (((adev->pdev->device == 0x6939) && (adev->pdev->revision == 0xf1)) ||
> ((adev->pdev->device == 0x6938) && (adev->pdev->revision == 0xf1))) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/tonga_k_smc.bin");
> + strscpy(fw_name, "amdgpu/tonga_k_smc.bin");
> } else
> - strcpy(fw_name, "amdgpu/tonga_smc.bin");
> + strscpy(fw_name, "amdgpu/tonga_smc.bin");
> break;
> case CHIP_FIJI:
> - strcpy(fw_name, "amdgpu/fiji_smc.bin");
> + strscpy(fw_name, "amdgpu/fiji_smc.bin");
> break;
> case CHIP_POLARIS11:
> if (type == CGS_UCODE_ID_SMU) {
> if (ASICID_IS_P21(adev->pdev->device, adev->pdev->revision)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/polaris11_k_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris11_k_smc.bin");
> } else if (ASICID_IS_P31(adev->pdev->device, adev->pdev->revision)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/polaris11_k2_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris11_k2_smc.bin");
> } else {
> - strcpy(fw_name, "amdgpu/polaris11_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris11_smc.bin");
> }
> } else if (type == CGS_UCODE_ID_SMU_SK) {
> - strcpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
> + strscpy(fw_name, "amdgpu/polaris11_smc_sk.bin");
> }
> break;
> case CHIP_POLARIS10:
> if (type == CGS_UCODE_ID_SMU) {
> if (ASICID_IS_P20(adev->pdev->device, adev->pdev->revision)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/polaris10_k_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris10_k_smc.bin");
> } else if (ASICID_IS_P30(adev->pdev->device, adev->pdev->revision)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/polaris10_k2_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris10_k2_smc.bin");
> } else {
> - strcpy(fw_name, "amdgpu/polaris10_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris10_smc.bin");
> }
> } else if (type == CGS_UCODE_ID_SMU_SK) {
> - strcpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
> + strscpy(fw_name, "amdgpu/polaris10_smc_sk.bin");
> }
> break;
> case CHIP_POLARIS12:
> if (ASICID_IS_P23(adev->pdev->device, adev->pdev->revision)) {
> info->is_kicker = true;
> - strcpy(fw_name, "amdgpu/polaris12_k_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris12_k_smc.bin");
> } else {
> - strcpy(fw_name, "amdgpu/polaris12_smc.bin");
> + strscpy(fw_name, "amdgpu/polaris12_smc.bin");
> }
> break;
> case CHIP_VEGAM:
> - strcpy(fw_name, "amdgpu/vegam_smc.bin");
> + strscpy(fw_name, "amdgpu/vegam_smc.bin");
> break;
> case CHIP_VEGA10:
> if ((adev->pdev->device == 0x687f) &&
> ((adev->pdev->revision == 0xc0) ||
> (adev->pdev->revision == 0xc1) ||
> (adev->pdev->revision == 0xc3)))
> - strcpy(fw_name, "amdgpu/vega10_acg_smc.bin");
> + strscpy(fw_name, "amdgpu/vega10_acg_smc.bin");
> else
> - strcpy(fw_name, "amdgpu/vega10_smc.bin");
> + strscpy(fw_name, "amdgpu/vega10_smc.bin");
> break;
> case CHIP_VEGA12:
> - strcpy(fw_name, "amdgpu/vega12_smc.bin");
> + strscpy(fw_name, "amdgpu/vega12_smc.bin");
> break;
> case CHIP_VEGA20:
> - strcpy(fw_name, "amdgpu/vega20_smc.bin");
> + strscpy(fw_name, "amdgpu/vega20_smc.bin");
> break;
> default:
> DRM_ERROR("SMC firmware not supported\n");
next prev parent reply other threads:[~2025-03-25 8:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-25 0:07 [PATCH] drm/amdgpu: Replace deprecated function strcpy() with strscpy() Andres Urian Florez
2025-03-25 8:38 ` Christian König [this message]
2025-03-25 13:30 ` Alex Deucher
2025-03-25 13:50 ` Christian König
2025-03-25 13:59 ` Alex Deucher
2025-03-25 14:14 ` 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=85bda3bf-eaed-4eac-97ca-92c6301c0f9b@amd.com \
--to=christian.koenig@amd.com \
--cc=Tim.Huang@amd.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=andres.emb.sys@gmail.com \
--cc=arnd@arndb.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=mario.limonciello@amd.com \
--cc=simona@ffwll.ch \
--cc=skhan@linuxfoundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.