Files
linux-nvgpu/drivers/gpu/nvgpu/gp106/regops_gp106.h
Philip Elcan 2d0149c9ab gpu: nvgpu: resolve MISRA 10.3 violations
MISRA rule 10.3 prohibits implicit assigning of u64 to u32. The nvgpu was
assigning the value returned by ARRAY_SIZE which is a u64 to a u32. This
value was then returned in a function defined by gpu_ops.

This patch changes the return type for these gpu_ops to u64 and updates
the functions that implement the functions and lastly the saved value. This
removes the violation in this instance.

JIRA NVGPU-647

Change-Id: I2b93929633cf4809d8f65ee41f739f45d4c2cda7
Signed-off-by: Philip Elcan <pelcan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1805588
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2018-08-29 17:47:25 -07:00

43 lines
2.0 KiB
C

/*
*
* Tegra GP106 GPU Debugger Driver Register Ops
*
* Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef __REGOPS_GP106_H_
#define __REGOPS_GP106_H_
const struct regop_offset_range *gp106_get_global_whitelist_ranges(void);
u64 gp106_get_global_whitelist_ranges_count(void);
const struct regop_offset_range *gp106_get_context_whitelist_ranges(void);
u64 gp106_get_context_whitelist_ranges_count(void);
const u32 *gp106_get_runcontrol_whitelist(void);
u64 gp106_get_runcontrol_whitelist_count(void);
const struct regop_offset_range *gp106_get_runcontrol_whitelist_ranges(void);
u64 gp106_get_runcontrol_whitelist_ranges_count(void);
const u32 *gp106_get_qctl_whitelist(void);
u64 gp106_get_qctl_whitelist_count(void);
const struct regop_offset_range *gp106_get_qctl_whitelist_ranges(void);
u64 gp106_get_qctl_whitelist_ranges_count(void);
int gp106_apply_smpc_war(struct dbg_session_gk20a *dbg_s);
#endif /* __REGOPS_GP106_H_ */