All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Airlie <airlied@gmail.com>
To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Subject: [PATCH 05/10] drm: add a path blob property
Date: Mon, 12 May 2014 16:46:42 +1000	[thread overview]
Message-ID: <1399877207-15868-6-git-send-email-airlied@gmail.com> (raw)
In-Reply-To: <1399877207-15868-1-git-send-email-airlied@gmail.com>

From: Dave Airlie <airlied@redhat.com>

This property will be used by the MST code to provide userspace
with a path to parse so it can recognise connectors around hotplugs.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/drm_crtc.c | 26 ++++++++++++++++++++++++++
 include/drm/drm_crtc.h     |  5 +++++
 2 files changed, 31 insertions(+)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 8bf87a6..06b9255 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1165,6 +1165,7 @@ static int drm_mode_create_standard_connector_properties(struct drm_device *dev)
 {
 	struct drm_property *edid;
 	struct drm_property *dpms;
+	struct drm_property *dev_path;
 
 	/*
 	 * Standard properties (apply to all connectors)
@@ -1179,6 +1180,12 @@ static int drm_mode_create_standard_connector_properties(struct drm_device *dev)
 				   ARRAY_SIZE(drm_dpms_enum_list));
 	dev->mode_config.dpms_property = dpms;
 
+	dev_path = drm_property_create(dev,
+				       DRM_MODE_PROP_BLOB |
+				       DRM_MODE_PROP_IMMUTABLE,
+				       "PATH", 0);
+	dev->mode_config.path_property = dev_path;
+
 	return 0;
 }
 
@@ -3637,6 +3644,25 @@ done:
 	return ret;
 }
 
+int drm_mode_connector_set_path_property(struct drm_connector *connector,
+					 char *path)
+{
+	struct drm_device *dev = connector->dev;
+	int ret, size;
+	size = strlen(path) + 1;
+
+	connector->path_blob_ptr = drm_property_create_blob(connector->dev,
+							    size, path);
+	if (!connector->path_blob_ptr)
+		return -EINVAL;
+
+	ret = drm_object_property_set_value(&connector->base,
+					    dev->mode_config.path_property,
+					    connector->path_blob_ptr->base.id);
+	return ret;
+}
+EXPORT_SYMBOL(drm_mode_connector_set_path_property);
+
 /**
  * drm_mode_connector_update_edid_property - update the edid property of a connector
  * @connector: drm connector
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 55bc523..e33959b 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -500,6 +500,8 @@ struct drm_connector {
 	struct drm_property_blob *edid_blob_ptr;
 	struct drm_object_properties properties;
 
+	struct drm_property_blob *path_blob_ptr;
+
 	uint8_t polled; /* DRM_CONNECTOR_POLL_* */
 
 	/* requested DPMS state */
@@ -774,6 +776,7 @@ struct drm_mode_config {
 	struct list_head property_blob_list;
 	struct drm_property *edid_property;
 	struct drm_property *dpms_property;
+	struct drm_property *path_property;
 	struct drm_property *plane_type_property;
 
 	/* DVI-I properties */
@@ -926,6 +929,8 @@ extern void drm_mode_config_init(struct drm_device *dev);
 extern void drm_mode_config_reset(struct drm_device *dev);
 extern void drm_mode_config_cleanup(struct drm_device *dev);
 
+extern int drm_mode_connector_set_path_property(struct drm_connector *connector,
+						char *path);
 extern int drm_mode_connector_update_edid_property(struct drm_connector *connector,
 						struct edid *edid);
 extern int drm_object_property_set_value(struct drm_mode_object *obj,
-- 
1.9.0

  parent reply	other threads:[~2014-05-12  6:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-12  6:46 [RFC] DisplayPort MST v0.3 Dave Airlie
2014-05-12  6:46 ` [PATCH 01/10] drm/dp_helper: add defines for DP 1.2 and MST support Dave Airlie
2014-05-13  8:51   ` Jingoo Han
2014-05-12  6:46 ` [PATCH 02/10] drm: add DP MST encoder type Dave Airlie
2014-05-12  6:46 ` [PATCH 03/10] drm/i915: add some registers need for displayport MST support Dave Airlie
2014-05-12  6:46 ` [PATCH 04/10] drm/crtc: add interface to reinitialise the legacy mode group Dave Airlie
2014-05-13  8:26   ` Thierry Reding
2014-05-13 10:15     ` Daniel Vetter
2014-05-12  6:46 ` Dave Airlie [this message]
2014-05-13  8:25   ` [PATCH 05/10] drm: add a path blob property Thierry Reding
2014-05-12  6:46 ` [PATCH 06/10] drm/helper: add Displayport multi-stream helper (v0.3) Dave Airlie
2014-05-12  6:46 ` [PATCH 07/10] i915: split some DP modesetting code into a separate function Dave Airlie
2014-05-12  6:46 ` [PATCH 08/10] drm/i915: check connector->encoder before using it Dave Airlie
2014-05-12  6:46 ` [PATCH 09/10] i915: add DP 1.2 MST support (v0.3) Dave Airlie
2014-05-13  7:18   ` David Herrmann
2014-05-14  0:03     ` Dave Airlie
2014-05-14  6:05       ` David Herrmann
2014-05-14  8:23         ` Daniel Vetter
2014-05-12  6:46 ` [PATCH 10/10] i915: mst topology dumper in debugfs Dave Airlie
2014-05-13  8:33   ` Thierry Reding
2014-05-13 10:18     ` Daniel Vetter
2014-05-13 10:40       ` Thierry Reding
2014-05-12  8:25 ` [RFC] DisplayPort MST v0.3 Dave Airlie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1399877207-15868-6-git-send-email-airlied@gmail.com \
    --to=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.