* [bug report] drm/amd/powerplay: implement smc firmware v2.1 for smu11
@ 2019-08-19 13:03 Dan Carpenter
2019-08-19 15:31 ` Wang, Kevin(Yang)
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2019-08-19 13:03 UTC (permalink / raw)
To: kevin1.wang-5C7GfCeVMHo; +Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Hello Kevin Wang,
The patch b55c83a7438d: "drm/amd/powerplay: implement smc firmware
v2.1 for smu11" from Jun 21, 2019, leads to the following static
checker warning:
drivers/gpu/drm/amd/amdgpu/../powerplay/smu_v11_0.c:390 smu_v11_0_setup_pptable()
warn: passing casted pointer '&size' to 'smu_get_atom_data_table()' 32 vs 16.
drivers/gpu/drm/amd/amdgpu/../powerplay/smu_v11_0.c
357 static int smu_v11_0_setup_pptable(struct smu_context *smu)
358 {
359 struct amdgpu_device *adev = smu->adev;
360 const struct smc_firmware_header_v1_0 *hdr;
361 int ret, index;
362 uint32_t size;
^^^^^^^^^^^^^
363 uint8_t frev, crev;
364 void *table;
365 uint16_t version_major, version_minor;
366
367 hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
368 version_major = le16_to_cpu(hdr->header.header_version_major);
369 version_minor = le16_to_cpu(hdr->header.header_version_minor);
370 if (version_major == 2 && smu->smu_table.boot_values.pp_table_id > 0) {
371 switch (version_minor) {
372 case 0:
373 ret = smu_v11_0_set_pptable_v2_0(smu, &table, &size);
374 break;
375 case 1:
376 ret = smu_v11_0_set_pptable_v2_1(smu, &table, &size,
377 smu->smu_table.boot_values.pp_table_id);
378 break;
379 default:
380 ret = -EINVAL;
381 break;
382 }
383 if (ret)
384 return ret;
385
386 } else {
387 index = get_index_into_master_table(atom_master_list_of_data_tables_v2_1,
388 powerplayinfo);
389
390 ret = smu_get_atom_data_table(smu, index, (uint16_t *)&size, &frev, &crev,
^^^^^^^^^^^^^^^^^
This only initializes the highest 16 bits.
391 (uint8_t **)&table);
392 if (ret)
393 return ret;
394 }
395
396 if (!smu->smu_table.power_play_table)
397 smu->smu_table.power_play_table = table;
398 if (!smu->smu_table.power_play_table_size)
399 smu->smu_table.power_play_table_size = size;
400
401 return 0;
regards,
dan carpenter
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [bug report] drm/amd/powerplay: implement smc firmware v2.1 for smu11
2019-08-19 13:03 [bug report] drm/amd/powerplay: implement smc firmware v2.1 for smu11 Dan Carpenter
@ 2019-08-19 15:31 ` Wang, Kevin(Yang)
0 siblings, 0 replies; 2+ messages in thread
From: Wang, Kevin(Yang) @ 2019-08-19 15:31 UTC (permalink / raw)
To: Dan Carpenter; +Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
[-- Attachment #1.1: Type: text/plain, Size: 3424 bytes --]
Hi Dan,
Thank you for reporting this bug to me,
I will make a fix patch as soon as possible, when patch ready after I send copies to you review,
thank you.
Best Regards,
Kevin
________________________________
From: Dan Carpenter <dan.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Sent: Monday, August 19, 2019 9:03 PM
To: Wang, Kevin(Yang) <Kevin1.Wang-5C7GfCeVMHo@public.gmane.org>
Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: [bug report] drm/amd/powerplay: implement smc firmware v2.1 for smu11
Hello Kevin Wang,
The patch b55c83a7438d: "drm/amd/powerplay: implement smc firmware
v2.1 for smu11" from Jun 21, 2019, leads to the following static
checker warning:
drivers/gpu/drm/amd/amdgpu/../powerplay/smu_v11_0.c:390 smu_v11_0_setup_pptable()
warn: passing casted pointer '&size' to 'smu_get_atom_data_table()' 32 vs 16.
drivers/gpu/drm/amd/amdgpu/../powerplay/smu_v11_0.c
357 static int smu_v11_0_setup_pptable(struct smu_context *smu)
358 {
359 struct amdgpu_device *adev = smu->adev;
360 const struct smc_firmware_header_v1_0 *hdr;
361 int ret, index;
362 uint32_t size;
^^^^^^^^^^^^^
363 uint8_t frev, crev;
364 void *table;
365 uint16_t version_major, version_minor;
366
367 hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
368 version_major = le16_to_cpu(hdr->header.header_version_major);
369 version_minor = le16_to_cpu(hdr->header.header_version_minor);
370 if (version_major == 2 && smu->smu_table.boot_values.pp_table_id > 0) {
371 switch (version_minor) {
372 case 0:
373 ret = smu_v11_0_set_pptable_v2_0(smu, &table, &size);
374 break;
375 case 1:
376 ret = smu_v11_0_set_pptable_v2_1(smu, &table, &size,
377 smu->smu_table.boot_values.pp_table_id);
378 break;
379 default:
380 ret = -EINVAL;
381 break;
382 }
383 if (ret)
384 return ret;
385
386 } else {
387 index = get_index_into_master_table(atom_master_list_of_data_tables_v2_1,
388 powerplayinfo);
389
390 ret = smu_get_atom_data_table(smu, index, (uint16_t *)&size, &frev, &crev,
^^^^^^^^^^^^^^^^^
This only initializes the highest 16 bits.
391 (uint8_t **)&table);
392 if (ret)
393 return ret;
394 }
395
396 if (!smu->smu_table.power_play_table)
397 smu->smu_table.power_play_table = table;
398 if (!smu->smu_table.power_play_table_size)
399 smu->smu_table.power_play_table_size = size;
400
401 return 0;
regards,
dan carpenter
[-- Attachment #1.2: Type: text/html, Size: 9505 bytes --]
[-- Attachment #2: Type: text/plain, Size: 153 bytes --]
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-19 15:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-19 13:03 [bug report] drm/amd/powerplay: implement smc firmware v2.1 for smu11 Dan Carpenter
2019-08-19 15:31 ` Wang, Kevin(Yang)
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.