disp: msm: sde: avoid caching color processing properties in validate
Recent investigation shows that color processing properties are incorrectly being cached in validate. This can result in unwanted color processing properties being applied if a previous commit failed or was validate only. Add color processing properties to sde crtc state instead of marking them dirty in color processing driver. When atomic commit is called properties from state will be marked as dirty and applied. Change-Id: If231a1f028e4cbd0b50eb0a947f4d58f94390a0c Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org> Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include "sde_kms.h"
|
||||
#include "sde_core_perf.h"
|
||||
#include "sde_hw_ds.h"
|
||||
#include "sde_color_processing.h"
|
||||
|
||||
#define SDE_CRTC_NAME_SIZE 12
|
||||
|
||||
@@ -426,6 +427,10 @@ enum sde_crtc_dirty_flags {
|
||||
* @new_perf: new performance state being requested
|
||||
* @noise_layer_en: flag to indicate if noise layer cfg is valid
|
||||
* @drm_msm_noise_layer_cfg: noise layer configuration
|
||||
* @cp_prop_cnt: number of dirty color processing features
|
||||
* @cp_prop_values: array of cp property values
|
||||
* @cp_dirty_list: array tracking features that are dirty
|
||||
* @cp_range_payload: array storing state user_data passed via range props
|
||||
*/
|
||||
struct sde_crtc_state {
|
||||
struct drm_crtc_state base;
|
||||
@@ -457,6 +462,12 @@ struct sde_crtc_state {
|
||||
struct sde_core_perf_params new_perf;
|
||||
bool noise_layer_en;
|
||||
struct drm_msm_noise_layer_cfg layer_cfg;
|
||||
uint32_t cp_prop_cnt;
|
||||
struct sde_cp_crtc_property_state
|
||||
cp_prop_values[SDE_CP_CRTC_MAX_FEATURES];
|
||||
uint32_t cp_dirty_list[SDE_CP_CRTC_MAX_FEATURES];
|
||||
struct sde_cp_crtc_range_prop_payload
|
||||
cp_range_payload[SDE_CP_CRTC_MAX_FEATURES];
|
||||
};
|
||||
|
||||
enum sde_crtc_irq_state {
|
||||
|
مرجع در شماره جدید
Block a user