diff options
author | Tejal Kudav <tkudav@nvidia.com> | 2018-03-13 06:25:31 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-22 08:25:09 -0400 |
commit | 2aead38194fb6f3166a9ccb501467f7b0662f6c1 (patch) | |
tree | 70e6e1c18eafc494f555caa6a6306a13edb1c395 | |
parent | 88bbe31396c7071e1e2c5a01e940a5f1371cfbaf (diff) |
gpu: nvlink: change default link speed to 20G
Add support for 20G speed by updating initPLL command and
update the default link speed set during nvlink init to 20G.
Bug 200398181
Change-Id: I22cde32842d140b34481aaec2b1561ffbd44e2d8
Signed-off-by: Tejal Kudav <tkudav@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1678444
Reviewed-by: Thomas Fleury <tfleury@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r-- | drivers/gpu/nvgpu/gv100/nvlink_gv100.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/nvlink.h | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gv100/nvlink_gv100.c b/drivers/gpu/nvgpu/gv100/nvlink_gv100.c index ba649382..d0dfebcf 100644 --- a/drivers/gpu/nvgpu/gv100/nvlink_gv100.c +++ b/drivers/gpu/nvgpu/gv100/nvlink_gv100.c | |||
@@ -690,9 +690,12 @@ static u32 gv100_nvlink_minion_init_uphy(struct gk20a *g, unsigned long mask, | |||
690 | unsigned long link_enable; | 690 | unsigned long link_enable; |
691 | 691 | ||
692 | switch(g->nvlink.speed) { | 692 | switch(g->nvlink.speed) { |
693 | case nvgpu_nvlink_speed_default: | 693 | case nvgpu_nvlink_speed_25G: |
694 | init_pll_cmd = minion_nvlink_dl_cmd_command_initpll_0_v(); | 694 | init_pll_cmd = minion_nvlink_dl_cmd_command_initpll_0_v(); |
695 | break; | 695 | break; |
696 | case nvgpu_nvlink_speed_20G: | ||
697 | init_pll_cmd = minion_nvlink_dl_cmd_command_initpll_1_v(); | ||
698 | break; | ||
696 | default: | 699 | default: |
697 | nvgpu_err(g, "Unsupported UPHY speed"); | 700 | nvgpu_err(g, "Unsupported UPHY speed"); |
698 | return -EINVAL; | 701 | return -EINVAL; |
@@ -2644,8 +2647,7 @@ int gv100_nvlink_early_init(struct gk20a *g) | |||
2644 | goto nvlink_init_exit; | 2647 | goto nvlink_init_exit; |
2645 | } | 2648 | } |
2646 | 2649 | ||
2647 | /* For now set default speed */ | 2650 | g->nvlink.speed = nvgpu_nvlink_speed_20G; |
2648 | g->nvlink.speed = nvgpu_nvlink_speed_default; | ||
2649 | 2651 | ||
2650 | err = __gv100_nvlink_state_load_hal(g); | 2652 | err = __gv100_nvlink_state_load_hal(g); |
2651 | if (err) { | 2653 | if (err) { |
diff --git a/drivers/gpu/nvgpu/include/nvgpu/nvlink.h b/drivers/gpu/nvgpu/include/nvgpu/nvlink.h index 18e0aab6..7b8be7d8 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/nvlink.h +++ b/drivers/gpu/nvgpu/include/nvgpu/nvlink.h | |||
@@ -128,7 +128,8 @@ struct nvgpu_nvlink_link { | |||
128 | #define NVLINK_MAX_LINKS_SW 6 | 128 | #define NVLINK_MAX_LINKS_SW 6 |
129 | 129 | ||
130 | enum nvgpu_nvlink_speed { | 130 | enum nvgpu_nvlink_speed { |
131 | nvgpu_nvlink_speed_default, | 131 | nvgpu_nvlink_speed_25G, |
132 | nvgpu_nvlink_speed_20G, | ||
132 | nvgpu_nvlink_speed__last, | 133 | nvgpu_nvlink_speed__last, |
133 | }; | 134 | }; |
134 | 135 | ||