Loading drivers/video/fbdev/msm/mdss_mdp.h +8 −0 Original line number Diff line number Diff line Loading @@ -235,9 +235,13 @@ enum mdss_mdp_csc_type { MDSS_MDP_CSC_YUV2RGB_601L, MDSS_MDP_CSC_YUV2RGB_601FR, MDSS_MDP_CSC_YUV2RGB_709L, MDSS_MDP_CSC_YUV2RGB_2020L, MDSS_MDP_CSC_YUV2RGB_2020FR, MDSS_MDP_CSC_RGB2YUV_601L, MDSS_MDP_CSC_RGB2YUV_601FR, MDSS_MDP_CSC_RGB2YUV_709L, MDSS_MDP_CSC_RGB2YUV_2020L, MDSS_MDP_CSC_RGB2YUV_2020FR, MDSS_MDP_CSC_YUV2YUV, MDSS_MDP_CSC_RGB2RGB, MDSS_MDP_MAX_CSC Loading Loading @@ -1408,6 +1412,10 @@ static inline uint8_t pp_vig_csc_pipe_val(struct mdss_mdp_pipe *pipe) return MDSS_MDP_CSC_YUV2RGB_601L; case MDP_CSC_ITU_R_601_FR: return MDSS_MDP_CSC_YUV2RGB_601FR; case MDP_CSC_ITU_R_2020: return MDSS_MDP_CSC_YUV2RGB_2020L; case MDP_CSC_ITU_R_2020_FR: return MDSS_MDP_CSC_YUV2RGB_2020FR; case MDP_CSC_ITU_R_709: default: return MDSS_MDP_CSC_YUV2RGB_709L; Loading drivers/video/fbdev/msm/mdss_mdp_pp.c +96 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = { { 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020L] = { 0, { 0x0256, 0x0000, 0x035e, 0x0256, 0xffa0, 0xfeb2, 0x0256, 0x044c, 0x0000, }, { 0xfff0, 0xff80, 0xff80,}, { 0x0, 0x0, 0x0,}, { 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020FR] = { 0, { 0x0200, 0x0000, 0x02f3, 0x0200, 0xffac, 0xfedb, 0x0200, 0x03c3, 0x0000, }, { 0x0000, 0xff80, 0xff80,}, { 0x0, 0x0, 0x0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_RGB2YUV_601L] = { 0, { Loading Loading @@ -96,6 +120,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = { { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020L] = { 0, { 0x0073, 0x0129, 0x001a, 0xffc1, 0xff5e, 0x00e0, 0x00e0, 0xff32, 0xffee }, { 0x0, 0x0, 0x0,}, { 0x0010, 0x0080, 0x0080,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020FR] = { 0, { 0x0086, 0x015b, 0x001e, 0xffb9, 0xff47, 0x0100, 0x0100, 0xff15, 0xffeb }, { 0x0, 0x0, 0x0,}, { 0x0, 0x0080, 0x0080,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2YUV] = { 0, { Loading Loading @@ -159,6 +207,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = { { 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020L] = { 0, { 0x0256, 0x0000, 0x035e, 0x0256, 0xffa0, 0xfeb2, 0x0256, 0x044c, 0x0000, }, { 0xffc0, 0xfe00, 0xfe00,}, { 0x0, 0x0, 0x0,}, { 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020FR] = { 0, { 0x0200, 0x0000, 0x02f3, 0x0200, 0xffac, 0xfedb, 0x0200, 0x03c3, 0x0000, }, { 0x0000, 0xfe00, 0xfe00,}, { 0x0, 0x0, 0x0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_RGB2YUV_601L] = { 0, { Loading Loading @@ -195,6 +267,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = { { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020L] = { 0, { 0x0073, 0x0129, 0x001a, 0xffc1, 0xff5e, 0x00e0, 0x00e0, 0xff32, 0xffee }, { 0x0, 0x0, 0x0,}, { 0x0040, 0x0200, 0x0200,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020FR] = { 0, { 0x0086, 0x015b, 0x001e, 0xffb9, 0xff47, 0x0100, 0x0100, 0xff15, 0xffeb }, { 0x0, 0x0, 0x0,}, { 0x0, 0x0200, 0x0200,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2YUV] = { 0, { Loading include/uapi/linux/msm_mdp.h +9 −0 Original line number Diff line number Diff line Loading @@ -1406,12 +1406,21 @@ enum { MDP_WRITEBACK_MIRROR_RESUME, }; /* * The enum values are continued below as preprocessor macro definitions */ enum mdp_color_space { MDP_CSC_ITU_R_601, MDP_CSC_ITU_R_601_FR, MDP_CSC_ITU_R_709, }; /* * These definitions are a continuation of the mdp_color_space enum above */ #define MDP_CSC_ITU_R_2020 (MDP_CSC_ITU_R_709 + 1) #define MDP_CSC_ITU_R_2020_FR (MDP_CSC_ITU_R_2020 + 1) enum { mdp_igc_v1_7 = 1, mdp_igc_vmax, Loading Loading
drivers/video/fbdev/msm/mdss_mdp.h +8 −0 Original line number Diff line number Diff line Loading @@ -235,9 +235,13 @@ enum mdss_mdp_csc_type { MDSS_MDP_CSC_YUV2RGB_601L, MDSS_MDP_CSC_YUV2RGB_601FR, MDSS_MDP_CSC_YUV2RGB_709L, MDSS_MDP_CSC_YUV2RGB_2020L, MDSS_MDP_CSC_YUV2RGB_2020FR, MDSS_MDP_CSC_RGB2YUV_601L, MDSS_MDP_CSC_RGB2YUV_601FR, MDSS_MDP_CSC_RGB2YUV_709L, MDSS_MDP_CSC_RGB2YUV_2020L, MDSS_MDP_CSC_RGB2YUV_2020FR, MDSS_MDP_CSC_YUV2YUV, MDSS_MDP_CSC_RGB2RGB, MDSS_MDP_MAX_CSC Loading Loading @@ -1408,6 +1412,10 @@ static inline uint8_t pp_vig_csc_pipe_val(struct mdss_mdp_pipe *pipe) return MDSS_MDP_CSC_YUV2RGB_601L; case MDP_CSC_ITU_R_601_FR: return MDSS_MDP_CSC_YUV2RGB_601FR; case MDP_CSC_ITU_R_2020: return MDSS_MDP_CSC_YUV2RGB_2020L; case MDP_CSC_ITU_R_2020_FR: return MDSS_MDP_CSC_YUV2RGB_2020FR; case MDP_CSC_ITU_R_709: default: return MDSS_MDP_CSC_YUV2RGB_709L; Loading
drivers/video/fbdev/msm/mdss_mdp_pp.c +96 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = { { 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020L] = { 0, { 0x0256, 0x0000, 0x035e, 0x0256, 0xffa0, 0xfeb2, 0x0256, 0x044c, 0x0000, }, { 0xfff0, 0xff80, 0xff80,}, { 0x0, 0x0, 0x0,}, { 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020FR] = { 0, { 0x0200, 0x0000, 0x02f3, 0x0200, 0xffac, 0xfedb, 0x0200, 0x03c3, 0x0000, }, { 0x0000, 0xff80, 0xff80,}, { 0x0, 0x0, 0x0,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_RGB2YUV_601L] = { 0, { Loading Loading @@ -96,6 +120,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = { { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020L] = { 0, { 0x0073, 0x0129, 0x001a, 0xffc1, 0xff5e, 0x00e0, 0x00e0, 0xff32, 0xffee }, { 0x0, 0x0, 0x0,}, { 0x0010, 0x0080, 0x0080,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020FR] = { 0, { 0x0086, 0x015b, 0x001e, 0xffb9, 0xff47, 0x0100, 0x0100, 0xff15, 0xffeb }, { 0x0, 0x0, 0x0,}, { 0x0, 0x0080, 0x0080,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, { 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,}, }, [MDSS_MDP_CSC_YUV2YUV] = { 0, { Loading Loading @@ -159,6 +207,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = { { 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020L] = { 0, { 0x0256, 0x0000, 0x035e, 0x0256, 0xffa0, 0xfeb2, 0x0256, 0x044c, 0x0000, }, { 0xffc0, 0xfe00, 0xfe00,}, { 0x0, 0x0, 0x0,}, { 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2RGB_2020FR] = { 0, { 0x0200, 0x0000, 0x02f3, 0x0200, 0xffac, 0xfedb, 0x0200, 0x03c3, 0x0000, }, { 0x0000, 0xfe00, 0xfe00,}, { 0x0, 0x0, 0x0,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_RGB2YUV_601L] = { 0, { Loading Loading @@ -195,6 +267,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = { { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020L] = { 0, { 0x0073, 0x0129, 0x001a, 0xffc1, 0xff5e, 0x00e0, 0x00e0, 0xff32, 0xffee }, { 0x0, 0x0, 0x0,}, { 0x0040, 0x0200, 0x0200,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,}, }, [MDSS_MDP_CSC_RGB2YUV_2020FR] = { 0, { 0x0086, 0x015b, 0x001e, 0xffb9, 0xff47, 0x0100, 0x0100, 0xff15, 0xffeb }, { 0x0, 0x0, 0x0,}, { 0x0, 0x0200, 0x0200,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, { 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,}, }, [MDSS_MDP_CSC_YUV2YUV] = { 0, { Loading
include/uapi/linux/msm_mdp.h +9 −0 Original line number Diff line number Diff line Loading @@ -1406,12 +1406,21 @@ enum { MDP_WRITEBACK_MIRROR_RESUME, }; /* * The enum values are continued below as preprocessor macro definitions */ enum mdp_color_space { MDP_CSC_ITU_R_601, MDP_CSC_ITU_R_601_FR, MDP_CSC_ITU_R_709, }; /* * These definitions are a continuation of the mdp_color_space enum above */ #define MDP_CSC_ITU_R_2020 (MDP_CSC_ITU_R_709 + 1) #define MDP_CSC_ITU_R_2020_FR (MDP_CSC_ITU_R_2020 + 1) enum { mdp_igc_v1_7 = 1, mdp_igc_vmax, Loading