From 244e29b1b527dce5497a96ca65c08f7ef22cfc65 Mon Sep 17 00:00:00 2001 From: Vaikundanathan S Date: Thu, 29 Mar 2018 15:36:44 +0530 Subject: gpu: nvgpu: Port vf_point as per Chips_a - Update PMU interface for vf_point Change-Id: I1c457026938025266a9325a93985d81fae3b9fa5 Signed-off-by: Vaikundanathan S Reviewed-on: https://git-master.nvidia.com/r/1684286 Reviewed-by: svc-mobile-coverity Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/clk/clk_vf_point.c | 6 ++++-- drivers/gpu/nvgpu/clk/clk_vf_point.h | 4 ++-- drivers/gpu/nvgpu/ctrl/ctrlclk.h | 4 ++-- drivers/gpu/nvgpu/include/nvgpu/pmuif/gpmuifclk.h | 4 +++- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/nvgpu/clk/clk_vf_point.c b/drivers/gpu/nvgpu/clk/clk_vf_point.c index 0189bd8c..8333b2b0 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 9a4eec10..b67434b7 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 6e56235b..3a383c17 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 616aca5c..63bce913 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 { -- cgit v1.2.2