linux/drivers/gpu/drm/radeon/rs780_dpm.c

/*
 * Copyright 2011 Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Authors: Alex Deucher
 */

#include <linux/pci.h>
#include <linux/seq_file.h>

#include "atom.h"
#include "r600_dpm.h"
#include "radeon.h"
#include "radeon_asic.h"
#include "rs780_dpm.h"
#include "rs780d.h"

static struct igp_ps *rs780_get_ps(struct radeon_ps *rps)
{}

static struct igp_power_info *rs780_get_pi(struct radeon_device *rdev)
{}

static void rs780_get_pm_mode_parameters(struct radeon_device *rdev)
{}

static void rs780_voltage_scaling_enable(struct radeon_device *rdev, bool enable);

static int rs780_initialize_dpm_power_state(struct radeon_device *rdev,
					    struct radeon_ps *boot_ps)
{}

static int rs780_initialize_dpm_parameters(struct radeon_device *rdev,
					   struct radeon_ps *boot_ps)
{}

static void rs780_start_dpm(struct radeon_device *rdev)
{}


static void rs780_preset_ranges_slow_clk_fbdiv_en(struct radeon_device *rdev)
{}

static void rs780_preset_starting_fbdiv(struct radeon_device *rdev)
{}

static void rs780_voltage_scaling_init(struct radeon_device *rdev)
{}

static void rs780_clk_scaling_enable(struct radeon_device *rdev, bool enable)
{}

static void rs780_voltage_scaling_enable(struct radeon_device *rdev, bool enable)
{}

static void rs780_set_engine_clock_wfc(struct radeon_device *rdev)
{}

static void rs780_set_engine_clock_sc(struct radeon_device *rdev)
{}

static void rs780_set_engine_clock_tdc(struct radeon_device *rdev)
{}

static void rs780_set_engine_clock_ssc(struct radeon_device *rdev)
{}

static void rs780_program_at(struct radeon_device *rdev)
{}

static void rs780_disable_vbios_powersaving(struct radeon_device *rdev)
{}

static void rs780_force_voltage(struct radeon_device *rdev, u16 voltage)
{}

static void rs780_force_fbdiv(struct radeon_device *rdev, u32 fb_div)
{}

static int rs780_set_engine_clock_scaling(struct radeon_device *rdev,
					  struct radeon_ps *new_ps,
					  struct radeon_ps *old_ps)
{}

static void rs780_set_engine_clock_spc(struct radeon_device *rdev,
				       struct radeon_ps *new_ps,
				       struct radeon_ps *old_ps)
{}

static void rs780_activate_engine_clk_scaling(struct radeon_device *rdev,
					      struct radeon_ps *new_ps,
					      struct radeon_ps *old_ps)
{}

static u32 rs780_get_voltage_for_vddc_level(struct radeon_device *rdev,
					    enum rs780_vddc_level vddc)
{}

static void rs780_enable_voltage_scaling(struct radeon_device *rdev,
					 struct radeon_ps *new_ps)
{}

static void rs780_set_uvd_clock_before_set_eng_clock(struct radeon_device *rdev,
						     struct radeon_ps *new_ps,
						     struct radeon_ps *old_ps)
{}

static void rs780_set_uvd_clock_after_set_eng_clock(struct radeon_device *rdev,
						    struct radeon_ps *new_ps,
						    struct radeon_ps *old_ps)
{}

int rs780_dpm_enable(struct radeon_device *rdev)
{}

void rs780_dpm_disable(struct radeon_device *rdev)
{}

int rs780_dpm_set_power_state(struct radeon_device *rdev)
{}

void rs780_dpm_setup_asic(struct radeon_device *rdev)
{}

void rs780_dpm_display_configuration_changed(struct radeon_device *rdev)
{}

igp_info;

power_info;

pplib_clock_info;

pplib_power_state;

static void rs780_parse_pplib_non_clock_info(struct radeon_device *rdev,
					     struct radeon_ps *rps,
					     struct _ATOM_PPLIB_NONCLOCK_INFO *non_clock_info,
					     u8 table_rev)
{}

static void rs780_parse_pplib_clock_info(struct radeon_device *rdev,
					 struct radeon_ps *rps,
					 union pplib_clock_info *clock_info)
{}

static int rs780_parse_power_table(struct radeon_device *rdev)
{}

int rs780_dpm_init(struct radeon_device *rdev)
{}

void rs780_dpm_print_power_state(struct radeon_device *rdev,
				 struct radeon_ps *rps)
{}

void rs780_dpm_fini(struct radeon_device *rdev)
{}

u32 rs780_dpm_get_sclk(struct radeon_device *rdev, bool low)
{}

u32 rs780_dpm_get_mclk(struct radeon_device *rdev, bool low)
{}

void rs780_dpm_debugfs_print_current_performance_level(struct radeon_device *rdev,
						       struct seq_file *m)
{}

/* get the current sclk in 10 khz units */
u32 rs780_dpm_get_current_sclk(struct radeon_device *rdev)
{}

/* get the current mclk in 10 khz units */
u32 rs780_dpm_get_current_mclk(struct radeon_device *rdev)
{}

int rs780_dpm_force_performance_level(struct radeon_device *rdev,
				      enum radeon_dpm_forced_level level)
{}