mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: PS35: Clk Prog Boardobj changes
1. Add VBIOS PS3.5 Clk programming table parsing code. 2. Update pmuifclk.h to match R400 pmu ucode pmuifclk.h 3. New clk_prog boardobj types have been added to support PS3.5 and to match the pmu ucode side changes 4. Add PS3.5 related construct and pmudatainit fops 5. PS3.5 clk programming table has secondary VF curve entries. Though these entries are currently marked as invalid for all SKUs, we need to add them to match struct sizes on PMU. 6. The pmuifclk.h nvgpu<->pmu interface changes needed for Turing(PS3.5) are NOT compatible with GV100 branched ucode. The secondary VF curve entries added for PS3.5 increase the entrysize breaking compatibility with GV100. 7. This change is therefore dependant on GV100 PMU ucode changes which increase the entrysize on GV100 pmu side. JIRA NVGPU-1153 Change-Id: I868e503f87731442aae6503872ade4c208831d34 Signed-off-by: tkudav <tkudav@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1842627 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
69b46a6174
commit
f4bd7552b3
@@ -60,10 +60,15 @@
|
||||
#define CTRL_CLK_CLK_DOMAIN_3X_PROG_ORDERING_INDEX_INVALID 0xFFU
|
||||
#define CTRL_CLK_CLK_DOMAIN_INDEX_INVALID 0xFF
|
||||
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_3X 0x00U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_1X 0x01U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER 0x02U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER_RATIO 0x03U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_1X_MASTER_TABLE 0x04U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_35 0x05U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_35_MASTER 0x06U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_35_MASTER_RATIO 0x07U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_35_MASTER_TABLE 0x08U
|
||||
#define CTRL_CLK_CLK_PROG_TYPE_UNKNOWN 255U
|
||||
|
||||
/*!
|
||||
@@ -75,6 +80,7 @@
|
||||
#define CTRL_CLK_PROG_1X_SOURCE_INVALID 255U
|
||||
|
||||
#define CTRL_CLK_CLK_PROG_1X_MASTER_VF_ENTRY_MAX_ENTRIES 4U
|
||||
#define CTRL_CLK_CLK_PROG_35_MASTER_SEC_VF_ENTRY_VOLTRAIL_MAX 1U
|
||||
#define CTRL_CLK_PROG_1X_MASTER_MAX_SLAVE_ENTRIES 6U
|
||||
|
||||
#define CTRL_CLK_CLK_VF_POINT_IDX_INVALID 255U
|
||||
@@ -110,6 +116,18 @@ struct ctrl_clk_clk_prog_1x_master_vf_entry {
|
||||
u8 vf_point_idx_last;
|
||||
};
|
||||
|
||||
struct ctrl_clk_clk_prog_35_master_sec_vf_entry {
|
||||
u8 vfe_idx;
|
||||
u8 dvco_offset_vfe_idx;
|
||||
u8 vf_point_idx_first;
|
||||
u8 vf_point_idx_last;
|
||||
};
|
||||
|
||||
struct ctrl_clk_clk_prog_35_master_sec_vf_entry_voltrail {
|
||||
struct ctrl_clk_clk_prog_35_master_sec_vf_entry sec_vf_entries[
|
||||
CTRL_CLK_CLK_PROG_35_MASTER_SEC_VF_ENTRY_VOLTRAIL_MAX];
|
||||
};
|
||||
|
||||
struct ctrl_clk_clk_prog_1x_master_ratio_slave_entry {
|
||||
u8 clk_dom_idx;
|
||||
u8 ratio;
|
||||
|
||||
Reference in New Issue
Block a user