diff --git a/drivers/gpu/nvgpu/clk/clk_vf_point.c b/drivers/gpu/nvgpu/clk/clk_vf_point.c index 0189bd8ca..8333b2b05 100644 --- a/drivers/gpu/nvgpu/clk/clk_vf_point.c +++ b/drivers/gpu/nvgpu/clk/clk_vf_point.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2016-2018, 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"), @@ -200,7 +200,8 @@ static u32 _clk_vf_point_pmudatainit_volt(struct gk20a *g, ppmudata; pset->source_voltage_uv = pclk_vf_point_volt->source_voltage_uv; - pset->freq_delta_khz = pclk_vf_point_volt->freq_delta_khz; + pset->freq_delta.data = pclk_vf_point_volt->freq_delta.data; + pset->freq_delta.type = pclk_vf_point_volt->freq_delta.type; return status; } @@ -257,6 +258,7 @@ static u32 clk_vf_point_construct_volt(struct gk20a *g, _clk_vf_point_pmudatainit_volt; pclkvfpoint->source_voltage_uv = ptmpvfpoint->source_voltage_uv; + pclkvfpoint->freq_delta = ptmpvfpoint->freq_delta; return status; } diff --git a/drivers/gpu/nvgpu/clk/clk_vf_point.h b/drivers/gpu/nvgpu/clk/clk_vf_point.h index 9a4eec105..b67434b79 100644 --- a/drivers/gpu/nvgpu/clk/clk_vf_point.h +++ b/drivers/gpu/nvgpu/clk/clk_vf_point.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. +* Copyright (c) 2016-2018, 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"), @@ -46,7 +46,7 @@ struct clk_vf_point { struct clk_vf_point_volt { struct clk_vf_point super; u32 source_voltage_uv; - int freq_delta_khz; + struct ctrl_clk_freq_delta freq_delta; }; struct clk_vf_point_freq { diff --git a/drivers/gpu/nvgpu/ctrl/ctrlclk.h b/drivers/gpu/nvgpu/ctrl/ctrlclk.h index 6e56235b9..3a383c17f 100644 --- a/drivers/gpu/nvgpu/ctrl/ctrlclk.h +++ b/drivers/gpu/nvgpu/ctrl/ctrlclk.h @@ -75,8 +75,8 @@ #define CTRL_CLK_CLK_VF_POINT_IDX_INVALID 255 -#define CTRL_CLK_CLK_VF_POINT_TYPE_FREQ 0x00 -#define CTRL_CLK_CLK_VF_POINT_TYPE_VOLT 0x01 +#define CTRL_CLK_CLK_VF_POINT_TYPE_FREQ 0x01 +#define CTRL_CLK_CLK_VF_POINT_TYPE_VOLT 0x02 #define CTRL_CLK_CLK_VF_POINT_TYPE_UNKNOWN 255 struct ctrl_clk_clk_prog_1x_master_source_fll { diff --git a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h index 616aca5c8..63bce9133 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h +++ b/drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h @@ -282,7 +282,7 @@ struct nv_pmu_clk_clk_vf_point_freq_boardobj_set { struct nv_pmu_clk_clk_vf_point_volt_boardobj_set { struct nv_pmu_clk_clk_vf_point_boardobj_set super; u32 source_voltage_uv; - int freq_delta_khz; + struct ctrl_clk_freq_delta freq_delta; }; union nv_pmu_clk_clk_vf_point_boardobj_set_union { @@ -296,11 +296,13 @@ NV_PMU_BOARDOBJ_GRP_SET_MAKE_E255(clk, clk_vf_point); struct nv_pmu_clk_clk_vf_point_boardobjgrp_get_status_header { struct nv_pmu_boardobjgrp_e255 super; + u32 vf_points_cahce_counter; }; struct nv_pmu_clk_clk_vf_point_boardobj_get_status { struct nv_pmu_boardobj super; struct ctrl_clk_vf_pair pair; + u8 dummy[38]; }; struct nv_pmu_clk_clk_vf_point_volt_boardobj_get_status {