mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 09:57:08 +03:00
gpu: nvgpu: MISRA 21.15 fixes to pmgr code
MISRA Rule 21.15 prohibits use of memcpy() with incompatible ptrs to qualified/unqualified types. To circumvent this issue we've introduced a new MISRA-compliant nvgpu_memcpy() function. This change switches all offending uses of memcpy() in pmgr/*.c code over to use nvgpu_memcpy() with appropriate casts applied. JIRA NVGPU-849 Change-Id: I949f8cff49755c4cbe328ae628cf71ace18622c7 Signed-off-by: Scott Long <scottl@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1936181 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Nicolas Benech <nbenech@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
3f314d013d
commit
2da8c07710
@@ -24,6 +24,7 @@
|
||||
#include <nvgpu/gk20a.h>
|
||||
#include <nvgpu/boardobjgrp.h>
|
||||
#include <nvgpu/boardobjgrp_e32.h>
|
||||
#include <nvgpu/string.h>
|
||||
|
||||
#include "pwrdev.h"
|
||||
#include "gp106/bios_gp106.h"
|
||||
@@ -156,7 +157,7 @@ static int devinit_get_pwr_device_table(struct gk20a *g,
|
||||
goto done;
|
||||
}
|
||||
|
||||
memcpy(&pwr_sensor_table_header, pwr_device_table_ptr,
|
||||
nvgpu_memcpy((u8 *)&pwr_sensor_table_header, pwr_device_table_ptr,
|
||||
VBIOS_POWER_SENSORS_2X_HEADER_SIZE_08);
|
||||
|
||||
if (pwr_sensor_table_header.version !=
|
||||
@@ -189,7 +190,7 @@ static int devinit_get_pwr_device_table(struct gk20a *g,
|
||||
|
||||
pwr_sensor_table_entry.flags0 = *curr_pwr_device_table_ptr;
|
||||
|
||||
memcpy(&pwr_sensor_table_entry.class_param0,
|
||||
nvgpu_memcpy((u8 *)&pwr_sensor_table_entry.class_param0,
|
||||
(curr_pwr_device_table_ptr + 1),
|
||||
(VBIOS_POWER_SENSORS_2X_ENTRY_SIZE_15 - 1U));
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <nvgpu/gk20a.h>
|
||||
#include <nvgpu/boardobjgrp.h>
|
||||
#include <nvgpu/boardobjgrp_e32.h>
|
||||
#include <nvgpu/string.h>
|
||||
|
||||
#include "pwrdev.h"
|
||||
#include "gp106/bios_gp106.h"
|
||||
@@ -204,7 +205,7 @@ static int devinit_get_pwr_topology_table(struct gk20a *g,
|
||||
goto done;
|
||||
}
|
||||
|
||||
memcpy(&pwr_topology_table_header, pwr_topology_table_ptr,
|
||||
nvgpu_memcpy((u8 *)&pwr_topology_table_header, pwr_topology_table_ptr,
|
||||
VBIOS_POWER_TOPOLOGY_2X_HEADER_SIZE_06);
|
||||
|
||||
if (pwr_topology_table_header.version !=
|
||||
@@ -239,7 +240,7 @@ static int devinit_get_pwr_topology_table(struct gk20a *g,
|
||||
pwr_topology_table_entry.flags0 = *curr_pwr_topology_table_ptr;
|
||||
pwr_topology_table_entry.pwr_rail = *(curr_pwr_topology_table_ptr + 1);
|
||||
|
||||
memcpy(&pwr_topology_table_entry.param0,
|
||||
nvgpu_memcpy((u8 *)&pwr_topology_table_entry.param0,
|
||||
(curr_pwr_topology_table_ptr + 2),
|
||||
(VBIOS_POWER_TOPOLOGY_2X_ENTRY_SIZE_16 - 2U));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user