mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
- Added enable_mscg, mscg_enabled & mscg_stat flags, mscg_enabled flag can be used to controll mscg enable/disable at runtime along with mscg_stat flag. - Added defines & interface to support ms/mclk-change/post-init-param - Added defines for lpwr tables read from vbios. - HAL to support post init param which is require to setup clockgating interface in PMU & interfaces used during mscg state machine. - gk20a_pmu_pg_global_enable() can be called when pg support required to enable/disable, this also checks & wait if pstate switch is in progress till it complets - pg_mutex to protect PG-RPPG/MSCG enable/disable JIRA DNVGPU-71 Change-Id: If312cefc888a4de0a5c96898baeaac1a76e53e46 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1247554 (cherry picked from commit e6c94948b8058ba642ea56677ad798fc56b8a28a) Reviewed-on: http://git-master/r/1270971 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
74 lines
1.7 KiB
C
74 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms and conditions of the GNU General Public License,
|
|
* version 2, as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*/
|
|
|
|
#ifndef NVGPU_BIOS_GM206_H
|
|
#define NVGPU_BIOS_GM206_H
|
|
|
|
#define PERF_PTRS_WIDTH 0x4
|
|
#define PERF_PTRS_WIDTH_16 0x2
|
|
|
|
#define NV_PCFG 0x88000
|
|
|
|
enum {
|
|
CLOCKS_TABLE = 2,
|
|
CLOCK_PROGRAMMING_TABLE,
|
|
FLL_TABLE,
|
|
VIN_TABLE,
|
|
FREQUENCY_CONTROLLER_TABLE
|
|
};
|
|
|
|
enum {
|
|
PERFORMANCE_TABLE = 0,
|
|
MEMORY_CLOCK_TABLE,
|
|
MEMORY_TWEAK_TABLE,
|
|
POWER_CONTROL_TABLE,
|
|
THERMAL_CONTROL_TABLE,
|
|
THERMAL_DEVICE_TABLE,
|
|
THERMAL_COOLERS_TABLE,
|
|
PERFORMANCE_SETTINGS_SCRIPT,
|
|
CONTINUOUS_VIRTUAL_BINNING_TABLE,
|
|
POWER_SENSORS_TABLE = 0xA,
|
|
POWER_CAPPING_TABLE = 0xB,
|
|
POWER_TOPOLOGY_TABLE = 0xF,
|
|
THERMAL_CHANNEL_TABLE = 0x12,
|
|
VOLTAGE_RAIL_TABLE = 26,
|
|
VOLTAGE_DEVICE_TABLE,
|
|
VOLTAGE_POLICY_TABLE,
|
|
LOWPOWER_TABLE,
|
|
LOWPOWER_GR_TABLE = 32,
|
|
LOWPOWER_MS_TABLE = 33,
|
|
};
|
|
|
|
enum {
|
|
VP_FIELD_TABLE = 0,
|
|
VP_FIELD_REGISTER,
|
|
VP_TRANSLATION_TABLE,
|
|
};
|
|
|
|
struct bit_token {
|
|
u8 token_id;
|
|
u8 data_version;
|
|
u16 data_size;
|
|
u16 data_ptr;
|
|
} __packed;
|
|
|
|
struct gpu_ops;
|
|
|
|
void gm206_init_bios(struct gpu_ops *gops);
|
|
u8 gm206_bios_read_u8(struct gk20a *g, u32 offset);
|
|
s8 gm206_bios_read_s8(struct gk20a *g, u32 offset);
|
|
u16 gm206_bios_read_u16(struct gk20a *g, u32 offset);
|
|
u32 gm206_bios_read_u32(struct gk20a *g, u32 offset);
|
|
|
|
#endif
|