summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-05-06 18:00:17 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:15 -0500
commita6682186de77b90fa41718d4b0012b35aba95ae0 (patch)
treecc0ba093bcb943f790683e9f2616000b758b27e7 /drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h
parent205559cf31212af1c3c602f4889421748a433416 (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.h16
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}
2173static inline u32 gr_cwd_gpc_tpc_id_tpc0_s(void)
2174{
2175 return 4;
2176}
2173static inline u32 gr_cwd_gpc_tpc_id_tpc0_f(u32 v) 2177static 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}
2181static inline u32 gr_cwd_gpc_tpc_id_gpc0_s(void)
2182{
2183 return 4;
2184}
2185static inline u32 gr_cwd_gpc_tpc_id_gpc0_f(u32 v)
2186{
2187 return (v & 0xf) << 4;
2188}
2177static inline u32 gr_cwd_gpc_tpc_id_tpc1_f(u32 v) 2189static 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}
2197static inline u32 gr_cwd_sm_id__size_1_v(void)
2198{
2199 return 0x00000010;
2200}
2185static inline u32 gr_cwd_sm_id_tpc0_f(u32 v) 2201static inline u32 gr_cwd_sm_id_tpc0_f(u32 v)
2186{ 2202{
2187 return (v & 0xff) << 0; 2203 return (v & 0xff) << 0;