diff options
author | Thomas Fleury <tfleury@nvidia.com> | 2018-08-31 00:18:35 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-20 13:51:12 -0400 |
commit | 48ca15d8390182afb23bdcc8766d85c994d7f09d (patch) | |
tree | 229f331482a2beca9c38be68dbe00c6820f1464a | |
parent | ab7280a2c13363146d92eba232715e15264d76f3 (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>
-rw-r--r-- | drivers/gpu/nvgpu/clk/clk_vin.c | 3 |
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 | ||