diff options
author | Alex Frid <afrid@nvidia.com> | 2015-04-14 22:45:40 -0400 |
---|---|---|
committer | Ishan Mittal <imittal@nvidia.com> | 2015-05-18 01:49:49 -0400 |
commit | d1342b8aa2fc384b2672ffcf9d34249b6ff7868c (patch) | |
tree | 39e4e688d00228bb0bd3464a099c7f89d936c2d0 /drivers/gpu/nvgpu/gk20a/clk_gk20a.h | |
parent | 1767c779514c9bb10321e39dc8af47cab760bc2b (diff) |
gpu: nvgpu: Combine delays with GM20B parameters
Added delays definitions to GPCPLL parameters structure:
- locking timeout delay (applied to locking in fixed frequency mode and
to PLL dynamic ramp in any mode)
- lock delay for GPCPLL NA mode
- IDDQ exit delay in any mode
Specified delay parameters for GM20B PLL, and used this data instead of
hard-coded numbers.
Change-Id: I63ce0abc9ee900c36ec34b8641513db3cbb6f7d5
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/732094
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/clk_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/clk_gk20a.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/clk_gk20a.h b/drivers/gpu/nvgpu/gk20a/clk_gk20a.h index c766fc46..9f5ea39e 100644 --- a/drivers/gpu/nvgpu/gk20a/clk_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/clk_gk20a.h | |||
@@ -25,8 +25,8 @@ enum { | |||
25 | }; | 25 | }; |
26 | 26 | ||
27 | enum gpc_pll_mode { | 27 | enum gpc_pll_mode { |
28 | GPC_PLL_MODE_F = 0, | 28 | GPC_PLL_MODE_F = 0, /* fixed frequency mode a.k.a legacy mode */ |
29 | GPC_PLL_MODE_DVFS, | 29 | GPC_PLL_MODE_DVFS, /* DVFS mode a.k.a NA mode */ |
30 | }; | 30 | }; |
31 | 31 | ||
32 | struct na_dvfs { | 32 | struct na_dvfs { |
@@ -62,6 +62,16 @@ struct pll_parms { | |||
62 | int coeff_slope, coeff_offs; /* coeff = slope * V + offs */ | 62 | int coeff_slope, coeff_offs; /* coeff = slope * V + offs */ |
63 | int uvdet_slope, uvdet_offs; /* uV = slope * det + offs */ | 63 | int uvdet_slope, uvdet_offs; /* uV = slope * det + offs */ |
64 | u32 vco_ctrl; | 64 | u32 vco_ctrl; |
65 | /* | ||
66 | * Timing parameters in us. Lock timeout is applied to locking in fixed | ||
67 | * frequency mode and to dynamic ramp in any mode; does not affect lock | ||
68 | * latency, since lock/ramp done status bit is polled. NA mode lock and | ||
69 | * and IDDQ exit delays set the time of the respective opertaions with | ||
70 | * no status polling. | ||
71 | */ | ||
72 | u32 lock_timeout; | ||
73 | u32 na_lock_delay; | ||
74 | u32 iddq_exit_delay; | ||
65 | }; | 75 | }; |
66 | 76 | ||
67 | struct clk_gk20a { | 77 | struct clk_gk20a { |
@@ -70,7 +80,6 @@ struct clk_gk20a { | |||
70 | struct pll gpc_pll; | 80 | struct pll gpc_pll; |
71 | struct pll gpc_pll_last; | 81 | struct pll gpc_pll_last; |
72 | u32 pll_delay; /* default PLL settle time */ | 82 | u32 pll_delay; /* default PLL settle time */ |
73 | u32 na_pll_delay; /* default PLL settle time in NA mode */ | ||
74 | struct mutex clk_mutex; | 83 | struct mutex clk_mutex; |
75 | bool sw_ready; | 84 | bool sw_ready; |
76 | bool clk_hw_on; | 85 | bool clk_hw_on; |