TF_TYPE_PREDEFINED,
        TF_TYPE_DISTRIBUTED_POINTS,
        TF_TYPE_BYPASS,
-       TF_TYPE_UNITY
 };
 
 struct dc_transfer_func_distributed_points {
        TRANSFER_FUNCTION_BT709,
        TRANSFER_FUNCTION_PQ,
        TRANSFER_FUNCTION_LINEAR,
+       TRANSFER_FUNCTION_UNITY,
 };
 
 struct dc_transfer_func {
 
                return false;
        }
 
-       if (!convert_to_custom_float_format(arr_points[1].y, &fmt,
-                                           &arr_points[1].custom_float_y)) {
+       if (fixpoint == true)
+               arr_points[1].custom_float_y = dal_fixed31_32_u0d14(arr_points[1].y);
+       else if (!convert_to_custom_float_format(arr_points[1].y, &fmt,
+               &arr_points[1].custom_float_y)) {
                BREAK_TO_DEBUGGER();
                return false;
        }
 
        type CM_BLNDGAM_LUT_WRITE_EN_MASK; \
        type CM_BLNDGAM_LUT_WRITE_SEL; \
        type CM_BLNDGAM_LUT_INDEX; \
-       type CM_BLNDGAM_LUT_DATA; \
+       type BLNDGAM_MEM_PWR_FORCE; \
        type CM_3DLUT_MODE; \
        type CM_3DLUT_SIZE; \
        type CM_3DLUT_INDEX; \
        uint32_t CM_BLNDGAM_RAMA_REGION_30_31; \
        uint32_t CM_BLNDGAM_RAMA_REGION_32_33; \
        uint32_t CM_BLNDGAM_LUT_INDEX; \
-       uint32_t CM_BLNDGAM_LUT_DATA; \
        uint32_t CM_3DLUT_MODE; \
        uint32_t CM_3DLUT_INDEX; \
        uint32_t CM_3DLUT_DATA; \