mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
Refactor the ECC code present under gp10b/, gv11b/, and tu104/. To do this a few things were required: Firstly, move the ecc related C and H files under the aforementioned directories over to their new home under hal/gr/ecc/. Also copy over the ECC HAL code present in gp10b/gp10b.c - not sure why this was there but it, too, needed to be refactored. Also handle all the updated header paths and Makefiles to take these movements into account. Secondly add a new HAL in GR (gr.ecc) to handle ECC HAL ops. There's only two: detect and init. init() was copied over from gr and detect was added so that the common ECC code can call it in a chip agnostic way. This is required so that the ECC detect can be moved out of the gp10b init characteristics function. Lastly update the ECC init flow in the common ecc module to call detect() right before init(). JIRA NVGPU-3074 Change-Id: Iba1464a904f9a91a45f30902beadf6f912607e40 Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2090977 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2018-2019, 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 NVGPU_ECC_GV11B_H
|
|
#define NVGPU_ECC_GV11B_H
|
|
|
|
struct gk20a;
|
|
|
|
void gv11b_ecc_detect_enabled_units(struct gk20a *g);
|
|
int gv11b_ecc_init(struct gk20a *g);
|
|
|
|
#endif /* NVGPU_ECC_GV11B_H */
|