summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2018-07-02 17:30:26 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-07-12 23:44:13 -0400
commitb97bcb3c689426a1b099e88ceef4d55584e2362b (patch)
tree4ad683912a323eca81a493314db3d74b46b6aa71 /drivers/gpu/nvgpu/gp106
parentb07a304ba3e747c80fe3e0a16caec88c8e1e8b28 (diff)
gpu: nvgpu: Move FB to common
Move all FB HAL implementations to common/fb. JIRA NVGPU-596 Change-Id: Id4ea09d608f5d6d1b245bddac09ecf1444b8ab30 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1769724 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp106')
-rw-r--r--drivers/gpu/nvgpu/gp106/fb_gp106.c51
-rw-r--r--drivers/gpu/nvgpu/gp106/fb_gp106.h28
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c8
3 files changed, 4 insertions, 83 deletions
diff --git a/drivers/gpu/nvgpu/gp106/fb_gp106.c b/drivers/gpu/nvgpu/gp106/fb_gp106.c
deleted file mode 100644
index 2bf97f61..00000000
--- a/drivers/gpu/nvgpu/gp106/fb_gp106.c
+++ /dev/null
@@ -1,51 +0,0 @@
1/*
2 * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#include "gk20a/gk20a.h"
24#include "gp10b/fb_gp10b.h"
25
26#include "fb_gp106.h"
27
28#include <nvgpu/hw/gp106/hw_fb_gp106.h>
29
30#define HW_SCRUB_TIMEOUT_DEFAULT 100 /* usec */
31#define HW_SCRUB_TIMEOUT_MAX 2000000 /* usec */
32
33void gp106_fb_reset(struct gk20a *g)
34{
35 u32 val;
36
37 int retries = HW_SCRUB_TIMEOUT_MAX / HW_SCRUB_TIMEOUT_DEFAULT;
38 /* wait for memory to be accessible */
39 do {
40 u32 w = gk20a_readl(g, fb_niso_scrub_status_r());
41 if (fb_niso_scrub_status_flag_v(w)) {
42 nvgpu_log_fn(g, "done");
43 break;
44 }
45 nvgpu_udelay(HW_SCRUB_TIMEOUT_DEFAULT);
46 } while (--retries);
47
48 val = gk20a_readl(g, fb_mmu_priv_level_mask_r());
49 val &= ~fb_mmu_priv_level_mask_write_violation_m();
50 gk20a_writel(g, fb_mmu_priv_level_mask_r(), val);
51}
diff --git a/drivers/gpu/nvgpu/gp106/fb_gp106.h b/drivers/gpu/nvgpu/gp106/fb_gp106.h
deleted file mode 100644
index d5ee87f4..00000000
--- a/drivers/gpu/nvgpu/gp106/fb_gp106.h
+++ /dev/null
@@ -1,28 +0,0 @@
1/*
2 * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#ifndef FB_GP106_H
24#define FB_GP106_H
25struct gpu_ops;
26
27void gp106_fb_reset(struct gk20a *g);
28#endif
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 75e2f5a1..63e6206a 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -27,6 +27,10 @@
27#include "common/ptimer/ptimer_gk20a.h" 27#include "common/ptimer/ptimer_gk20a.h"
28#include "common/bus/bus_gm20b.h" 28#include "common/bus/bus_gm20b.h"
29#include "common/bus/bus_gp10b.h" 29#include "common/bus/bus_gp10b.h"
30#include "common/fb/fb_gk20a.h"
31#include "common/fb/fb_gp10b.h"
32#include "common/fb/fb_gm20b.h"
33#include "common/fb/fb_gp106.h"
30 34
31#include "gk20a/gk20a.h" 35#include "gk20a/gk20a.h"
32#include "gk20a/fifo_gk20a.h" 36#include "gk20a/fifo_gk20a.h"
@@ -37,7 +41,6 @@
37#include "gk20a/flcn_gk20a.h" 41#include "gk20a/flcn_gk20a.h"
38#include "gk20a/regops_gk20a.h" 42#include "gk20a/regops_gk20a.h"
39#include "gk20a/mc_gk20a.h" 43#include "gk20a/mc_gk20a.h"
40#include "gk20a/fb_gk20a.h"
41#include "gk20a/pmu_gk20a.h" 44#include "gk20a/pmu_gk20a.h"
42#include "gk20a/gr_gk20a.h" 45#include "gk20a/gr_gk20a.h"
43 46
@@ -50,7 +53,6 @@
50#include "gp10b/regops_gp10b.h" 53#include "gp10b/regops_gp10b.h"
51#include "gp10b/priv_ring_gp10b.h" 54#include "gp10b/priv_ring_gp10b.h"
52#include "gp10b/fifo_gp10b.h" 55#include "gp10b/fifo_gp10b.h"
53#include "gp10b/fb_gp10b.h"
54#include "gp10b/pmu_gp10b.h" 56#include "gp10b/pmu_gp10b.h"
55#include "gp10b/gr_gp10b.h" 57#include "gp10b/gr_gp10b.h"
56#include "gp10b/priv_ring_gp10b.h" 58#include "gp10b/priv_ring_gp10b.h"
@@ -63,7 +65,6 @@
63#include "gm20b/fifo_gm20b.h" 65#include "gm20b/fifo_gm20b.h"
64#include "gm20b/mm_gm20b.h" 66#include "gm20b/mm_gm20b.h"
65#include "gm20b/pmu_gm20b.h" 67#include "gm20b/pmu_gm20b.h"
66#include "gm20b/fb_gm20b.h"
67#include "gm20b/acr_gm20b.h" 68#include "gm20b/acr_gm20b.h"
68#include "gm20b/gr_gm20b.h" 69#include "gm20b/gr_gm20b.h"
69 70
@@ -81,7 +82,6 @@
81#include "gp106/pmu_gp106.h" 82#include "gp106/pmu_gp106.h"
82#include "gp106/gr_ctx_gp106.h" 83#include "gp106/gr_ctx_gp106.h"
83#include "gp106/gr_gp106.h" 84#include "gp106/gr_gp106.h"
84#include "gp106/fb_gp106.h"
85#include "gp106/flcn_gp106.h" 85#include "gp106/flcn_gp106.h"
86#include "gp106/fuse_gp106.h" 86#include "gp106/fuse_gp106.h"
87 87