video: rockchip: fb: add dataspace for hdr
[firefly-linux-kernel-4.4.55.git] / include / linux / rk_fb.h
index d7634a83817fd0a3efe2051316283cf54237b4e0..abab70e3614952d88bb8ba1fd95a9d7745d0cca8 100755 (executable)
@@ -118,6 +118,11 @@ enum {
 #define BT709(x)       ((CSC_BT709 << CSC_SHIFT) | ((x) & ~CSC_MASK))
 #define BT2020(x)      ((CSC_BT2020 << CSC_SHIFT) | ((x) & ~CSC_MASK))
 
+enum {
+       SDR_DATA,
+       HDR_DATA,
+};
+
 /**
  * pixel format definitions,this is copy from android/system/core/include/system/graphics.h
  */
@@ -397,6 +402,7 @@ struct rk_lcdc_bcsh {
 struct rk_lcdc_win_area {
        bool state;
        enum data_format format;
+       u8 data_space;          /* SDR or HDR */
        u8 fmt_cfg;
        u8 yuyv_fmt;
        u8 swap_rb;
@@ -582,8 +588,8 @@ struct rk_fb_area_par {
        u8  fbdc_en;
        u8  fbdc_cor_en;
        u8  fbdc_data_format;
-       u16 reserved0;
-       u32 reserved1;
+       u16 data_space; /* SDR or HDR */
+       u32 reserved0;
 };
 
 
@@ -618,6 +624,7 @@ struct rk_fb_reg_wb_data {
 struct rk_fb_reg_area_data {
        struct sync_fence *acq_fence;
        u8 data_format;        /*layer data fmt*/
+       u8 data_space;          /* indicate SDR or HDR */
        u8  index_buf;          /*judge if the buffer is index*/
        u32 y_offset;           /*yuv/rgb offset  -->LCDC_WINx_YRGB_MSTx*/
        u32 c_offset;           /*cb cr offset--->LCDC_WINx_CBR_MSTx*/
@@ -694,6 +701,7 @@ struct rk_lcdc_driver {
        u16 rotate_mode;
        u16 cabc_mode;
        u16 overlay_mode;
+       u16 pre_overlay;
        u16 output_color;
 
        u16  fb_win_map;