diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2018-04-06 09:08:18 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-04-10 14:23:11 -0400 |
commit | 78151bb6f9cf9f355c57a28df0c7e4cd867c3322 (patch) | |
tree | aa7413d9caae2766ce7f81384336af0556bfe63a /drivers/gpu/nvgpu/include | |
parent | 19aa748be53787da6abe435ea7043a7827d0fde0 (diff) |
gpu: nvgpu: use HAL for chiplet offset
We currently use hard coded values of NV_PERF_PMMGPC_CHIPLET_OFFSET and
NV_PMM_FBP_STRIDE which are incorrect for Volta
Add new GR HAL get_pmm_per_chiplet_offset() to get correct value per-chip
Set gr_gm20b_get_pmm_per_chiplet_offset() for older chips
Set gr_gv11b_get_pmm_per_chiplet_offset() for Volta
Use HAL instead of hard coded values wherever required
Bug 200398811
Jira NVGPU-556
Change-Id: I947e7febd4f84fae740a1bc74f99d72e1df523aa
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1690028
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
3 files changed, 27 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_perf_gm20b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_perf_gm20b.h index ae34cabd..a94ba307 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_perf_gm20b.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gm20b/hw_perf_gm20b.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2015-2018, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * Permission is hereby granted, free of charge, to any person obtaining a | 4 | * Permission is hereby granted, free of charge, to any person obtaining a |
5 | * copy of this software and associated documentation files (the "Software"), | 5 | * copy of this software and associated documentation files (the "Software"), |
@@ -56,6 +56,14 @@ | |||
56 | #ifndef _hw_perf_gm20b_h_ | 56 | #ifndef _hw_perf_gm20b_h_ |
57 | #define _hw_perf_gm20b_h_ | 57 | #define _hw_perf_gm20b_h_ |
58 | 58 | ||
59 | static inline u32 perf_pmmsys_base_v(void) | ||
60 | { | ||
61 | return 0x001b0000U; | ||
62 | } | ||
63 | static inline u32 perf_pmmsys_extent_v(void) | ||
64 | { | ||
65 | return 0x001b0fffU; | ||
66 | } | ||
59 | static inline u32 perf_pmasys_control_r(void) | 67 | static inline u32 perf_pmasys_control_r(void) |
60 | { | 68 | { |
61 | return 0x001b4000U; | 69 | return 0x001b4000U; |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_perf_gp106.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_perf_gp106.h index b0182789..334cd200 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_perf_gp106.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_perf_gp106.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * Permission is hereby granted, free of charge, to any person obtaining a | 4 | * Permission is hereby granted, free of charge, to any person obtaining a |
5 | * copy of this software and associated documentation files (the "Software"), | 5 | * copy of this software and associated documentation files (the "Software"), |
@@ -56,6 +56,14 @@ | |||
56 | #ifndef _hw_perf_gp106_h_ | 56 | #ifndef _hw_perf_gp106_h_ |
57 | #define _hw_perf_gp106_h_ | 57 | #define _hw_perf_gp106_h_ |
58 | 58 | ||
59 | static inline u32 perf_pmmsys_base_v(void) | ||
60 | { | ||
61 | return 0x001b0000U; | ||
62 | } | ||
63 | static inline u32 perf_pmmsys_extent_v(void) | ||
64 | { | ||
65 | return 0x001b0fffU; | ||
66 | } | ||
59 | static inline u32 perf_pmasys_control_r(void) | 67 | static inline u32 perf_pmasys_control_r(void) |
60 | { | 68 | { |
61 | return 0x001b4000U; | 69 | return 0x001b4000U; |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_perf_gp10b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_perf_gp10b.h index aa0fafe7..43424e13 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_perf_gp10b.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_perf_gp10b.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2015-2018, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * Permission is hereby granted, free of charge, to any person obtaining a | 4 | * Permission is hereby granted, free of charge, to any person obtaining a |
5 | * copy of this software and associated documentation files (the "Software"), | 5 | * copy of this software and associated documentation files (the "Software"), |
@@ -56,6 +56,14 @@ | |||
56 | #ifndef _hw_perf_gp10b_h_ | 56 | #ifndef _hw_perf_gp10b_h_ |
57 | #define _hw_perf_gp10b_h_ | 57 | #define _hw_perf_gp10b_h_ |
58 | 58 | ||
59 | static inline u32 perf_pmmsys_base_v(void) | ||
60 | { | ||
61 | return 0x001b0000U; | ||
62 | } | ||
63 | static inline u32 perf_pmmsys_extent_v(void) | ||
64 | { | ||
65 | return 0x001b0fffU; | ||
66 | } | ||
59 | static inline u32 perf_pmasys_control_r(void) | 67 | static inline u32 perf_pmasys_control_r(void) |
60 | { | 68 | { |
61 | return 0x001b4000U; | 69 | return 0x001b4000U; |