13a83e4e6SRoman Li /* 23a83e4e6SRoman Li * Copyright 2020 Advanced Micro Devices, Inc. 33a83e4e6SRoman Li * 43a83e4e6SRoman Li * Permission is hereby granted, free of charge, to any person obtaining a 53a83e4e6SRoman Li * copy of this software and associated documentation files (the "Software"), 63a83e4e6SRoman Li * to deal in the Software without restriction, including without limitation 73a83e4e6SRoman Li * the rights to use, copy, modify, merge, publish, distribute, sublicense, 83a83e4e6SRoman Li * and/or sell copies of the Software, and to permit persons to whom the 93a83e4e6SRoman Li * Software is furnished to do so, subject to the following conditions: 103a83e4e6SRoman Li * 113a83e4e6SRoman Li * The above copyright notice and this permission notice shall be included in 123a83e4e6SRoman Li * all copies or substantial portions of the Software. 133a83e4e6SRoman Li * 143a83e4e6SRoman Li * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 153a83e4e6SRoman Li * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 163a83e4e6SRoman Li * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 173a83e4e6SRoman Li * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 183a83e4e6SRoman Li * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 193a83e4e6SRoman Li * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 203a83e4e6SRoman Li * OTHER DEALINGS IN THE SOFTWARE. 213a83e4e6SRoman Li * 223a83e4e6SRoman Li * Authors: AMD 233a83e4e6SRoman Li * 243a83e4e6SRoman Li */ 253a83e4e6SRoman Li 263a83e4e6SRoman Li #ifndef __VG_CLK_MGR_H__ 273a83e4e6SRoman Li #define __VG_CLK_MGR_H__ 28*62eab49fSDmytro Laktyushkin #include "clk_mgr_internal.h" 293a83e4e6SRoman Li 30*62eab49fSDmytro Laktyushkin struct watermarks; 313a83e4e6SRoman Li 32*62eab49fSDmytro Laktyushkin struct smu_watermark_set { 33*62eab49fSDmytro Laktyushkin struct watermarks *wm_set; 34*62eab49fSDmytro Laktyushkin union large_integer mc_address; 35*62eab49fSDmytro Laktyushkin }; 36*62eab49fSDmytro Laktyushkin 37*62eab49fSDmytro Laktyushkin struct clk_mgr_vgh { 38*62eab49fSDmytro Laktyushkin struct clk_mgr_internal base; 39*62eab49fSDmytro Laktyushkin struct smu_watermark_set smu_wm_set; 40*62eab49fSDmytro Laktyushkin }; 413a83e4e6SRoman Li 423a83e4e6SRoman Li void vg_clk_mgr_construct(struct dc_context *ctx, 43*62eab49fSDmytro Laktyushkin struct clk_mgr_vgh *clk_mgr, 443a83e4e6SRoman Li struct pp_smu_funcs *pp_smu, 453a83e4e6SRoman Li struct dccg *dccg); 463a83e4e6SRoman Li 473a83e4e6SRoman Li void vg_clk_mgr_destroy(struct clk_mgr_internal *clk_mgr); 483a83e4e6SRoman Li 493a83e4e6SRoman Li #endif //__VG_CLK_MGR_H__ 50