diff options
author | Alex Waterman <alexw@nvidia.com> | 2017-03-08 19:59:25 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-28 12:39:07 -0400 |
commit | c363253c4575b59466e9390943c6b8b5ccfd068f (patch) | |
tree | e9102715e24f8cea222f5a2be51caf8360f9b2da /drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |
parent | 555e44b283175ef740a689442a508b2faf62f247 (diff) |
gpu: nvgpu: Use new kmem API functions (gm20b/*)
Use the new kmem API functions in gm20b/*. Also add a struct gk20a
pointer to
lsfm_free_ucode_img_res()
lsfm_free_nonpmu_ucode_img_res()
so nvgpu_kfree() works.
Bug 1799159
Bug 1823380
Change-Id: I3373600455553710adb14e0fb5743bf197095a03
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: http://git-master/r/1318320
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/gr_gm20b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/gr_gm20b.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 5b5fa82c..4f4b8d4a 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |||
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | #include <dt-bindings/soc/gm20b-fuse.h> | 23 | #include <dt-bindings/soc/gm20b-fuse.h> |
24 | 24 | ||
25 | #include <nvgpu/kmem.h> | ||
26 | |||
25 | #include "gk20a/gk20a.h" | 27 | #include "gk20a/gk20a.h" |
26 | #include "gk20a/gr_gk20a.h" | 28 | #include "gk20a/gr_gk20a.h" |
27 | 29 | ||
@@ -593,7 +595,7 @@ static int gr_gm20b_load_smid_config(struct gk20a *g) | |||
593 | u32 i, j; | 595 | u32 i, j; |
594 | u32 tpc_index, gpc_index; | 596 | u32 tpc_index, gpc_index; |
595 | 597 | ||
596 | tpc_sm_id = kcalloc(gr_cwd_sm_id__size_1_v(), sizeof(u32), GFP_KERNEL); | 598 | tpc_sm_id = nvgpu_kcalloc(g, gr_cwd_sm_id__size_1_v(), sizeof(u32)); |
597 | if (!tpc_sm_id) | 599 | if (!tpc_sm_id) |
598 | return -ENOMEM; | 600 | return -ENOMEM; |
599 | 601 | ||
@@ -625,7 +627,7 @@ static int gr_gm20b_load_smid_config(struct gk20a *g) | |||
625 | for (i = 0; i < gr_cwd_sm_id__size_1_v(); i++) | 627 | for (i = 0; i < gr_cwd_sm_id__size_1_v(); i++) |
626 | gk20a_writel(g, gr_cwd_sm_id_r(i), tpc_sm_id[i]); | 628 | gk20a_writel(g, gr_cwd_sm_id_r(i), tpc_sm_id[i]); |
627 | 629 | ||
628 | kfree(tpc_sm_id); | 630 | nvgpu_kfree(g, tpc_sm_id); |
629 | 631 | ||
630 | return 0; | 632 | return 0; |
631 | } | 633 | } |
@@ -1420,7 +1422,7 @@ static int gm20b_gr_fuse_override(struct gk20a *g) | |||
1420 | if (count <= 0) | 1422 | if (count <= 0) |
1421 | return count; | 1423 | return count; |
1422 | 1424 | ||
1423 | fuses = kmalloc(sizeof(u32) * count * 2, GFP_KERNEL); | 1425 | fuses = nvgpu_kmalloc(g, sizeof(u32) * count * 2); |
1424 | if (!fuses) | 1426 | if (!fuses) |
1425 | return -ENOMEM; | 1427 | return -ENOMEM; |
1426 | of_property_read_u32_array(np, "fuse-overrides", fuses, count * 2); | 1428 | of_property_read_u32_array(np, "fuse-overrides", fuses, count * 2); |
@@ -1440,7 +1442,7 @@ static int gm20b_gr_fuse_override(struct gk20a *g) | |||
1440 | } | 1442 | } |
1441 | } | 1443 | } |
1442 | 1444 | ||
1443 | kfree(fuses); | 1445 | nvgpu_kfree(g, fuses); |
1444 | return 0; | 1446 | return 0; |
1445 | } | 1447 | } |
1446 | 1448 | ||