summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/clk
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2018-08-31 00:18:35 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-20 13:51:12 -0400
commit48ca15d8390182afb23bdcc8766d85c994d7f09d (patch)
tree229f331482a2beca9c38be68dbe00c6820f1464a /drivers/gpu/nvgpu/clk
parentab7280a2c13363146d92eba232715e15264d76f3 (diff)
gpu: nvgpu: set calibration type for VIN devices
Calibration type was not initialized for VIN devices 2.0 This was leading to using the older calibration method. Fix calibration type when parsing VBIOS. Bug 2331655 Change-Id: I935f2a1812b8934dd8d3cd7e7d9c335a979a154e Reviewed-on: https://git-master.nvidia.com/r/1810379 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-by: David Jarrett <djarrett@nvidia.com> Signed-off-by: Vaikundanathan S <vaikuns@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1817579 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/clk')
-rw-r--r--drivers/gpu/nvgpu/clk/clk_vin.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/clk/clk_vin.c b/drivers/gpu/nvgpu/clk/clk_vin.c
index 2ff7de19..59a74d6b 100644
--- a/drivers/gpu/nvgpu/clk/clk_vin.c
+++ b/drivers/gpu/nvgpu/clk/clk_vin.c
@@ -354,6 +354,7 @@ static int devinit_get_vin_device_table(struct gk20a *g,
354 vin_device_data.vin_device_v10.data.vin_cal.intercept = intercept; 354 vin_device_data.vin_device_v10.data.vin_cal.intercept = intercept;
355 break; 355 break;
356 case CTRL_CLK_VIN_TYPE_V20: 356 case CTRL_CLK_VIN_TYPE_V20:
357 vin_device_data.vin_device_v20.data.cal_type = (u8) cal_type;
357 vin_device_data.vin_device_v20.data.vin_cal.cal_v20.offset = offset; 358 vin_device_data.vin_device_v20.data.vin_cal.cal_v20.offset = offset;
358 vin_device_data.vin_device_v20.data.vin_cal.cal_v20.gain = gain; 359 vin_device_data.vin_device_v20.data.vin_cal.cal_v20.gain = gain;
359 break; 360 break;
@@ -429,6 +430,7 @@ static int vin_device_construct_v20(struct gk20a *g,
429 pvin_device_v20->super.super.pmudatainit = 430 pvin_device_v20->super.super.pmudatainit =
430 vin_device_init_pmudata_v20; 431 vin_device_init_pmudata_v20;
431 432
433 pvin_device_v20->data.cal_type = ptmpvin_device_v20->data.cal_type;
432 pvin_device_v20->data.vin_cal.cal_v20.offset = ptmpvin_device_v20->data.vin_cal.cal_v20.offset; 434 pvin_device_v20->data.vin_cal.cal_v20.offset = ptmpvin_device_v20->data.vin_cal.cal_v20.offset;
433 pvin_device_v20->data.vin_cal.cal_v20.gain = ptmpvin_device_v20->data.vin_cal.cal_v20.gain; 435 pvin_device_v20->data.vin_cal.cal_v20.gain = ptmpvin_device_v20->data.vin_cal.cal_v20.gain;
434 436
@@ -537,6 +539,7 @@ static int vin_device_init_pmudata_v20(struct gk20a *g,
537 perf_pmu_data = (struct nv_pmu_clk_clk_vin_device_v20_boardobj_set *) 539 perf_pmu_data = (struct nv_pmu_clk_clk_vin_device_v20_boardobj_set *)
538 ppmudata; 540 ppmudata;
539 541
542 perf_pmu_data->data.cal_type = pvin_dev_v20->data.cal_type;
540 perf_pmu_data->data.vin_cal.cal_v20.offset = pvin_dev_v20->data.vin_cal.cal_v20.offset; 543 perf_pmu_data->data.vin_cal.cal_v20.offset = pvin_dev_v20->data.vin_cal.cal_v20.offset;
541 perf_pmu_data->data.vin_cal.cal_v20.gain = pvin_dev_v20->data.vin_cal.cal_v20.gain; 544 perf_pmu_data->data.vin_cal.cal_v20.gain = pvin_dev_v20->data.vin_cal.cal_v20.gain;
542 545