diff options
author | Adeel Raza <araza@nvidia.com> | 2018-02-12 00:53:15 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-04-23 13:03:59 -0400 |
commit | 0e3181a5d710a4ef066c81ec9d699dbcb3d9c995 (patch) | |
tree | 4d86356f44c430d541838e053c976241676c77d1 /drivers/gpu/nvgpu/common/linux/nvlink.c | |
parent | 24cf5916b7e503abce4d9a61c647636800acdacd (diff) |
gpu: nvgpu: add multiple nvlink recovery modes
Previously all nvlink recovery modes were being grouped under 1 enum.
Create an enum for each recovery mode, so the link can go into specific
recovery modes.
Bug 2090322
Change-Id: I5c2aea758f77b0286e3538424684ddceca98a873
Signed-off-by: Adeel Raza <araza@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1698799
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Tejal Kudav <tkudav@nvidia.com>
Reviewed-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Tested-by: Petlozu Pravareshwar <petlozup@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>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/nvlink.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/nvlink.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/nvlink.c b/drivers/gpu/nvgpu/common/linux/nvlink.c index 61dc8bc7..f2faa682 100644 --- a/drivers/gpu/nvgpu/common/linux/nvlink.c +++ b/drivers/gpu/nvgpu/common/linux/nvlink.c | |||
@@ -138,8 +138,12 @@ static u32 nvgpu_nvlink_get_link_mode(struct nvlink_device *ndev) | |||
138 | return NVLINK_LINK_SAFE; | 138 | return NVLINK_LINK_SAFE; |
139 | case nvgpu_nvlink_link_fault: | 139 | case nvgpu_nvlink_link_fault: |
140 | return NVLINK_LINK_FAULT; | 140 | return NVLINK_LINK_FAULT; |
141 | case nvgpu_nvlink_link_recovery: | 141 | case nvgpu_nvlink_link_rcvy_ac: |
142 | return NVLINK_LINK_RECOVERY; | 142 | return NVLINK_LINK_RCVY_AC; |
143 | case nvgpu_nvlink_link_rcvy_sw: | ||
144 | return NVLINK_LINK_RCVY_SW; | ||
145 | case nvgpu_nvlink_link_rcvy_rx: | ||
146 | return NVLINK_LINK_RCVY_RX; | ||
143 | case nvgpu_nvlink_link_detect: | 147 | case nvgpu_nvlink_link_detect: |
144 | return NVLINK_LINK_DETECT; | 148 | return NVLINK_LINK_DETECT; |
145 | case nvgpu_nvlink_link_reset: | 149 | case nvgpu_nvlink_link_reset: |
@@ -198,8 +202,14 @@ static int nvgpu_nvlink_set_link_mode(struct nvlink_device *ndev, u32 mode) | |||
198 | case NVLINK_LINK_FAULT: | 202 | case NVLINK_LINK_FAULT: |
199 | mode_sw = nvgpu_nvlink_link_fault; | 203 | mode_sw = nvgpu_nvlink_link_fault; |
200 | break; | 204 | break; |
201 | case NVLINK_LINK_RECOVERY: | 205 | case NVLINK_LINK_RCVY_AC: |
202 | mode_sw = nvgpu_nvlink_link_recovery; | 206 | mode_sw = nvgpu_nvlink_link_rcvy_ac; |
207 | break; | ||
208 | case NVLINK_LINK_RCVY_SW: | ||
209 | mode_sw = nvgpu_nvlink_link_rcvy_sw; | ||
210 | break; | ||
211 | case NVLINK_LINK_RCVY_RX: | ||
212 | mode_sw = nvgpu_nvlink_link_rcvy_rx; | ||
203 | break; | 213 | break; |
204 | case NVLINK_LINK_DETECT: | 214 | case NVLINK_LINK_DETECT: |
205 | mode_sw = nvgpu_nvlink_link_detect; | 215 | mode_sw = nvgpu_nvlink_link_detect; |