diff options
author | Kevin Huang <kevinh@nvidia.com> | 2012-06-15 11:09:12 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-27 17:35:39 -0700 |
commit | 2706d59f63e2897959362f2f1a1be840801ada90 (patch) | |
tree | 78e7d25fad734098ccd5f22421cd77bdf61843df /arch/arm/mach-tegra/include | |
parent | ef6acc75bcf5715d126188a711a70b338d98c028 (diff) |
video: tegra: dc: Deactivate DSI runtime when DC is idle.
We support 3 different aggressiveness levels of disabling DSI runtime.
The larger the aggressive level is, the higher DSI power we can save.
Bug 936337
Change-Id: Idadcb49b364e29ddd0a05dde1c6d3dfda6cd493e
Signed-off-by: Kevin Huang <kevinh@nvidia.com>
Reviewed-on: http://git-master/r/106361
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/dc.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/include/mach/dc.h b/arch/arm/mach-tegra/include/mach/dc.h index 6aa30ca03083..e493b76fdd64 100644 --- a/arch/arm/mach-tegra/include/mach/dc.h +++ b/arch/arm/mach-tegra/include/mach/dc.h @@ -128,6 +128,13 @@ struct dsi_phy_timing_ns { u16 t_tago_ns; }; +/* Aggressiveness level of DSI suspend. The higher, the more aggressive. */ +#define DSI_NO_SUSPEND 0 +#define DSI_HOST_SUSPEND_LV0 1 +#define DSI_HOST_SUSPEND_LV1 2 +#define DSI_HOST_SUSPEND_LV2 3 +#define DSI_SUSPEND_FULL 4 + struct tegra_dsi_out { u8 n_data_lanes; /* required */ u8 pixel_format; /* required */ @@ -157,6 +164,8 @@ struct tegra_dsi_out { u8 video_clock_mode; u8 video_burst_mode; + u8 suspend_aggr; + u16 panel_buffer_size_byte; u16 panel_reset_timeout_msec; @@ -559,7 +568,7 @@ int tegra_dsi_send_panel_short_cmd(struct tegra_dc *dc, u8 *pdata, u8 data_len); void tegra_dc_host_suspend(struct tegra_dc *dc); void tegra_dc_host_resume(struct tegra_dc *dc); int tegra_dsi_host_suspend(struct tegra_dc *dc); -void tegra_dsi_host_resume(struct tegra_dc *dc); +int tegra_dsi_host_resume(struct tegra_dc *dc); int tegra_dc_update_csc(struct tegra_dc *dc, int win_index); |