diff options
author | Mark Zhang <markz@nvidia.com> | 2012-07-02 13:05:25 +0800 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2012-07-09 16:38:31 -0700 |
commit | d44a970b966cecd637a2b4286795a07ab53fb473 (patch) | |
tree | dc5d79563ad5008a2e9a49759e67238d2057ddb0 /drivers | |
parent | 770115f9d16d0d989813dffab507d79e9826e853 (diff) |
video: tegra: dc: vblank worker
Freeze vblank worker while suspending by adding the work into
system freezewq. This eliminates a kernel panic caused by nvsd
reading brightness valuesfrom display while clock gated.
Bug 1006180
Bug 1003969
Bug 1003730
Change-Id: Ice9bfb18e5c826ae063c2b901421b1047ff9d2f0
Signed-off-by: Mark Zhang <markz@nvidia.com>
Reviewed-on: http://git-master/r/112880
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index 583ea4e64a66..e0c4027656f9 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -983,7 +983,7 @@ static void tegra_dc_one_shot_irq(struct tegra_dc *dc, unsigned long status) tegra_dc_trigger_windows(dc); /* Schedule any additional bottom-half vblank actvities. */ - schedule_work(&dc->vblank_work); + queue_work(system_freezable_wq, &dc->vblank_work); } if (status & FRAME_END_INT) { @@ -997,7 +997,7 @@ static void tegra_dc_continuous_irq(struct tegra_dc *dc, unsigned long status) { /* Schedule any additional bottom-half vblank actvities. */ if (status & V_BLANK_INT) - schedule_work(&dc->vblank_work); + queue_work(system_freezable_wq, &dc->vblank_work); if (status & FRAME_END_INT) { /* Mark the frame_end as complete. */ |