diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-04-14 15:06:39 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-04-19 15:16:02 -0400 |
commit | a9c66768db400a82575a82ecddec71f1d3fd4aba (patch) | |
tree | 3b83db70149515fc21c9d700f68bbcf0fb4e58b4 /drivers/gpu/nvgpu/include/nvgpu/acr | |
parent | 7eb59ff8d334e9980e21bac50b4680855bd8237f (diff) |
gpu: nvgpu: Add abstraction for firmware loading
Add nvgpu_firmware data structure, and return it instead of Linux
struct firmare from nvgpu_request_firmware. Also add abstraction
for releasing firmware: nvgpu_release_firmware.
JIRA NVGPU-16
Change-Id: I6dae8262957c0d4506f710289e3a43a6c1729fc7
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1463538
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/acr')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h b/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h index 6991a0ba..3844362d 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h +++ b/drivers/gpu/nvgpu/include/nvgpu/acr/nvgpu_acr.h | |||
@@ -21,6 +21,8 @@ | |||
21 | #include "acr_objlsfm.h" | 21 | #include "acr_objlsfm.h" |
22 | #include "acr_objflcn.h" | 22 | #include "acr_objflcn.h" |
23 | 23 | ||
24 | struct nvgpu_firmware; | ||
25 | |||
24 | #define MAX_SUPPORTED_LSFM 3 /*PMU, FECS, GPCCS*/ | 26 | #define MAX_SUPPORTED_LSFM 3 /*PMU, FECS, GPCCS*/ |
25 | 27 | ||
26 | #define ACR_COMPLETION_TIMEOUT_MS 10000 /*in msec */ | 28 | #define ACR_COMPLETION_TIMEOUT_MS 10000 /*in msec */ |
@@ -74,20 +76,20 @@ struct acr_desc { | |||
74 | struct bin_hdr *hsbin_hdr; | 76 | struct bin_hdr *hsbin_hdr; |
75 | struct acr_fw_header *fw_hdr; | 77 | struct acr_fw_header *fw_hdr; |
76 | u32 pmu_args; | 78 | u32 pmu_args; |
77 | const struct firmware *acr_fw; | 79 | struct nvgpu_firmware *acr_fw; |
78 | union{ | 80 | union{ |
79 | struct flcn_acr_desc *acr_dmem_desc; | 81 | struct flcn_acr_desc *acr_dmem_desc; |
80 | struct flcn_acr_desc_v1 *acr_dmem_desc_v1; | 82 | struct flcn_acr_desc_v1 *acr_dmem_desc_v1; |
81 | }; | 83 | }; |
82 | struct nvgpu_mem acr_ucode; | 84 | struct nvgpu_mem acr_ucode; |
83 | const struct firmware *hsbl_fw; | 85 | struct nvgpu_firmware *hsbl_fw; |
84 | struct nvgpu_mem hsbl_ucode; | 86 | struct nvgpu_mem hsbl_ucode; |
85 | union { | 87 | union { |
86 | struct flcn_bl_dmem_desc bl_dmem_desc; | 88 | struct flcn_bl_dmem_desc bl_dmem_desc; |
87 | struct flcn_bl_dmem_desc_v1 bl_dmem_desc_v1; | 89 | struct flcn_bl_dmem_desc_v1 bl_dmem_desc_v1; |
88 | }; | 90 | }; |
89 | const struct firmware *pmu_fw; | 91 | struct nvgpu_firmware *pmu_fw; |
90 | const struct firmware *pmu_desc; | 92 | struct nvgpu_firmware *pmu_desc; |
91 | u32 capabilities; | 93 | u32 capabilities; |
92 | }; | 94 | }; |
93 | 95 | ||