diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/gr_gm20b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gr_gm20b.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 7ec8e2cb..afe60b98 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |||
@@ -22,8 +22,6 @@ | |||
22 | * DEALINGS IN THE SOFTWARE. | 22 | * DEALINGS IN THE SOFTWARE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <dt-bindings/soc/gm20b-fuse.h> | ||
26 | |||
27 | #include <nvgpu/kmem.h> | 25 | #include <nvgpu/kmem.h> |
28 | #include <nvgpu/log.h> | 26 | #include <nvgpu/log.h> |
29 | #include <nvgpu/enabled.h> | 27 | #include <nvgpu/enabled.h> |
@@ -1423,52 +1421,6 @@ int gr_gm20b_get_preemption_mode_flags(struct gk20a *g, | |||
1423 | return 0; | 1421 | return 0; |
1424 | } | 1422 | } |
1425 | 1423 | ||
1426 | int gm20b_gr_tpc_disable_override(struct gk20a *g, u32 mask) | ||
1427 | { | ||
1428 | if (!mask) | ||
1429 | return 0; | ||
1430 | |||
1431 | g->tpc_fs_mask_user = ~mask; | ||
1432 | |||
1433 | return 0; | ||
1434 | } | ||
1435 | |||
1436 | int gm20b_gr_fuse_override(struct gk20a *g) | ||
1437 | { | ||
1438 | struct device_node *np = dev_from_gk20a(g)->of_node; | ||
1439 | u32 *fuses; | ||
1440 | int count, i; | ||
1441 | |||
1442 | if (!np) /* may be pcie device */ | ||
1443 | return 0; | ||
1444 | |||
1445 | count = of_property_count_elems_of_size(np, "fuse-overrides", 8); | ||
1446 | if (count <= 0) | ||
1447 | return count; | ||
1448 | |||
1449 | fuses = nvgpu_kmalloc(g, sizeof(u32) * count * 2); | ||
1450 | if (!fuses) | ||
1451 | return -ENOMEM; | ||
1452 | of_property_read_u32_array(np, "fuse-overrides", fuses, count * 2); | ||
1453 | for (i = 0; i < count; i++) { | ||
1454 | u32 fuse, value; | ||
1455 | |||
1456 | fuse = fuses[2 * i]; | ||
1457 | value = fuses[2 * i + 1]; | ||
1458 | switch (fuse) { | ||
1459 | case GM20B_FUSE_OPT_TPC_DISABLE: | ||
1460 | gm20b_gr_tpc_disable_override(g, value); | ||
1461 | break; | ||
1462 | default: | ||
1463 | nvgpu_err(g, "ignore unknown fuse override %08x", fuse); | ||
1464 | break; | ||
1465 | } | ||
1466 | } | ||
1467 | |||
1468 | nvgpu_kfree(g, fuses); | ||
1469 | return 0; | ||
1470 | } | ||
1471 | |||
1472 | bool gr_gm20b_is_ltcs_ltss_addr(struct gk20a *g, u32 addr) | 1424 | bool gr_gm20b_is_ltcs_ltss_addr(struct gk20a *g, u32 addr) |
1473 | { | 1425 | { |
1474 | u32 ltc_shared_base = ltc_ltcs_ltss_v(); | 1426 | u32 ltc_shared_base = ltc_ltcs_ltss_v(); |