diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-06 18:00:17 -0400 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:15 -0500 |
commit | a6682186de77b90fa41718d4b0012b35aba95ae0 (patch) | |
tree | cc0ba093bcb943f790683e9f2616000b758b27e7 /drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h | |
parent | 205559cf31212af1c3c602f4889421748a433416 (diff) |
gpu: nvgpu: gp10b: Fix CWD floorsweep programming
Program CWD TPC and SM registers correctly. The old code did not work
when there are more than 4 TPCs.
Change-Id: I18a14a0f76d97b0962607ec0bbd71aafcd768bca
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1143075
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Konsta Holtta <kholtta@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h index 78304fb1..f7fd3b09 100644 --- a/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h | |||
@@ -2170,10 +2170,22 @@ static inline u32 gr_cwd_gpc_tpc_id_r(u32 i) | |||
2170 | { | 2170 | { |
2171 | return 0x00405b60 + i*4; | 2171 | return 0x00405b60 + i*4; |
2172 | } | 2172 | } |
2173 | static inline u32 gr_cwd_gpc_tpc_id_tpc0_s(void) | ||
2174 | { | ||
2175 | return 4; | ||
2176 | } | ||
2173 | static inline u32 gr_cwd_gpc_tpc_id_tpc0_f(u32 v) | 2177 | static inline u32 gr_cwd_gpc_tpc_id_tpc0_f(u32 v) |
2174 | { | 2178 | { |
2175 | return (v & 0xf) << 0; | 2179 | return (v & 0xf) << 0; |
2176 | } | 2180 | } |
2181 | static inline u32 gr_cwd_gpc_tpc_id_gpc0_s(void) | ||
2182 | { | ||
2183 | return 4; | ||
2184 | } | ||
2185 | static inline u32 gr_cwd_gpc_tpc_id_gpc0_f(u32 v) | ||
2186 | { | ||
2187 | return (v & 0xf) << 4; | ||
2188 | } | ||
2177 | static inline u32 gr_cwd_gpc_tpc_id_tpc1_f(u32 v) | 2189 | static inline u32 gr_cwd_gpc_tpc_id_tpc1_f(u32 v) |
2178 | { | 2190 | { |
2179 | return (v & 0xf) << 8; | 2191 | return (v & 0xf) << 8; |
@@ -2182,6 +2194,10 @@ static inline u32 gr_cwd_sm_id_r(u32 i) | |||
2182 | { | 2194 | { |
2183 | return 0x00405ba0 + i*4; | 2195 | return 0x00405ba0 + i*4; |
2184 | } | 2196 | } |
2197 | static inline u32 gr_cwd_sm_id__size_1_v(void) | ||
2198 | { | ||
2199 | return 0x00000010; | ||
2200 | } | ||
2185 | static inline u32 gr_cwd_sm_id_tpc0_f(u32 v) | 2201 | static inline u32 gr_cwd_sm_id_tpc0_f(u32 v) |
2186 | { | 2202 | { |
2187 | return (v & 0xff) << 0; | 2203 | return (v & 0xff) << 0; |