mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 02:52:51 +03:00
gpu: nvgpu: NVENC support on TU104
This patch adds nvenc support for TU104 - Fetch engine/dev info for nvenc - Falcon NS boot (fw loading) support - Engine context creation for nvenc - Skip golden image for multimedia engines - Avoid subctx for nvenc as it is a non-VEID engine - Job submission/flow changes for nvenc - Code refactoring to scale up the support for other multimedia engines in future. Bug 3763551 Change-Id: I03d4e731ebcef456bcc5ce157f3aa39883270dc0 Signed-off-by: Santosh BS <santoshb@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2859416 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com> Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
faf6ff3f34
commit
2a865e3aad
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2019 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2019-2023 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"),
|
||||
@@ -36,6 +36,7 @@ bool tu104_class_is_valid(u32 class_num)
|
||||
case TURING_CHANNEL_GPFIFO_A:
|
||||
case TURING_COMPUTE_A:
|
||||
case TURING_DMA_COPY_A:
|
||||
case TURING_NVENC_A:
|
||||
#ifdef CONFIG_NVGPU_GRAPHICS
|
||||
case TURING_A:
|
||||
#endif
|
||||
@@ -83,3 +84,19 @@ bool tu104_class_is_valid_compute(u32 class_num)
|
||||
}
|
||||
return valid;
|
||||
}
|
||||
|
||||
bool tu104_class_is_valid_nvenc(u32 class_num)
|
||||
{
|
||||
nvgpu_speculation_barrier();
|
||||
|
||||
if (class_num == TURING_NVENC_A) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool tu104_class_is_valid_multimedia(u32 class_num)
|
||||
{
|
||||
return tu104_class_is_valid_nvenc(class_num);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user