summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vmwgfx
diff options
context:
space:
mode:
authorSinclair Yeh <syeh@vmware.com>2017-03-23 14:23:20 -0700
committerSinclair Yeh <syeh@vmware.com>2017-03-31 15:20:42 -0700
commitd947d1b71deb1efa0e7b2600f09e7fe7ea1e622b (patch)
tree8ea486066af71ae826f6fee717cb0f5fc3538bd8 /drivers/gpu/drm/vmwgfx
parent060e2ad57041b42ccecd0047ef4d893f200692c2 (diff)
downloadop-kernel-dev-d947d1b71deb1efa0e7b2600f09e7fe7ea1e622b.zip
op-kernel-dev-d947d1b71deb1efa0e7b2600f09e7fe7ea1e622b.tar.gz
drm/vmwgfx: Add and connect connector helper function
These helpers won't be called until we flip on the atomic support flag or set drm_crtc_funcs->set_config to using the atomic helper. v2 Use drm_atomic_helper_best_encoder() rather than a vmwgfx-specific one Signed-off-by: Sinclair Yeh <syeh@vmware.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Acked-by: Daniel Vetter <daniel@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx')
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c7
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c9
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c8
3 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
index 1d734de..1b9e083 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
@@ -389,6 +389,11 @@ static const struct drm_connector_funcs vmw_legacy_connector_funcs = {
.atomic_get_property = vmw_du_connector_atomic_get_property,
};
+static const struct
+drm_connector_helper_funcs vmw_ldu_connector_helper_funcs = {
+ .best_encoder = drm_atomic_helper_best_encoder,
+};
+
/*
* Legacy Display Plane Functions
*/
@@ -555,6 +560,8 @@ static int vmw_ldu_init(struct vmw_private *dev_priv, unsigned unit)
DRM_ERROR("Failed to initialize connector\n");
goto err_free;
}
+
+ drm_connector_helper_add(connector, &vmw_ldu_connector_helper_funcs);
connector->status = vmw_du_connector_detect(connector, true);
vmw_connector_state_to_vcs(connector->state)->is_implicit = true;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
index eca055e..536f4b5 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
@@ -608,6 +608,14 @@ static const struct drm_connector_funcs vmw_sou_connector_funcs = {
.atomic_get_property = vmw_du_connector_atomic_get_property,
};
+
+static const struct
+drm_connector_helper_funcs vmw_sou_connector_helper_funcs = {
+ .best_encoder = drm_atomic_helper_best_encoder,
+};
+
+
+
/*
* Screen Object Display Plane Functions
*/
@@ -827,6 +835,7 @@ static int vmw_sou_init(struct vmw_private *dev_priv, unsigned unit)
goto err_free;
}
+ drm_connector_helper_add(connector, &vmw_sou_connector_helper_funcs);
connector->status = vmw_du_connector_detect(connector, true);
vmw_connector_state_to_vcs(connector->state)->is_implicit = false;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
index cce5e5b..76ca5fa 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
@@ -1189,6 +1189,12 @@ static const struct drm_connector_funcs vmw_stdu_connector_funcs = {
};
+static const struct
+drm_connector_helper_funcs vmw_stdu_connector_helper_funcs = {
+ .best_encoder = drm_atomic_helper_best_encoder,
+};
+
+
/******************************************************************************
* Screen Target Display Plane Functions
@@ -1549,6 +1555,8 @@ static int vmw_stdu_init(struct vmw_private *dev_priv, unsigned unit)
DRM_ERROR("Failed to initialize connector\n");
goto err_free;
}
+
+ drm_connector_helper_add(connector, &vmw_stdu_connector_helper_funcs);
connector->status = vmw_du_connector_detect(connector, false);
vmw_connector_state_to_vcs(connector->state)->is_implicit = false;
OpenPOWER on IntegriCloud