Просмотр исходного кода

Merge "disp: msm: sde: install retire fence offset property"

qctecmdr 4 лет назад
Родитель
Сommit
53ff8d853a
2 измененных файлов с 11 добавлено и 1 удалено
  1. 1 0
      msm/msm_drv.h
  2. 10 1
      msm/sde/sde_connector.c

+ 1 - 0
msm/msm_drv.h

@@ -202,6 +202,7 @@ enum msm_mdp_conn_property {
 	/* range properties */
 	CONNECTOR_PROP_OUT_FB = CONNECTOR_PROP_BLOBCOUNT,
 	CONNECTOR_PROP_RETIRE_FENCE,
+	CONN_PROP_RETIRE_FENCE_OFFSET,
 	CONNECTOR_PROP_DST_X,
 	CONNECTOR_PROP_DST_Y,
 	CONNECTOR_PROP_DST_W,

+ 10 - 1
msm/sde/sde_connector.c

@@ -1501,12 +1501,17 @@ static int sde_connector_atomic_set_property(struct drm_connector *connector,
 		 * requesting for the retire fence
 		 */
 		if (prev_user_fd == -1) {
+			uint32_t offset;
+
+			offset = sde_connector_get_property(state,
+					CONN_PROP_RETIRE_FENCE_OFFSET);
 			/*
 			 * update the offset to a timeline for
 			 * commit completion
 			 */
+			offset++;
 			rc = sde_fence_create(c_conn->retire_fence,
-						&fence_user_fd, 1);
+						&fence_user_fd, offset);
 			if (rc) {
 				SDE_ERROR("fence create failed rc:%d\n", rc);
 				goto end;
@@ -2797,6 +2802,10 @@ static int _sde_connector_install_properties(struct drm_device *dev,
 	msm_property_install_volatile_range(&c_conn->property_info,
 		"RETIRE_FENCE", 0x0, 0, ~0, 0, CONNECTOR_PROP_RETIRE_FENCE);
 
+	msm_property_install_volatile_range(&c_conn->property_info,
+		"RETIRE_FENCE_OFFSET", 0x0, 0, ~0, 0,
+		 CONN_PROP_RETIRE_FENCE_OFFSET);
+
 	msm_property_install_range(&c_conn->property_info, "autorefresh",
 			0x0, 0, AUTOREFRESH_MAX_FRAME_CNT, 0,
 			CONNECTOR_PROP_AUTOREFRESH);