disp: msm: sde: add line insertion support for sspp

Add line insertion support for sspp, this is used to support
display with external splitter. Line insertion logic checks
the difference between screen logical height and physical
height. If any difference is observed adds dummy and active
lines on screen.

Change-Id: Ieec322273df000a53fb39e05174c2d67c3c2da81
Signed-off-by: Rajesh kv <quic_kvrajesh@quicinc.com>
This commit is contained in:
Rajesh kv
2022-04-01 08:59:25 +05:30
vanhempi fdcfe00b0b
commit 03aad2fdf9
16 muutettua tiedostoa jossa 420 lisäystä ja 1 poistoa

Näytä tiedosto

@@ -291,6 +291,22 @@ struct sde_hw_pipe_ts_cfg {
*/
#define SDE_PIPE_SBUF_PLANE_NUM 2
/**
* struct sde_hw_pipe_line_insertion_cfg - line insertion config
* @enable: line insertion is enabled
* @dummy_lines: dummy lines before active lines
* @first_active_lines: number of active lines before first dummy lines
* @active_lines: active lines
* @dst_h: total active lines plus dummy lines
*/
struct sde_hw_pipe_line_insertion_cfg {
bool enable;
u32 dummy_lines;
u32 first_active_lines;
u32 active_lines;
u32 dst_h;
};
/**
* struct sde_hw_sspp_ops - interface to the SSPP Hw driver functions
* Caller must call the init function to get the pipe context for each pipe
@@ -688,6 +704,15 @@ struct sde_hw_sspp_ops {
*/
void (*setup_fp16_unmult)(struct sde_hw_pipe *ctx,
enum sde_sspp_multirect_index index, void *data);
/**
* setup_line_insertion - setup line insertion
* @ctx: Pointer to pipe context
* @cfg: Pointer to line insertion configuration
*/
void (*setup_line_insertion)(struct sde_hw_pipe *ctx,
enum sde_sspp_multirect_index index,
struct sde_hw_pipe_line_insertion_cfg *cfg);
};
/**