summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/msm/lcd_effect.h
diff options
context:
space:
mode:
authorDavide Garberi <dade.garberi@gmail.com>2018-10-19 21:03:11 +0200
committerDavide Garberi <dade.garberi@gmail.com>2022-07-27 18:59:13 +0200
commitc5803a237da7a455b3e1b9def49b7763594400f3 (patch)
tree33bdbd3ea3b5583ceaa6d2879e04a640e8315cdc /drivers/video/fbdev/msm/lcd_effect.h
parent3c807c558b18a06f0cf2c34b04eae299bce9ee6d (diff)
mdss: fbdev: Import Zuk z2 row drivers changes
* This is needed to make the display turn on after turning it off * All of this isn't needed at all on z2_plus Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Diffstat (limited to 'drivers/video/fbdev/msm/lcd_effect.h')
-rw-r--r--drivers/video/fbdev/msm/lcd_effect.h90
1 files changed, 90 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/lcd_effect.h b/drivers/video/fbdev/msm/lcd_effect.h
new file mode 100644
index 000000000000..b7f4848b9c3a
--- /dev/null
+++ b/drivers/video/fbdev/msm/lcd_effect.h
@@ -0,0 +1,90 @@
+#ifndef __LCD_EFFECT_H__
+#define __LCD_EFFECT_H__
+
+#include <linux/msm_mdp.h>
+#include <linux/moduleparam.h>
+#include <linux/gpio.h>
+#include <asm/uaccess.h>
+#include "mdss_panel.h"
+#include "mdss_dsi.h"
+#include "mdss_fb.h"
+#include "mdss_dsi_cmd.h"
+
+#define CMDS_LAST_CNT 1
+enum {
+ EFFECT_CE = 0,
+ EFFECT_CT,
+ EFFECT_CABC,
+ EFFECT_HBM,
+};
+
+struct lcd_cmds {
+ struct dsi_cmd_desc *cmd;
+ int cnt;
+};
+
+struct lcd_effect_code {
+ char **code;
+ const int cnt;
+};
+
+struct lcd_effect_cmds {
+ struct lcd_effect_code effect_code;
+ struct lcd_cmds lcd_cmd;
+};
+
+struct lcd_effect_cmd_data {
+ struct lcd_effect_cmds *effect_cmd;
+ const int cnt;
+};
+
+struct lcd_effect {
+ //char *aliases;
+ const char *name;
+ const int max_level;
+ int level;
+ struct lcd_effect_cmd_data effect_cmd_data;
+};
+
+struct lcd_mode {
+ //char *aliases;
+ const char *name;
+ const int bl_ctrl;
+ struct lcd_cmds mode_cmd;
+};
+
+typedef enum {
+ EFFECT = 0,
+ MODE = 1,
+}control_mode;
+
+struct lcd_effect_data {
+ struct lcd_effect *effect;
+ struct lcd_cmds *head_cmd;
+ const int supported_effect;
+};
+
+struct lcd_mode_data {
+ struct lcd_mode *mode;
+ struct lcd_cmds *head_cmd;
+ const int supported_mode;
+ int current_mode;
+};
+struct panel_effect_data {
+ struct lcd_effect_data *effect_data;
+ struct lcd_mode_data *mode_data;
+ struct lcd_cmds save_cmd;
+ struct dsi_cmd_desc *buf;
+ int buf_size;
+};
+
+
+int malloc_lcd_effect_code_buf(struct panel_effect_data *panel_data);
+int update_init_code(
+ struct mdss_dsi_ctrl_pdata*,
+ struct panel_effect_data *,
+ void (*)(struct mdss_dsi_ctrl_pdata *ctrl,struct dsi_panel_cmds *pcmds,u32 flags));
+int handle_lcd_effect_data(struct msm_fb_data_type *, struct panel_effect_data *, struct hal_panel_ctrl_data *);
+int get_effect_index_by_name(char *, struct panel_effect_data *);
+int get_mode_index_by_name(char *, struct panel_effect_data *);
+#endif