diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-07-04 20:47:26 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-07-04 23:45:04 -0400 |
commit | 5c5ae7157d78e59e062dd35fbe9dec4de852bec2 (patch) | |
tree | b2466de57d3ce1c4d57fbc60abcbb2f24e88ac28 | |
parent | d196e16ebf8bc9489ee3dc41dc5dfd84a70cec18 (diff) |
drm/nvc0-/gr: remove some more of the hardcoded register writes
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c | 8 |
3 files changed, 6 insertions, 28 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c index b80723e7d49f..64dca260912f 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c | |||
@@ -929,11 +929,13 @@ nvc0_grctx_generate_tpcid(struct nvc0_graph_priv *priv) | |||
929 | void | 929 | void |
930 | nvc0_grctx_generate_r406028(struct nvc0_graph_priv *priv) | 930 | nvc0_grctx_generate_r406028(struct nvc0_graph_priv *priv) |
931 | { | 931 | { |
932 | u32 tmp = 0, i; | 932 | u32 tmp[GPC_MAX / 8] = {}, i = 0; |
933 | for (i = 0; i < priv->gpc_nr; i++) | 933 | for (i = 0; i < priv->gpc_nr; i++) |
934 | tmp |= priv->tpc_nr[i] << (i * 4); | 934 | tmp[i / 8] |= priv->tpc_nr[i] << ((i % 8) * 4); |
935 | nv_wr32(priv, 0x406028, tmp); | 935 | for (i = 0; i < 4; i++) { |
936 | nv_wr32(priv, 0x405870, tmp); | 936 | nv_wr32(priv, 0x406028 + (i * 4), tmp[i]); |
937 | nv_wr32(priv, 0x405870 + (i * 4), tmp[i]); | ||
938 | } | ||
937 | } | 939 | } |
938 | 940 | ||
939 | void | 941 | void |
@@ -1069,14 +1071,6 @@ nvc0_grctx_generate_main(struct nvc0_graph_priv *priv, struct nvc0_grctx *info) | |||
1069 | 1071 | ||
1070 | nvc0_grctx_generate_tpcid(priv); | 1072 | nvc0_grctx_generate_tpcid(priv); |
1071 | nvc0_grctx_generate_r406028(priv); | 1073 | nvc0_grctx_generate_r406028(priv); |
1072 | |||
1073 | nv_wr32(priv, 0x40602c, 0x00000000); | ||
1074 | nv_wr32(priv, 0x405874, 0x00000000); | ||
1075 | nv_wr32(priv, 0x406030, 0x00000000); | ||
1076 | nv_wr32(priv, 0x405878, 0x00000000); | ||
1077 | nv_wr32(priv, 0x406034, 0x00000000); | ||
1078 | nv_wr32(priv, 0x40587c, 0x00000000); | ||
1079 | |||
1080 | nvc0_grctx_generate_r4060a8(priv); | 1074 | nvc0_grctx_generate_r4060a8(priv); |
1081 | nvc0_grctx_generate_r418bb8(priv); | 1075 | nvc0_grctx_generate_r418bb8(priv); |
1082 | nvc0_grctx_generate_r406800(priv); | 1076 | nvc0_grctx_generate_r406800(priv); |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c index 36fa4da66abb..438e78410808 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c | |||
@@ -231,14 +231,6 @@ nvd7_grctx_generate_main(struct nvc0_graph_priv *priv, struct nvc0_grctx *info) | |||
231 | 231 | ||
232 | nvc0_grctx_generate_tpcid(priv); | 232 | nvc0_grctx_generate_tpcid(priv); |
233 | nvc0_grctx_generate_r406028(priv); | 233 | nvc0_grctx_generate_r406028(priv); |
234 | |||
235 | nv_wr32(priv, 0x40602c, 0x00000000); | ||
236 | nv_wr32(priv, 0x405874, 0x00000000); | ||
237 | nv_wr32(priv, 0x406030, 0x00000000); | ||
238 | nv_wr32(priv, 0x405878, 0x00000000); | ||
239 | nv_wr32(priv, 0x406034, 0x00000000); | ||
240 | nv_wr32(priv, 0x40587c, 0x00000000); | ||
241 | |||
242 | nvc0_grctx_generate_r4060a8(priv); | 234 | nvc0_grctx_generate_r4060a8(priv); |
243 | nve4_grctx_generate_r418bb8(priv); | 235 | nve4_grctx_generate_r418bb8(priv); |
244 | nvc0_grctx_generate_r406800(priv); | 236 | nvc0_grctx_generate_r406800(priv); |
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c index 0b72d7240b0b..e2de73ee5eee 100644 --- a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c +++ b/drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c | |||
@@ -937,14 +937,6 @@ nve4_grctx_generate_main(struct nvc0_graph_priv *priv, struct nvc0_grctx *info) | |||
937 | 937 | ||
938 | nvc0_grctx_generate_tpcid(priv); | 938 | nvc0_grctx_generate_tpcid(priv); |
939 | nvc0_grctx_generate_r406028(priv); | 939 | nvc0_grctx_generate_r406028(priv); |
940 | |||
941 | nv_wr32(priv, 0x40602c, 0x00000000); | ||
942 | nv_wr32(priv, 0x405874, 0x00000000); | ||
943 | nv_wr32(priv, 0x406030, 0x00000000); | ||
944 | nv_wr32(priv, 0x405878, 0x00000000); | ||
945 | nv_wr32(priv, 0x406034, 0x00000000); | ||
946 | nv_wr32(priv, 0x40587c, 0x00000000); | ||
947 | |||
948 | nve4_grctx_generate_r418bb8(priv); | 940 | nve4_grctx_generate_r418bb8(priv); |
949 | nvc0_grctx_generate_r406800(priv); | 941 | nvc0_grctx_generate_r406800(priv); |
950 | 942 | ||