hc
2024-05-16 8d2a02b24d66aa359e83eebc1ed3c0f85367a1cb
kernel/drivers/memory/tegra/tegra124.c
....@@ -1,9 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2014 NVIDIA CORPORATION. All rights reserved.
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License version 2 as
6
- * published by the Free Software Foundation.
74 */
85
96 #include <linux/of.h>
....@@ -12,48 +9,6 @@
129 #include <dt-bindings/memory/tegra124-mc.h>
1310
1411 #include "mc.h"
15
-
16
-#define MC_EMEM_ARB_CFG 0x90
17
-#define MC_EMEM_ARB_OUTSTANDING_REQ 0x94
18
-#define MC_EMEM_ARB_TIMING_RCD 0x98
19
-#define MC_EMEM_ARB_TIMING_RP 0x9c
20
-#define MC_EMEM_ARB_TIMING_RC 0xa0
21
-#define MC_EMEM_ARB_TIMING_RAS 0xa4
22
-#define MC_EMEM_ARB_TIMING_FAW 0xa8
23
-#define MC_EMEM_ARB_TIMING_RRD 0xac
24
-#define MC_EMEM_ARB_TIMING_RAP2PRE 0xb0
25
-#define MC_EMEM_ARB_TIMING_WAP2PRE 0xb4
26
-#define MC_EMEM_ARB_TIMING_R2R 0xb8
27
-#define MC_EMEM_ARB_TIMING_W2W 0xbc
28
-#define MC_EMEM_ARB_TIMING_R2W 0xc0
29
-#define MC_EMEM_ARB_TIMING_W2R 0xc4
30
-#define MC_EMEM_ARB_DA_TURNS 0xd0
31
-#define MC_EMEM_ARB_DA_COVERS 0xd4
32
-#define MC_EMEM_ARB_MISC0 0xd8
33
-#define MC_EMEM_ARB_MISC1 0xdc
34
-#define MC_EMEM_ARB_RING1_THROTTLE 0xe0
35
-
36
-static const unsigned long tegra124_mc_emem_regs[] = {
37
- MC_EMEM_ARB_CFG,
38
- MC_EMEM_ARB_OUTSTANDING_REQ,
39
- MC_EMEM_ARB_TIMING_RCD,
40
- MC_EMEM_ARB_TIMING_RP,
41
- MC_EMEM_ARB_TIMING_RC,
42
- MC_EMEM_ARB_TIMING_RAS,
43
- MC_EMEM_ARB_TIMING_FAW,
44
- MC_EMEM_ARB_TIMING_RRD,
45
- MC_EMEM_ARB_TIMING_RAP2PRE,
46
- MC_EMEM_ARB_TIMING_WAP2PRE,
47
- MC_EMEM_ARB_TIMING_R2R,
48
- MC_EMEM_ARB_TIMING_W2W,
49
- MC_EMEM_ARB_TIMING_R2W,
50
- MC_EMEM_ARB_TIMING_W2R,
51
- MC_EMEM_ARB_DA_TURNS,
52
- MC_EMEM_ARB_DA_COVERS,
53
- MC_EMEM_ARB_MISC0,
54
- MC_EMEM_ARB_MISC1,
55
- MC_EMEM_ARB_RING1_THROTTLE
56
-};
5712
5813 static const struct tegra_mc_client tegra124_mc_clients[] = {
5914 {
....@@ -999,16 +954,17 @@
999954 { .name = "vi", .swgroup = TEGRA_SWGROUP_VI, .reg = 0x280 },
1000955 };
1001956
1002
-static const unsigned int tegra124_group_display[] = {
957
+static const unsigned int tegra124_group_drm[] = {
1003958 TEGRA_SWGROUP_DC,
1004959 TEGRA_SWGROUP_DCB,
960
+ TEGRA_SWGROUP_VIC,
1005961 };
1006962
1007963 static const struct tegra_smmu_group_soc tegra124_groups[] = {
1008964 {
1009
- .name = "display",
1010
- .swgroups = tegra124_group_display,
1011
- .num_swgroups = ARRAY_SIZE(tegra124_group_display),
965
+ .name = "drm",
966
+ .swgroups = tegra124_group_drm,
967
+ .num_swgroups = ARRAY_SIZE(tegra124_group_drm),
1012968 },
1013969 };
1014970
....@@ -1049,6 +1005,28 @@
10491005 };
10501006
10511007 #ifdef CONFIG_ARCH_TEGRA_124_SOC
1008
+static const unsigned long tegra124_mc_emem_regs[] = {
1009
+ MC_EMEM_ARB_CFG,
1010
+ MC_EMEM_ARB_OUTSTANDING_REQ,
1011
+ MC_EMEM_ARB_TIMING_RCD,
1012
+ MC_EMEM_ARB_TIMING_RP,
1013
+ MC_EMEM_ARB_TIMING_RC,
1014
+ MC_EMEM_ARB_TIMING_RAS,
1015
+ MC_EMEM_ARB_TIMING_FAW,
1016
+ MC_EMEM_ARB_TIMING_RRD,
1017
+ MC_EMEM_ARB_TIMING_RAP2PRE,
1018
+ MC_EMEM_ARB_TIMING_WAP2PRE,
1019
+ MC_EMEM_ARB_TIMING_R2R,
1020
+ MC_EMEM_ARB_TIMING_W2W,
1021
+ MC_EMEM_ARB_TIMING_R2W,
1022
+ MC_EMEM_ARB_TIMING_W2R,
1023
+ MC_EMEM_ARB_DA_TURNS,
1024
+ MC_EMEM_ARB_DA_COVERS,
1025
+ MC_EMEM_ARB_MISC0,
1026
+ MC_EMEM_ARB_MISC1,
1027
+ MC_EMEM_ARB_RING1_THROTTLE
1028
+};
1029
+
10521030 static const struct tegra_smmu_soc tegra124_smmu_soc = {
10531031 .clients = tegra124_mc_clients,
10541032 .num_clients = ARRAY_SIZE(tegra124_mc_clients),
....@@ -1074,7 +1052,7 @@
10741052 .intmask = MC_INT_DECERR_MTS | MC_INT_SECERR_SEC | MC_INT_DECERR_VPR |
10751053 MC_INT_INVALID_APB_ASID_UPDATE | MC_INT_INVALID_SMMU_PAGE |
10761054 MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM,
1077
- .reset_ops = &terga_mc_reset_ops_common,
1055
+ .reset_ops = &tegra_mc_reset_ops_common,
10781056 .resets = tegra124_mc_resets,
10791057 .num_resets = ARRAY_SIZE(tegra124_mc_resets),
10801058 };
....@@ -1104,7 +1082,7 @@
11041082 .intmask = MC_INT_DECERR_MTS | MC_INT_SECERR_SEC | MC_INT_DECERR_VPR |
11051083 MC_INT_INVALID_APB_ASID_UPDATE | MC_INT_INVALID_SMMU_PAGE |
11061084 MC_INT_SECURITY_VIOLATION | MC_INT_DECERR_EMEM,
1107
- .reset_ops = &terga_mc_reset_ops_common,
1085
+ .reset_ops = &tegra_mc_reset_ops_common,
11081086 .resets = tegra124_mc_resets,
11091087 .num_resets = ARRAY_SIZE(tegra124_mc_resets),
11101088 };