Răsfoiți Sursa

disp: msm: add property to handle fence error in driver

Add a new property CRTC_PROP_HANDLE_FENCE_ERROR for userspace
to enable or disable fence error handling.

Change-Id: I72370f405c5299c603b0d673720c28a68c00807a
Signed-off-by: GG Hou <[email protected]>
GG Hou 2 ani în urmă
părinte
comite
97b1afdda8
3 a modificat fișierele cu 21 adăugiri și 0 ștergeri
  1. 1 0
      msm/msm_drv.h
  2. 10 0
      msm/sde/sde_crtc.c
  3. 10 0
      msm/sde/sde_crtc.h

+ 1 - 0
msm/msm_drv.h

@@ -198,6 +198,7 @@ enum msm_mdp_crtc_property {
 	CRTC_PROP_VM_REQ_STATE,
 	CRTC_PROP_NOISE_LAYER_V1,
 	CRTC_PROP_FRAME_DATA_BUF,
+	CRTC_PROP_HANDLE_FENCE_ERROR,
 
 	/* total # of properties */
 	CRTC_PROP_COUNT

+ 10 - 0
msm/sde/sde_crtc.c

@@ -6594,6 +6594,11 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
 		{SDE_DRM_SEC_ONLY, "sec_only"},
 	};
 
+	static const struct drm_prop_enum_list e_fence_error_handle_flag[] = {
+		{FENCE_ERROR_HANDLE_DISABLE, "fence_error_handle_disable"},
+		{FENCE_ERROR_HANDLE_ENABLE, "fence_error_handle_enable"},
+	};
+
 	static const struct drm_prop_enum_list e_cwb_data_points[] = {
 		{CAPTURE_MIXER_OUT, "capture_mixer_out"},
 		{CAPTURE_DSPP_OUT, "capture_pp_out"},
@@ -6682,6 +6687,11 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
 				ARRAY_SIZE(e_cwb_data_points), 0,
 				CRTC_PROP_CAPTURE_OUTPUT);
 
+	msm_property_install_enum(&sde_crtc->property_info,
+		"fence_error_handle_flag", 0, 0, e_fence_error_handle_flag,
+		ARRAY_SIZE(e_fence_error_handle_flag), 0,
+		CRTC_PROP_HANDLE_FENCE_ERROR);
+
 	msm_property_install_volatile_range(&sde_crtc->property_info,
 		"sde_drm_roi_v1", 0x0, 0, ~0, 0, CRTC_PROP_ROI_V1);
 

+ 10 - 0
msm/sde/sde_crtc.h

@@ -64,6 +64,16 @@ enum sde_crtc_output_capture_point {
 	CAPTURE_DEMURA_OUT
 };
 
+/**
+ * enum fence_error_handle_flag: the flag to enable/disable fence error handling in kernel
+ * @FENCE_ERROR_HANDLE_DISABLE : disable fence error handling in kernel
+ * @FENCE_ERROR_HANDLE_ENABLE : enable fence error handling in kernel
+ */
+enum fence_error_handle_flag {
+	FENCE_ERROR_HANDLE_DISABLE,
+	FENCE_ERROR_HANDLE_ENABLE,
+};
+
 /**
  * enum sde_crtc_idle_pc_state: states of idle power collapse
  * @IDLE_PC_NONE: no-op