android_kernel_xiaomi_sm8350/msm/sde_vdc_helper.h
Abhinav Kumar 3e0f65f882 disp: msm: program DSI compression registers for VDC-m
Add the support to program DSI compression registers
for VDC-m. These are calculated based on the VDC parameters
and mode information.

Change-Id: I09b163a496842331d5f2a78371f380180b3a15b8
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-01-29 13:44:32 -08:00

64 lines
1.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*/
#ifndef __SDE_VDC_HELPER_H__
#define __SDE_VDC_HELPER_H__
#include "msm_drv.h"
#define VDC_BPP(bits_per_pixel) (bits_per_pixel >> 4)
#define VDC_NUM_BUF_RANGES (DSC_NUM_BUF_RANGES - 1)
#define VDC_FLAT_QP_LUT_SIZE 8
#define VDC_MAX_QP_LUT_SIZE 8
#define VDC_TAR_DEL_LUT_SIZE 16
#define VDC_LBDA_BRATE_LUT_SIZE 16
#define VDC_LBDA_BF_LUT_SIZE 16
#define VDC_LBDA_BRATE_REG_SIZE 64
#define VDC_VIDEO_MODE 0
#define VDC_CMD_MODE 1
#define VDC_TRAFFIC_SYNC_PULSES 0
#define VDC_TRAFFIC_SYNC_START_EVENTS 1
#define VDC_TRAFFIC_BURST_MODE 2
#define MAX_PIPELINE_LATENCY 68
#define OB_DATA_WIDTH 128
#define OUT_BUF_FULL_THRESH 2
#define OUT_BUF_UF_MARGIN 3
#define OUT_BUF_OF_MARGIN_TC_10 5
#define OUT_BUF_OF_MARGIN_OB 3
#define OUTPUT_DATA_WIDTH 64
#define OB0_RAM_DEPTH 912
#define OB1_RAM_DEPTH 736
#define SSM_MAX_SE_SIZE 128
#define RC_TARGET_RATE_EXTRA_FTBLS 2
#define NUM_ACTIVE_HS 1
#define MAX_PIXELS_PER_HS_LINE 5120
#define SDE_VDC_PPS_SIZE 128
/**
* sde_vdc_populate_config - populates the VDC encoder parameters
* for a given panel configuration
*/
int sde_vdc_populate_config(struct msm_display_vdc_info *vdc_info,
int intf_width, int traffic_mode);
/**
* sde_vdc_create_pps_buf_cmd- creates the PPS buffer from the VDC
* parameters according to the VDC specification
*/
int sde_vdc_create_pps_buf_cmd(struct msm_display_vdc_info *vdc_info,
char *buf, int pps_id, u32 size);
void sde_vdc_intf_prog_params(struct msm_display_vdc_info *vdc_info,
int intf_width);
#endif /* __SDE_VDC_HELPER_H__ */