summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/nvlink.c
diff options
context:
space:
mode:
authorAdeel Raza <araza@nvidia.com>2018-02-12 00:53:15 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-04-23 13:03:59 -0400
commit0e3181a5d710a4ef066c81ec9d699dbcb3d9c995 (patch)
tree4d86356f44c430d541838e053c976241676c77d1 /drivers/gpu/nvgpu/common/linux/nvlink.c
parent24cf5916b7e503abce4d9a61c647636800acdacd (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.c18
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;