summaryrefslogtreecommitdiff
path: root/sdm/libs/core/fb/hw_device.cpp
diff options
context:
space:
mode:
authorXu Yang <yangxu@codeaurora.org>2016-09-29 16:32:04 +0800
committerRajesh Yadav <ryadav@codeaurora.org>2017-03-09 19:18:08 +0530
commitc31d7f8d94d0caf226b0ee246400b435a4fa7cec (patch)
tree80b923c72b5b77a2c221253e2732c79b2b901144 /sdm/libs/core/fb/hw_device.cpp
parent14ee4b688bdb572f6b7ccc4d8e0fce861a0f6e39 (diff)
downloaddisplay-c31d7f8d94d0caf226b0ee246400b435a4fa7cec.tar.gz
sdm: add one action to set panel brightness and refresh screen
Add one action to set panel brightness and refresh screen. The backlight level is cached and sent through display commit IOCTL to driver, which would take effect along with display commit. Change-Id: I87483e82b5c13ef25c1da956ac9403162afd031e
Diffstat (limited to 'sdm/libs/core/fb/hw_device.cpp')
-rw-r--r--sdm/libs/core/fb/hw_device.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/sdm/libs/core/fb/hw_device.cpp b/sdm/libs/core/fb/hw_device.cpp
index 999265eb..6309c09a 100644
--- a/sdm/libs/core/fb/hw_device.cpp
+++ b/sdm/libs/core/fb/hw_device.cpp
@@ -485,6 +485,10 @@ DisplayError HWDevice::Commit(HWLayers *hw_layers) {
if (synchronous_commit_) {
mdp_commit.flags |= MDP_COMMIT_WAIT_FOR_FINISH;
}
+ if (bl_update_commit && bl_level_update_commit >= 0) {
+ mdp_commit.bl_level = (uint32_t)bl_level_update_commit;
+ mdp_commit.flags |= MDP_COMMIT_UPDATE_BRIGHTNESS;
+ }
if (Sys::ioctl_(device_fd_, INT(MSMFB_ATOMIC_COMMIT), &mdp_disp_commit_) < 0) {
if (errno == ESHUTDOWN) {
DLOGI_IF(kTagDriverConfig, "Driver is processing shutdown sequence");
@@ -539,6 +543,9 @@ DisplayError HWDevice::Commit(HWLayers *hw_layers) {
synchronous_commit_ = false;
}
+ if (bl_update_commit)
+ bl_update_commit = false;
+
return kErrorNone;
}
@@ -1180,6 +1187,10 @@ DisplayError HWDevice::SetPanelBrightness(int level) {
return kErrorNotSupported;
}
+DisplayError HWDevice::CachePanelBrightness(int level) {
+ return kErrorNotSupported;
+}
+
DisplayError HWDevice::GetHWScanInfo(HWScanInfo *scan_info) {
return kErrorNotSupported;
}