diff options
author | Rakesh Iyer <riyer@nvidia.com> | 2012-07-19 12:44:08 -0700 |
---|---|---|
committer | Lokesh Pathak <lpathak@nvidia.com> | 2012-07-25 03:32:19 -0700 |
commit | bf132a4184143d5780ca747d024768e021b590d5 (patch) | |
tree | a5d4283ba1507390969ba11054ec9860b12ece1c /drivers/video/tegra/dc/dc_priv.h | |
parent | 786ba00860c7dc3143c62bcbe5d371203238cd1d (diff) |
video: tegra: dc: synchronize dsi clock-gating
The one shot thread will clock gate the modules periodically. This will ensure
relevant paths in dc driver have an active dc clock and dsi host.
Bug 1013172
Change-Id: Ibb505e35044f31405c06cb9fa0d6fdf78aafd4a6
Signed-off-by: Rakesh Iyer <riyer@nvidia.com>
Reviewed-on: http://git-master/r/117137
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Animesh Kishore <ankishore@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/dc_priv.h')
-rw-r--r-- | drivers/video/tegra/dc/dc_priv.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc_priv.h b/drivers/video/tegra/dc/dc_priv.h index fb1243593587..332c80f9cbb6 100644 --- a/drivers/video/tegra/dc/dc_priv.h +++ b/drivers/video/tegra/dc/dc_priv.h @@ -75,6 +75,12 @@ struct tegra_dc_out_ops { void (*enable)(struct tegra_dc *dc); /* disable output. dc clocks are on at this point */ void (*disable)(struct tegra_dc *dc); + /* hold output. keeps dc clocks on. */ + void (*hold)(struct tegra_dc *dc); + /* release output. dc clocks may turn off after this. */ + void (*release)(struct tegra_dc *dc); + /* idle routine of output. dc clocks may turn off after this. */ + void (*idle)(struct tegra_dc *dc); /* suspend output. dc clocks are on at this point */ void (*suspend)(struct tegra_dc *dc); /* resume output. dc clocks are on at this point */ @@ -369,6 +375,14 @@ void tegra_dc_set_out_pin_polars(struct tegra_dc *dc, /* defined in dc.c, used in bandwidth.c */ unsigned int tegra_dc_has_multiple_dc(void); +/* defined in dc.c, used in dsi.c */ +void tegra_dc_clk_enable(struct tegra_dc *dc); +void tegra_dc_clk_disable(struct tegra_dc *dc); + +/* defined in dc.c, used in nvsd.c and dsi.c */ +void tegra_dc_hold_dc_out(struct tegra_dc *dc); +void tegra_dc_release_dc_out(struct tegra_dc *dc); + /* defined in bandwidth.c, used in dc.c */ void tegra_dc_clear_bandwidth(struct tegra_dc *dc); void tegra_dc_program_bandwidth(struct tegra_dc *dc, bool use_new); |