From 7c7295f2c0ec46150ca7da3f419738d7562c85a0 Mon Sep 17 00:00:00 2001 From: prsethi Date: Mon, 12 Dec 2022 18:53:45 +0000 Subject: [PATCH] gpu:nvpgu: avoid checks for MINOR and PATCH version The NVS protocol is supposed to follow the semantic versioning scheme as said in the header docs. This means backwards compatibility within the same major version. Patch removed the client MINOR and PATCH version comparison with KMD version. Patch also returns KMD version irrespective of version compatibility. Bug 3884011 Change-Id: I756a0f87e911d8549efda8e8f5671f9c6d6a76c9 Signed-off-by: prsethi Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2826431 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-cert Reviewed-by: Ramesh Mylavarapu Reviewed-by: Vaibhav Kachore GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/common/nvs/nvs_sched_ctrl.c | 11 +++++------ userspace/units/nvs/nvgpu-nvs.c | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/nvgpu/common/nvs/nvs_sched_ctrl.c b/drivers/gpu/nvgpu/common/nvs/nvs_sched_ctrl.c index 399534a50..4287bd6d0 100644 --- a/drivers/gpu/nvgpu/common/nvs/nvs_sched_ctrl.c +++ b/drivers/gpu/nvgpu/common/nvs/nvs_sched_ctrl.c @@ -680,13 +680,8 @@ static int nvgpu_nvs_ctrl_fifo_scheduler_process_caps_request(struct gk20a *g, (void)g; - if (request->client_version_major == NVS_DOMAIN_SCHED_VERSION_MAJOR - && request->client_version_minor == NVS_DOMAIN_SCHED_VERSION_MINOR - && request->client_version_patch == NVS_DOMAIN_SCHED_VERSION_PATCH) { + if (request->client_version_major == NVS_DOMAIN_SCHED_VERSION_MAJOR) { result = 0; - response->sched_version_major = NVS_DOMAIN_SCHED_VERSION_MAJOR; - response->sched_version_minor = NVS_DOMAIN_SCHED_VERSION_MINOR; - response->sched_version_patch = NVS_DOMAIN_SCHED_VERSION_PATCH; response->client_version_status = NVS_DOMAIN_MSG_CTRL_GET_CAPS_RESP_CLIENT_VERSION_STATUS_OK; } else { result = 1; @@ -694,6 +689,10 @@ static int nvgpu_nvs_ctrl_fifo_scheduler_process_caps_request(struct gk20a *g, NVS_DOMAIN_MSG_CTRL_GET_CAPS_RESP_CLIENT_VERSION_STATUS_FAILED; } + response->sched_version_major = NVS_DOMAIN_SCHED_VERSION_MAJOR; + response->sched_version_minor = NVS_DOMAIN_SCHED_VERSION_MINOR; + response->sched_version_patch = NVS_DOMAIN_SCHED_VERSION_PATCH; + return result; } diff --git a/userspace/units/nvs/nvgpu-nvs.c b/userspace/units/nvs/nvgpu-nvs.c index f3ad2cfba..47bbef143 100644 --- a/userspace/units/nvs/nvgpu-nvs.c +++ b/userspace/units/nvs/nvgpu-nvs.c @@ -189,7 +189,7 @@ static int test_nvs_worker(struct unit_module *m, client_request_caps->client_version_minor = NVS_DOMAIN_SCHED_VERSION_MINOR; client_request_caps->client_version_patch = NVS_DOMAIN_SCHED_VERSION_PATCH; if (error_case) { - client_request_caps->client_version_patch = 127U; + client_request_caps->client_version_major = 127U; } } else if (message_type == 1) { fifo_msg_type = NVS_DOMAIN_MSG_TYPE_CTRL_SWITCH_DOMAIN;