summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorVaikundanathan S <vaikuns@nvidia.com>2018-04-03 05:41:58 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-05-04 09:09:47 -0400
commit65a362c01a1adc567fa176113dfeb1834777926d (patch)
tree74c85f3b2c2b0ec880bc6ecb5980caf9effde880 /drivers/gpu/nvgpu/include
parent010439ba08891ce97c53c239b5bb8c4a2f5b5f01 (diff)
gpu: nvgpu: Update clk_vin interface as per chips_a
clk_vin data structures updated as new calibration type (v20) is added. GP106 header does not have vin calibration type. Assuming V10 if calibration type is not V20. Add fuse calibration for V20 type. Bug 200399373 Change-Id: I9449de1ecb0d0873f3bc16f46660f93fab5b9eac Signed-off-by: Vaikundanathan S <vaikuns@nvidia.com> Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1687591 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/bios.h9
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h14
2 files changed, 21 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/bios.h b/drivers/gpu/nvgpu/include/nvgpu/bios.h
index eec057f2..0619fcb9 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/bios.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/bios.h
@@ -137,6 +137,9 @@ struct vin_descriptor_entry_10 {
137#define NV_VIN_DESC_FLAGS0_VIN_CAL_REVISION_MASK 0x7 137#define NV_VIN_DESC_FLAGS0_VIN_CAL_REVISION_MASK 0x7
138#define NV_VIN_DESC_FLAGS0_VIN_CAL_REVISION_SHIFT 0 138#define NV_VIN_DESC_FLAGS0_VIN_CAL_REVISION_SHIFT 0
139 139
140#define NV_VIN_DESC_FLAGS0_VIN_CAL_TYPE_MASK 0xF0
141#define NV_VIN_DESC_FLAGS0_VIN_CAL_TYPE_SHIFT 4
142
140#define NV_VIN_DESC_FLAGS0_DISABLE_CONTROL_MASK 0x8 143#define NV_VIN_DESC_FLAGS0_DISABLE_CONTROL_MASK 0x8
141#define NV_VIN_DESC_FLAGS0_DISABLE_CONTROL_SHIFT 3 144#define NV_VIN_DESC_FLAGS0_DISABLE_CONTROL_SHIFT 3
142 145
@@ -152,6 +155,12 @@ struct vin_descriptor_entry_10 {
152#define NV_VIN_DESC_VIN_CAL_INTERCEPT_INTEGER_MASK 0xFFC0000 155#define NV_VIN_DESC_VIN_CAL_INTERCEPT_INTEGER_MASK 0xFFC0000
153#define NV_VIN_DESC_VIN_CAL_INTERCEPT_INTEGER_SHIFT 18 156#define NV_VIN_DESC_VIN_CAL_INTERCEPT_INTEGER_SHIFT 18
154 157
158#define NV_VIN_DESC_VIN_CAL_OFFSET_MASK 0x7F
159#define NV_VIN_DESC_VIN_CAL_OFFSET_SHIFT 0
160
161#define NV_VIN_DESC_VIN_CAL_GAIN_MASK 0xF80
162#define NV_VIN_DESC_VIN_CAL_GAIN_SHIFT 7
163
155#define VBIOS_CLOCKS_TABLE_1X_HEADER_SIZE_07 0x07 164#define VBIOS_CLOCKS_TABLE_1X_HEADER_SIZE_07 0x07
156struct vbios_clocks_table_1x_header { 165struct vbios_clocks_table_1x_header {
157 u8 version; 166 u8 version;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
index 63bce913..e0a3313b 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h
@@ -251,14 +251,24 @@ struct nv_pmu_clk_clk_vin_device_boardobj_set {
251 struct nv_pmu_boardobj super; 251 struct nv_pmu_boardobj super;
252 u8 id; 252 u8 id;
253 u8 volt_domain; 253 u8 volt_domain;
254 u32 slope;
255 u32 intercept;
256 u32 flls_shared_mask; 254 u32 flls_shared_mask;
257}; 255};
258 256
257struct nv_pmu_clk_clk_vin_device_v10_boardobj_set {
258 struct nv_pmu_clk_clk_vin_device_boardobj_set super;
259 struct ctrl_clk_vin_device_info_data_v10 data;
260};
261
262struct nv_pmu_clk_clk_vin_device_v20_boardobj_set {
263 struct nv_pmu_clk_clk_vin_device_boardobj_set super;
264 struct ctrl_clk_vin_device_info_data_v20 data;
265};
266
259union nv_pmu_clk_clk_vin_device_boardobj_set_union { 267union nv_pmu_clk_clk_vin_device_boardobj_set_union {
260 struct nv_pmu_boardobj board_obj; 268 struct nv_pmu_boardobj board_obj;
261 struct nv_pmu_clk_clk_vin_device_boardobj_set super; 269 struct nv_pmu_clk_clk_vin_device_boardobj_set super;
270 struct nv_pmu_clk_clk_vin_device_v10_boardobj_set v10;
271 struct nv_pmu_clk_clk_vin_device_v20_boardobj_set v20;
262}; 272};
263 273
264NV_PMU_BOARDOBJ_GRP_SET_MAKE_E32(clk, clk_vin_device); 274NV_PMU_BOARDOBJ_GRP_SET_MAKE_E32(clk, clk_vin_device);