gpu: nvgpu: nvgpu_memcpy changes to clk 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 non-offending memcpy usage in clk code
over to to use nvgpu_memcpy() with appropriate casts applied
to maintain consistency within nvgpu.

JIRA NVGPU-849

Signed-off-by: Scott Long <scottl@nvidia.com>
Change-Id: I7b859a59a594e873d673ba38e0692c61c9811907
Reviewed-on: https://git-master.nvidia.com/r/1946268
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Scott Long
2018-11-08 20:22:33 -08:00
committed by mobile promotions
parent 9834fb40fe
commit 359a8b82d9
2 changed files with 17 additions and 20 deletions

View File

@@ -764,9 +764,9 @@ static int clk_prog_pmudatainit_35_master(struct gk20a *g,
pset = (struct nv_pmu_clk_clk_prog_35_master_boardobj_set *)(void *)
ppmudata;
memcpy(pset->voltrail_sec_vf_entries,
pclk_prog_35_master->p_voltrail_sec_vf_entries,
voltrail_sec_vfsize);
nvgpu_memcpy((u8 *)pset->voltrail_sec_vf_entries,
(u8 *)pclk_prog_35_master->p_voltrail_sec_vf_entries,
voltrail_sec_vfsize);
return status;
}
@@ -823,8 +823,9 @@ static int clk_prog_pmudatainit_35_master_ratio(struct gk20a *g,
pset = (struct nv_pmu_clk_clk_prog_35_master_ratio_boardobj_set *)
(void *)ppmudata;
(void) memcpy(pset->ratio.slave_entries,
pclk_prog_35_master_ratio->ratio.p_slave_entries, slavesize);
nvgpu_memcpy((u8 *)pset->ratio.slave_entries,
(u8 *)pclk_prog_35_master_ratio->ratio.p_slave_entries,
slavesize);
return status;
}
@@ -879,8 +880,9 @@ static int clk_prog_pmudatainit_35_master_table(struct gk20a *g,
pset = (struct nv_pmu_clk_clk_prog_35_master_table_boardobj_set *)
(void *)ppmudata;
(void) memcpy(pset->table.slave_entries,
pclk_prog_35_master_table->table.p_slave_entries, slavesize);
nvgpu_memcpy((u8 *)pset->table.slave_entries,
(u8 *)pclk_prog_35_master_table->table.p_slave_entries,
slavesize);
return status;
}
@@ -1087,10 +1089,8 @@ static int clk_prog_construct_35_master(struct gk20a *g,
memset(pclkprog->p_voltrail_sec_vf_entries,
CTRL_CLK_CLK_DOMAIN_INDEX_INVALID, voltrail_sec_vfsize);
if ((memcpy(pclkprog->p_voltrail_sec_vf_entries,
ptmpprog->p_voltrail_sec_vf_entries, voltrail_sec_vfsize)) == NULL) {
status = -EINVAL;
}
nvgpu_memcpy((u8 *)pclkprog->p_voltrail_sec_vf_entries,
(u8 *)ptmpprog->p_voltrail_sec_vf_entries, voltrail_sec_vfsize);
return status;
}
@@ -1175,10 +1175,8 @@ static int clk_prog_construct_35_master_ratio(struct gk20a *g,
(void) memset(pclkprog->ratio.p_slave_entries,
CTRL_CLK_CLK_DOMAIN_INDEX_INVALID, slavesize);
if ((memcpy(pclkprog->ratio.p_slave_entries,
ptmpprog->ratio.p_slave_entries, slavesize)) == NULL) {
status = -EINVAL;
}
nvgpu_memcpy((u8 *)pclkprog->ratio.p_slave_entries,
(u8 *)ptmpprog->ratio.p_slave_entries, slavesize);
return status;
}
@@ -1276,10 +1274,8 @@ static int clk_prog_construct_35_master_table(struct gk20a *g,
memset(pclkprog->table.p_slave_entries,
CTRL_CLK_CLK_DOMAIN_INDEX_INVALID, slavesize);
if ((memcpy(pclkprog->table.p_slave_entries,
ptmpprog->table.p_slave_entries,slavesize)) == NULL) {
status = -EINVAL;
}
nvgpu_memcpy((u8 *)pclkprog->table.p_slave_entries,
(u8 *)ptmpprog->table.p_slave_entries, slavesize);
exit:
if (status != 0) {