disp: msm: sde: install retire fence offset property

Add changes to install retire fence offset property
and this configurable offset property can be used
to create speculative retire fences.

Change-Id: I0b5bf9bab5bfb811ddbc7a3e8813a3e801272d41
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
这个提交包含在:
Jayaprakash Madisetty
2021-01-27 16:04:36 +05:30
父节点 f9ff8af5b6
当前提交 1b460b9200
修改 2 个文件,包含 11 行新增1 行删除

查看文件

@@ -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,

查看文件

@@ -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);