diff --git a/drivers/gpu/nvgpu/include/nvgpu/gops/class.h b/drivers/gpu/nvgpu/include/nvgpu/gops/class.h index 4b4e454bc..31117a440 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gops/class.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gops/class.h @@ -44,20 +44,14 @@ struct gops_class { * * List of valid class numbers: *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * 1. Graphics classes: (Fix: Lot of qnx safety tests are still using - * graphics 3d class. Until these tests get fixed, - * allowing 3d graphics class as valid class for - * safety build.) - * a. VOLTA_A --> 0xC397U - * 2. Compute classes: + * 1. Compute class: * a. VOLTA_COMPUTE_A --> 0xC3C0U - * 3. DMA copy - * a. KEPLER_DMA_COPY_A --> 0xA0B5U - * b. MAXWELL_DMA_COPY_A --> 0xB0B5U - * c. PASCAL_DMA_COPY_A --> 0xC0B5U - * d. VOLTA_DMA_COPY_A --> 0xC3B5U - * 4. Inline to memory - * a. KEPLER_INLINE_TO_MEMORY_B --> 0xA140U + * 2. DMA copy class: + * a. VOLTA_DMA_COPY_A --> 0xC3B5U + * 3. Channel Gpfifo class: + * a. VOLTA_CHANNEL_GPFIFO_A --> 0xC36FU + * 4. Graphics class: + * a. VOLTA_A --> 0xC397U *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * @param class_num [in] Class number to be checked. diff --git a/userspace/units/class/nvgpu-class.c b/userspace/units/class/nvgpu-class.c index 18f314c9b..f8b08ec97 100644 --- a/userspace/units/class/nvgpu-class.c +++ b/userspace/units/class/nvgpu-class.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -51,15 +51,19 @@ u32 invalid_compute_classes[] = { 0x902DU, /* FERMI_TWOD_A */ 0x1234U, /* random value */ 0x76543210U, /* random value */ - 0x0000U, /* random value */ - 0xC000U, /* random value */ + 0x0000U, /* BVEC test value */ + 0xB000U, /* BVEC test value */ + 0xC3BFU, /* BVEC test value */ + 0xC3C1U, /* BVEC test value */ + 0xD000U, /* BVEC test value */ + 0xFFFFFFFFU, /* BVEC test value */ }; u32 valid_classes[] = { - 0xC3C0U, /* VOLTA_COMPUTE_A */ - 0xC3B5U, /* VOLTA_DMA_COPY_A */ 0xC36FU, /* VOLTA_CHANNEL_GPFIFO_A */ 0xC397U, /* VOLTA_A */ + 0xC3B5U, /* VOLTA_DMA_COPY_A */ + 0xC3C0U, /* VOLTA_COMPUTE_A */ }; u32 invalid_classes[] = { @@ -76,8 +80,18 @@ u32 invalid_classes[] = { 0xA140U, /* KEPLER_INLINE_TO_MEMORY_B */ 0xA0B5U, /* KEPLER_DMA_COPY_A */ 0x76543210U, /* random value */ - 0x0000U, /* random value */ - 0xC000U, /* random value */ + 0x0000U, /* BVEC test value */ + 0xB000U, /* BVEC test value */ + 0xC36EU, /* BVEC test value */ + 0xC370U, /* BVEC test value */ + 0xC396U, /* BVEC test value */ + 0xC398U, /* BVEC test value */ + 0xC3B4U, /* BVEC test value */ + 0xC3B6U, /* BVEC test value */ + 0xC3BFU, /* BVEC test value */ + 0xC3C1U, /* BVEC test value */ + 0xD000U, /* BVEC test value */ + 0xFFFFFFFFU, /* BVEC test value */ }; int class_validate_setup(struct unit_module *m, struct gk20a *g, void *args) diff --git a/userspace/units/class/nvgpu-class.h b/userspace/units/class/nvgpu-class.h index 9a101fad7..51c82d606 100644 --- a/userspace/units/class/nvgpu-class.h +++ b/userspace/units/class/nvgpu-class.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -37,7 +37,7 @@ struct unit_module; * * Description: Validate common.class unit API. * - * Test Type: Feature + * Test Type: Feature, Boundary Values * * Targets: gops_class.is_valid_compute, gv11b_class_is_valid_compute, * gops_class.is_valid, gv11b_class_is_valid