disp: msm: sde: add custom event to notify OPR, MISR value change

This change collects the OPR, MISR values. If the values are
different than the previous then notify to client with custom event.

Change-Id: I2546439be1f665d90e6505d65283d28096bf7cdd
Signed-off-by: Akshay Ashtunkar <quic_akshayaa@quicinc.com>
Цей коміт міститься в:
Akshay Ashtunkar
2022-02-28 16:18:41 +05:30
джерело 0384633caf
коміт 9423445a34
14 змінених файлів з 328 додано та 7 видалено

Переглянути файл

@@ -232,6 +232,16 @@ struct sde_frame_data {
struct sde_frame_data_buffer *buf[SDE_FRAME_DATA_BUFFER_MAX];
};
/**
* struct sde_opr_value - defines sde opr value structure
* @num_valid_opr : count of valid opr values
* @opr_value : list of opr value
*/
struct sde_opr_value {
atomic_t num_valid_opr;
u32 opr_value[MAX_DSI_DISPLAYS];
};
/**
* struct sde_crtc - virtualized CRTC data structure
* @base : Base drm crtc structure
@@ -316,6 +326,8 @@ struct sde_frame_data {
* @skip_blend_plane_h: skip blend plane height
* @line_time_in_ns : current mode line time in nano sec is needed for QOS update
* @frame_data : Framedata data structure
* @previous_opr_value : store previous opr values
* @opr_event_notify_enabled : Flag to indicate if opr event notify is enabled or not
*/
struct sde_crtc {
struct drm_crtc base;
@@ -421,6 +433,9 @@ struct sde_crtc {
u32 line_time_in_ns;
struct sde_frame_data frame_data;
struct sde_opr_value previous_opr_value;
bool opr_event_notify_enabled;
};
enum sde_crtc_dirty_flags {