#include "display-signal.h"
#include "display-lock.h"
#include "display-backlight.h"
+#include "display-panel.h"
#include "shared/plugin.h"
#define DISPLAY_CONF_FILE "/etc/deviced/display.conf"
if (!(flags & LCD_PHASED_TRANSIT_MODE)) {
/* Update brightness level */
if (state == LCD_DIM)
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
else if (state == LCD_NORMAL)
backlight_ops->update();
}
backlight_ops->get_custom_status())
backlight_ops->save_custom_brightness();
/* lcd dim state : dim the brightness */
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
if ((get_pm_old_state() == S_LCDOFF) || (get_pm_old_state() == S_SLEEP))
lcd_on_procedure(LCD_DIM, NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->stop(NORMAL_MODE);
- backlight_ops->off(NORMAL_MODE);
- backlight_ops->on(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
+ display_panel_set_panel_state_by_on_state(NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->start(NORMAL_MODE);
}
if (flags & NORMAL_MODE) {
if (flags & LCD_PANEL_OFF_MODE)
/* standby on */
- backlight_ops->standby(true);
+ display_panel_set_panel_state_by_standby_state(true);
else
/* normal lcd on */
- backlight_ops->on(flags);
+ display_panel_set_panel_state_by_on_state(flags);
return 0;
}
{
/* NORMAL MODE */
if (flags & NORMAL_MODE || flags & FORCE_OFF_MODE) {
- backlight_ops->off(flags);
+ display_panel_set_panel_state_by_off_state(flags);
return 0;
}
#define TOUCH_ON 1
#define TOUCH_OFF 0
-#define LCD_PHASED_MIN_BRIGHTNESS 1
#define LCD_PHASED_MAX_BRIGHTNESS 100
-#define LCD_PHASED_CHANGE_STEP 5
#define LCD_PHASED_DELAY 10000 /* microsecond */
#define DUMP_MODE_WAITING_TIME 600000 /* milisecond */
}
}
-static int backlight_on(enum device_flags flags)
-{
- int ret = -1;
- static int cnt;
-
- _I("[DPMS XLIB Backlight] LCD on %#x cnt:%d", flags, cnt);
-
- cnt++;
- ret = display_panel_set_dpms_state(DPMS_ON, flags);
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_ON, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_off(enum device_flags flags)
-{
- int ret = -1;
- static int cnt, ambient_cnt;
- int default_brightness = 0;
-
- display_backlight_get_default_brightness(&default_brightness);
-
- if (flags & AMBIENT_MODE) {
- _I("[DPMS XLIB Backlight] LCD suspend %#x cnt:%d", flags, ambient_cnt);
- ambient_cnt++;
-
- return 0;
- }
-
- _I("[DPMS XLIB Backlight] LCD off %#x cnt:%d", flags, cnt);
- cnt++;
-
- if (flags & LCD_PHASED_TRANSIT_MODE)
- backlight_ops.transit_brt(default_brightness,
- LCD_PHASED_MIN_BRIGHTNESS, LCD_PHASED_CHANGE_STEP);
-
- if (flags & FORCE_OFF_MODE)
- ret = display_panel_set_dpms_state(DPMS_FORCE_OFF, flags);
- else
- ret = display_panel_set_dpms_state(DPMS_OFF, flags);
-
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_OFF, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_dim(void)
-{
- int ret;
-
- ret = backlight_ops.set_brightness(PM_DIM_BRIGHTNESS);
-#ifdef ENABLE_PM_LOG
- if (!ret)
- pm_history_save(PM_LOG_LCD_DIM, get_pm_cur_state());
- else
- pm_history_save(PM_LOG_LCD_DIM_FAIL, get_pm_cur_state());
-#endif
- return ret;
-}
-
static int set_custom_status(bool on)
{
custom_status = on;
return -EINVAL;
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
_I("custom brightness restored! %d", custom_brightness);
ret = backlight_ops.set_brightness(custom_brightness);
return 0;
}
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
display_backlight_get_default_brightness(&brt);
ret = backlight_ops.set_brightness(brt);
return ret;
}
-static int backlight_standby(int force)
-{
- int ret = -1;
-
- if ((dpms_get_cached_state() == DPMS_ON) || force) {
- _I("LCD standby");
- ret = display_panel_set_dpms_state(DPMS_STANDBY, 0);
- }
-
- return ret;
-}
-
static int set_brightness(int val)
{
int max, ret;
}
static struct _backlight_ops backlight_ops = {
- .off = backlight_off,
- .dim = backlight_dim,
- .on = backlight_on,
.update = backlight_update,
- .standby = backlight_standby,
.get_lcd_power = dpms_get_cached_state,
.get_lcd_power_node = get_lcd_power_node,
.set_custom_status = set_custom_status,
#include "display-signal.h"
#include "display-lock.h"
#include "display-backlight.h"
+#include "display-panel.h"
#include "shared/plugin.h"
#define DISPLAY_CONF_FILE "/etc/deviced/display.conf"
if (!(flags & LCD_PHASED_TRANSIT_MODE)) {
/* Update brightness level */
if (state == LCD_DIM)
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
else if (state == LCD_NORMAL)
backlight_ops->update();
}
backlight_ops->get_custom_status())
backlight_ops->save_custom_brightness();
/* lcd dim state : dim the brightness */
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
if ((get_pm_old_state() == S_LCDOFF) || (get_pm_old_state() == S_SLEEP))
lcd_on_procedure(LCD_DIM, NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->stop(NORMAL_MODE);
- backlight_ops->off(NORMAL_MODE);
- backlight_ops->on(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
+ display_panel_set_panel_state_by_on_state(NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->start(NORMAL_MODE);
}
if (flags & NORMAL_MODE) {
if (flags & LCD_PANEL_OFF_MODE)
/* standby on */
- backlight_ops->standby(true);
+ display_panel_set_panel_state_by_standby_state(true);
else
/* normal lcd on */
- backlight_ops->on(flags);
+ display_panel_set_panel_state_by_on_state(flags);
FIND_DISPLAY(enhance_ops, "enhance");
if (enhance_ops && enhance_ops->func)
enhance_ops->func(RESTORE_ENHANCE_OUTDOOR, &on);
{
/* NORMAL MODE */
if (flags & NORMAL_MODE || flags & FORCE_OFF_MODE) {
- backlight_ops->off(flags);
+ display_panel_set_panel_state_by_off_state(flags);
return 0;
}
#define TOUCH_ON 1
#define TOUCH_OFF 0
-#define LCD_PHASED_MIN_BRIGHTNESS 1
#define LCD_PHASED_MAX_BRIGHTNESS 100
-#define LCD_PHASED_CHANGE_STEP 5
#define LCD_PHASED_DELAY 10000 /* microsecond */
#define DUMP_MODE_WAITING_TIME 600000 /* milisecond */
}
}
-static int backlight_on(enum device_flags flags)
-{
- int ret = -1;
- static int cnt;
-
- _I("[DPMS XLIB Backlight] LCD on %#x cnt:%d", flags, cnt);
-
- cnt++;
- ret = display_panel_set_dpms_state(DPMS_ON, flags);
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_ON, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_off(enum device_flags flags)
-{
- int ret = -1;
- static int cnt, ambient_cnt;
- int default_brightness = 0;
-
- display_backlight_get_default_brightness(&default_brightness);
-
- if (flags & AMBIENT_MODE) {
- _I("[DPMS XLIB Backlight] LCD suspend %#x cnt:%d", flags, ambient_cnt);
- ambient_cnt++;
-
- return 0;
- }
-
- _I("[DPMS XLIB Backlight] LCD off %#x cnt:%d", flags, cnt);
- cnt++;
-
- if (flags & LCD_PHASED_TRANSIT_MODE)
- backlight_ops.transit_brt(default_brightness,
- LCD_PHASED_MIN_BRIGHTNESS, LCD_PHASED_CHANGE_STEP);
-
- if (flags & FORCE_OFF_MODE)
- ret = display_panel_set_dpms_state(DPMS_FORCE_OFF, flags);
- else
- ret = display_panel_set_dpms_state(DPMS_OFF, flags);
-
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_OFF, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_dim(void)
-{
- int ret;
-
- ret = backlight_ops.set_brightness(PM_DIM_BRIGHTNESS);
-#ifdef ENABLE_PM_LOG
- if (!ret)
- pm_history_save(PM_LOG_LCD_DIM, get_pm_cur_state());
- else
- pm_history_save(PM_LOG_LCD_DIM_FAIL, get_pm_cur_state());
-#endif
- return ret;
-}
-
static int set_custom_status(bool on)
{
custom_status = on;
return -EINVAL;
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
_I("custom brightness restored! %d", custom_brightness);
ret = backlight_ops.set_brightness(custom_brightness);
return 0;
}
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
display_backlight_get_default_brightness(&brt);
ret = backlight_ops.set_brightness(brt);
return ret;
}
-static int backlight_standby(int force)
-{
- int ret = -1;
-
- if ((dpms_get_cached_state() == DPMS_ON) || force) {
- _I("LCD standby");
- ret = display_panel_set_dpms_state(DPMS_STANDBY, 0);
- }
-
- return ret;
-}
-
static int set_brightness(int val)
{
int max, ret;
}
static struct _backlight_ops backlight_ops = {
- .off = backlight_off,
- .dim = backlight_dim,
- .on = backlight_on,
.update = backlight_update,
- .standby = backlight_standby,
.get_lcd_power = dpms_get_cached_state,
.get_lcd_power_node = get_lcd_power_node,
.set_custom_status = set_custom_status,
#include "display-signal.h"
#include "display-lock.h"
#include "display-backlight.h"
+#include "display-panel.h"
#include "shared/plugin.h"
#define DISPLAY_CONF_FILE "/etc/deviced/display.conf"
if (!(flags & LCD_PHASED_TRANSIT_MODE)) {
/* Update brightness level */
if (state == LCD_DIM)
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
else if (state == LCD_NORMAL)
backlight_ops->update();
}
backlight_ops->get_custom_status())
backlight_ops->save_custom_brightness();
/* lcd dim state : dim the brightness */
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
if ((get_pm_old_state() == S_LCDOFF) || (get_pm_old_state() == S_SLEEP))
lcd_on_procedure(LCD_DIM, NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->stop(NORMAL_MODE);
- backlight_ops->off(NORMAL_MODE);
- backlight_ops->on(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
+ display_panel_set_panel_state_by_on_state(NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->start(NORMAL_MODE);
}
if (flags & NORMAL_MODE) {
if (flags & LCD_PANEL_OFF_MODE)
/* standby on */
- backlight_ops->standby(true);
+ display_panel_set_panel_state_by_standby_state(true);
else
/* normal lcd on */
- backlight_ops->on(flags);
+ display_panel_set_panel_state_by_on_state(flags);
return 0;
}
{
/* NORMAL MODE */
if (flags & NORMAL_MODE || flags & FORCE_OFF_MODE) {
- backlight_ops->off(flags);
+ display_panel_set_panel_state_by_off_state(flags);
return 0;
}
#define TOUCH_ON 1
#define TOUCH_OFF 0
-#define LCD_PHASED_MIN_BRIGHTNESS 1
#define LCD_PHASED_MAX_BRIGHTNESS 100
-#define LCD_PHASED_CHANGE_STEP 5
#define LCD_PHASED_DELAY 10000 /* microsecond */
#define DUMP_MODE_WAITING_TIME 600000 /* milisecond */
}
}
-static int backlight_on(enum device_flags flags)
-{
- int ret = -1;
- static int cnt;
-
- _I("[DPMS XLIB Backlight] LCD on %#x cnt:%d", flags, cnt);
-
- cnt++;
- ret = display_panel_set_dpms_state(DPMS_ON, flags);
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_ON, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_off(enum device_flags flags)
-{
- int ret = -1;
- static int cnt, ambient_cnt;
- int default_brightness = 0;
-
- display_backlight_get_default_brightness(&default_brightness);
-
- if (flags & AMBIENT_MODE) {
- _I("[DPMS XLIB Backlight] LCD suspend %#x cnt:%d", flags, ambient_cnt);
- ambient_cnt++;
-
- return 0;
- }
-
- _I("[DPMS XLIB Backlight] LCD off %#x cnt:%d", flags, cnt);
- cnt++;
-
- if (flags & LCD_PHASED_TRANSIT_MODE)
- backlight_ops.transit_brt(default_brightness,
- LCD_PHASED_MIN_BRIGHTNESS, LCD_PHASED_CHANGE_STEP);
-
- if (flags & FORCE_OFF_MODE)
- ret = display_panel_set_dpms_state(DPMS_FORCE_OFF, flags);
- else
- ret = display_panel_set_dpms_state(DPMS_OFF, flags);
-
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_OFF, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_dim(void)
-{
- int ret;
-
- ret = backlight_ops.set_brightness(PM_DIM_BRIGHTNESS);
-#ifdef ENABLE_PM_LOG
- if (!ret)
- pm_history_save(PM_LOG_LCD_DIM, get_pm_cur_state());
- else
- pm_history_save(PM_LOG_LCD_DIM_FAIL, get_pm_cur_state());
-#endif
- return ret;
-}
-
static int set_custom_status(bool on)
{
custom_status = on;
return -EINVAL;
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
_I("custom brightness restored! %d", custom_brightness);
ret = backlight_ops.set_brightness(custom_brightness);
return 0;
}
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
display_backlight_get_default_brightness(&brt);
ret = backlight_ops.set_brightness(brt);
return ret;
}
-static int backlight_standby(int force)
-{
- int ret = -1;
-
- if ((dpms_get_cached_state() == DPMS_ON) || force) {
- _I("LCD standby");
- ret = display_panel_set_dpms_state(DPMS_STANDBY, 0);
- }
-
- return ret;
-}
-
static int set_brightness(int val)
{
int max, ret;
}
static struct _backlight_ops backlight_ops = {
- .off = backlight_off,
- .dim = backlight_dim,
- .on = backlight_on,
.update = backlight_update,
- .standby = backlight_standby,
.get_lcd_power = dpms_get_cached_state,
.get_lcd_power_node = get_lcd_power_node,
.set_custom_status = set_custom_status,
} else if (request == BR_LOWDIM_ON) {
if (!lowdim) {
if (!hbm && !hold_brt && (get_pm_cur_state() == S_NORMAL))
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
change_flag(&lowdim, 1);
}
} else if (request == BR_LBM_OFF) {
change_brightness_transit(lbm_down_brt(default_brightness), default_brightness);
backlight_ops->set_brightness(default_brightness);
} else {
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
}
} else if (lbm && hold_brt) {
change_flag(&lbm, 0);
if (!lowdim)
backlight_ops->set_brightness(default_brightness);
else
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
} else if (lbm && hold_brt) {
change_flag(&hold_brt, 0);
if (!lowdim) {
#include "display/display-signal.h"
#include "display-lock.h"
#include "display-backlight.h"
+#include "display-panel.h"
#include "shared/plugin.h"
#define DISPLAY_CONF_FILE "/etc/deviced/display.conf"
if (!(flags & LCD_PHASED_TRANSIT_MODE)) {
/* Update brightness level */
if (state == LCD_DIM)
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
else if (state == LCD_NORMAL)
backlight_ops->update();
}
backlight_ops->get_custom_status())
backlight_ops->save_custom_brightness();
/* lcd dim state : dim the brightness */
- backlight_ops->dim();
+ display_backlight_set_brightness_by_dim_brightness();
if ((get_pm_old_state() == S_LCDOFF) || (get_pm_old_state() == S_SLEEP))
lcd_on_procedure(LCD_DIM, NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->stop(NORMAL_MODE);
- backlight_ops->off(NORMAL_MODE);
- backlight_ops->on(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
+ display_panel_set_panel_state_by_on_state(NORMAL_MODE);
if (!check_default(touchscreen_ops))
touchscreen_ops->start(NORMAL_MODE);
}
if (flags & NORMAL_MODE) {
if (flags & LCD_PANEL_OFF_MODE)
/* standby on */
- backlight_ops->standby(true);
+ display_panel_set_panel_state_by_standby_state(true);
else
/* normal lcd on */
- backlight_ops->on(flags);
+ display_panel_set_panel_state_by_on_state(flags);
FIND_DISPLAY(enhance_ops, "enhance");
if (enhance_ops && enhance_ops->func)
enhance_ops->func(RESTORE_ENHANCE_OUTDOOR, &on);
{
/* NORMAL MODE */
if (flags & NORMAL_MODE || flags & FORCE_OFF_MODE) {
- backlight_ops->off(flags);
+ display_panel_set_panel_state_by_off_state(flags);
return 0;
}
#define TOUCH_ON 1
#define TOUCH_OFF 0
-#define LCD_PHASED_MIN_BRIGHTNESS 1
#define LCD_PHASED_MAX_BRIGHTNESS 100
-#define LCD_PHASED_CHANGE_STEP 5
#define LCD_PHASED_DELAY 10000 /* microsecond */
#define DUMP_MODE_WAITING_TIME 600000 /* milisecond */
}
}
-static int backlight_on(enum device_flags flags)
-{
- int ret = -1;
- static int cnt;
-
- _I("[DPMS XLIB Backlight] LCD on %#x cnt:%d", flags, cnt);
-
- cnt++;
- ret = display_panel_set_dpms_state(DPMS_ON, flags);
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_ON, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_off(enum device_flags flags)
-{
- int ret = -1;
- static int cnt, ambient_cnt;
- int default_brightness = 0;
-
- display_backlight_get_default_brightness(&default_brightness);
-
- if (flags & AMBIENT_MODE) {
- _I("[DPMS XLIB Backlight] LCD suspend %#x cnt:%d", flags, ambient_cnt);
- ambient_cnt++;
-
- return 0;
- }
-
- _I("[DPMS XLIB Backlight] LCD off %#x cnt:%d", flags, cnt);
- cnt++;
-
- if (flags & LCD_PHASED_TRANSIT_MODE)
- backlight_ops.transit_brt(default_brightness,
- LCD_PHASED_MIN_BRIGHTNESS, LCD_PHASED_CHANGE_STEP);
-
- if (flags & FORCE_OFF_MODE)
- ret = display_panel_set_dpms_state(DPMS_FORCE_OFF, flags);
- else
- ret = display_panel_set_dpms_state(DPMS_OFF, flags);
-
-#ifdef ENABLE_PM_LOG
- pm_history_save(PM_LOG_LCD_OFF, get_pm_cur_state());
-#endif
-
- return ret;
-}
-
-static int backlight_dim(void)
-{
- int ret;
-
- ret = backlight_ops.set_brightness(PM_DIM_BRIGHTNESS);
-#ifdef ENABLE_PM_LOG
- if (!ret)
- pm_history_save(PM_LOG_LCD_DIM, get_pm_cur_state());
- else
- pm_history_save(PM_LOG_LCD_DIM_FAIL, get_pm_cur_state());
-#endif
- return ret;
-}
-
static int set_custom_status(bool on)
{
custom_status = on;
return -EINVAL;
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
_I("custom brightness restored! %d", custom_brightness);
ret = backlight_ops.set_brightness(custom_brightness);
return 0;
}
if (display_dimstay_check())
- ret = backlight_dim();
+ ret = display_backlight_set_brightness_by_dim_brightness();
else {
display_backlight_get_default_brightness(&brt);
ret = backlight_ops.set_brightness(brt);
return ret;
}
-static int backlight_standby(int force)
-{
- int ret = -1;
-
- if ((dpms_get_cached_state() == DPMS_ON) || force) {
- _I("LCD standby");
- ret = display_panel_set_dpms_state(DPMS_STANDBY, 0);
- }
-
- return ret;
-}
-
static int set_brightness(int val)
{
int max, ret;
}
static struct _backlight_ops backlight_ops = {
- .off = backlight_off,
- .dim = backlight_dim,
- .on = backlight_on,
.update = backlight_update,
- .standby = backlight_standby,
.get_lcd_power = dpms_get_cached_state,
.get_lcd_power_node = get_lcd_power_node,
.set_custom_status = set_custom_status,
#include "core.h"
#include "display.h"
#include "display-ops.h"
+#include "display-panel.h"
#include "shared/device-notifier.h"
#include "shared/devices.h"
#include "shared/plugin.h"
if (update_count == 0) {
_D("lcd off");
- backlight_ops->off(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
broadcast_lcd_off_late(LCD_OFF_LATE_MODE);
if (disp_plgn->pm_unlock_internal)
disp_plgn->pm_unlock_internal(INTERNAL_LOCK_AMBIENT, LCD_OFF, PM_SLEEP_MARGIN);
int display_service_free(void);
struct _backlight_ops {
- int (*off)(enum device_flags);
- int (*dim)(void);
- int (*on)(enum device_flags);
int (*update)(void);
- int (*standby)(int);
int (*get_lcd_power)(void);
int (*get_lcd_power_node)(void);
int (*set_custom_status)(bool on);
#include "display-dpms.h"
static const struct display_config *display_conf;
+static struct _backlight_ops *backlight_ops;
static int default_brightness;
return 0;
}
+int display_backlight_set_brightness_by_dim_brightness(void)
+{
+ int ret = 0;
+
+ ret = backlight_ops->set_brightness(PM_DIM_BRIGHTNESS);
+
+#ifdef ENABLE_PM_LOG
+ if (!ret)
+ pm_history_save(PM_LOG_LCD_DIM, get_pm_cur_state());
+ else
+ pm_history_save(PM_LOG_LCD_DIM_FAIL, get_pm_cur_state());
+#endif
+ return ret;
+}
+
+/* FIXME: This code structure should be changed to plugin api call, after plugin refactoting*/
static void __CONSTRUCTOR__ initialize(void)
{
display_conf = get_var_display_config();
if (!display_conf)
_W("Failed to get display configuration variable.");
+
+ backlight_ops = get_var_backlight_ops();
+ if (!backlight_ops)
+ _W("Failed to get backlight operator variable.");
+
}
\ No newline at end of file
int *normalized_brightness);
int display_backlight_set_default_brightness(int brightness);
int display_backlight_get_default_brightness(int *brightness);
+int display_backlight_set_brightness_by_dim_brightness(void);
#endif /* __DISPLAY_BACKLIGHT_H__ */
\ No newline at end of file
control = display_conf->control_display;
if (control)
- backlight_ops->off(NORMAL_MODE);
+ display_panel_set_panel_state_by_off_state(NORMAL_MODE);
_D("app : %d, value : %d", app, val);
ret = display_panel_set_frame_rate(val);
_E("Failed to set frame rate (%d)", ret);
if (control)
- backlight_ops->on(NORMAL_MODE);
+ display_panel_set_panel_state_by_on_state(NORMAL_MODE);
error:
return g_variant_new("(i)", ret);
#include "shared/log.h"
#include "power/power-suspend.h"
#include "display.h"
+#include "display-backlight.h"
#include "display-dpms.h"
#include "display-panel.h"
#define DEFAULT_WHITE_BALANCE_GAIN 1024
#define DEFAULT_WHITE_BALANCE_OFFSET 0
+#define LCD_PHASED_MIN_BRIGHTNESS 1
+#define LCD_PHASED_CHANGE_STEP 5
+
+static struct _backlight_ops *backlight_ops;
+
/* FIXME: This function is for temporary use, should be fixed after plugin refactoring */
int display_panel_set_dpms_state(int dpms_on, enum device_flags flags)
{
return ret;
}
+int display_panel_set_panel_state_by_on_state(enum device_flags flags)
+{
+ int ret = -1;
+ static int cnt;
+
+ _I("[DPMS XLIB Backlight] LCD on %#x cnt:%d", flags, cnt);
+
+ cnt++;
+ ret = display_panel_set_dpms_state(DPMS_ON, flags);
+
+#ifdef ENABLE_PM_LOG
+ pm_history_save(PM_LOG_LCD_ON, get_pm_cur_state());
+#endif
+ return ret;
+}
+
+int display_panel_set_panel_state_by_off_state(enum device_flags flags)
+{
+ int ret = -1;
+ static int cnt, ambient_cnt;
+ int default_brightness = 0;
+
+ display_backlight_get_default_brightness(&default_brightness);
+
+ if (flags & AMBIENT_MODE) {
+ _I("[DPMS XLIB Backlight] LCD suspend %#x cnt:%d", flags, ambient_cnt);
+ ambient_cnt++;
+ return 0;
+ }
+
+ _I("[DPMS XLIB Backlight] LCD off %#x cnt:%d", flags, cnt);
+ cnt++;
+
+ if (flags & LCD_PHASED_TRANSIT_MODE)
+ backlight_ops->transit_brt(default_brightness,
+ LCD_PHASED_MIN_BRIGHTNESS, LCD_PHASED_CHANGE_STEP);
+
+ if (flags & FORCE_OFF_MODE)
+ ret = display_panel_set_dpms_state(DPMS_FORCE_OFF, flags);
+ else
+ ret = display_panel_set_dpms_state(DPMS_OFF, flags);
+
+#ifdef ENABLE_PM_LOG
+ pm_history_save(PM_LOG_LCD_OFF, get_pm_cur_state());
+#endif
+ return ret;
+}
+
+int display_panel_set_panel_state_by_standby_state(bool standby_on)
+{
+ int ret = -1;
+
+ if ((dpms_get_cached_state() == DPMS_ON) || standby_on) {
+ _I("LCD standby");
+ ret = display_panel_set_dpms_state(DPMS_STANDBY, 0);
+ }
+
+ return ret;
+}
+
/* FIXME: This function is used for only wearable profile, should be fixed after plugin refactoring */
int display_panel_set_image_effect(enum display_image_effect effect)
{
return -ENOTSUP;
return hal_device_display_get_frame_rate(frame_rate);
+}
+
+/* FIXME: This code structure should be changed to plugin api call, after plugin refactoting*/
+static void __CONSTRUCTOR__ initialize(void)
+{
+ backlight_ops = get_var_backlight_ops();
+ if (!backlight_ops)
+ _W("Failed to get backlight operator variable.");
}
\ No newline at end of file
int display_panel_set_dpms_state(int dpms_on, enum device_flags flags);
int display_panel_set_white_balance(enum hal_display_white_balance white_balance_type, int value);
int display_panel_get_white_balance(enum hal_display_white_balance white_balance_type, int* out_val);
+int display_panel_set_panel_state_by_on_state(enum device_flags flags);
+int display_panel_set_panel_state_by_off_state(enum device_flags flags);
+int display_panel_set_panel_state_by_standby_state(bool standby_on);
/* Deprecated functions */
int display_panel_set_image_effect(enum display_image_effect effect);
int display_panel_get_image_effect(enum display_image_effect *effect);