All of lore.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH v2 7/8] drm/i915/lspcon: Get DDC adapter via container_of() instead of cached ptr
Date: Mon, 24 Oct 2016 19:33:30 +0300	[thread overview]
Message-ID: <1477326811-30431-8-git-send-email-imre.deak@intel.com> (raw)
In-Reply-To: <1477326811-30431-1-git-send-email-imre.deak@intel.com>

We can use the container_of() magic to get to the DDC adapter, so no
need for caching a pointer to it. We'll also need to get at the intel_dp
ptr in the following patch, so add a helper that can be used for both
purposes.

Cc: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_drv.h    |  1 -
 drivers/gpu/drm/i915/intel_lspcon.c | 15 +++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index a79cbad..45f55b5 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -974,7 +974,6 @@ struct intel_dp {
 struct intel_lspcon {
 	bool active;
 	enum drm_lspcon_mode mode;
-	struct drm_dp_aux *aux;
 };
 
 struct intel_digital_port {
diff --git a/drivers/gpu/drm/i915/intel_lspcon.c b/drivers/gpu/drm/i915/intel_lspcon.c
index c5f278b..3dc5a0b 100644
--- a/drivers/gpu/drm/i915/intel_lspcon.c
+++ b/drivers/gpu/drm/i915/intel_lspcon.c
@@ -27,10 +27,18 @@
 #include <drm/drm_dp_dual_mode_helper.h>
 #include "intel_drv.h"
 
+static struct intel_dp *lspcon_to_intel_dp(struct intel_lspcon *lspcon)
+{
+	struct intel_digital_port *dig_port =
+		container_of(lspcon, struct intel_digital_port, lspcon);
+
+	return &dig_port->dp;
+}
+
 static enum drm_lspcon_mode lspcon_get_current_mode(struct intel_lspcon *lspcon)
 {
 	enum drm_lspcon_mode current_mode = DRM_LSPCON_MODE_INVALID;
-	struct i2c_adapter *adapter = &lspcon->aux->ddc;
+	struct i2c_adapter *adapter = &lspcon_to_intel_dp(lspcon)->aux.ddc;
 
 	if (drm_lspcon_get_mode(adapter, &current_mode))
 		DRM_ERROR("Error reading LSPCON mode\n");
@@ -45,7 +53,7 @@ static int lspcon_change_mode(struct intel_lspcon *lspcon,
 {
 	int err;
 	enum drm_lspcon_mode current_mode;
-	struct i2c_adapter *adapter = &lspcon->aux->ddc;
+	struct i2c_adapter *adapter = &lspcon_to_intel_dp(lspcon)->aux.ddc;
 
 	err = drm_lspcon_get_mode(adapter, &current_mode);
 	if (err) {
@@ -72,7 +80,7 @@ static int lspcon_change_mode(struct intel_lspcon *lspcon,
 static bool lspcon_probe(struct intel_lspcon *lspcon)
 {
 	enum drm_dp_dual_mode_type adaptor_type;
-	struct i2c_adapter *adapter = &lspcon->aux->ddc;
+	struct i2c_adapter *adapter = &lspcon_to_intel_dp(lspcon)->aux.ddc;
 
 	/* Lets probe the adaptor and check its type */
 	adaptor_type = drm_dp_dual_mode_detect(adapter);
@@ -111,7 +119,6 @@ bool lspcon_init(struct intel_digital_port *intel_dig_port)
 
 	lspcon->active = false;
 	lspcon->mode = DRM_LSPCON_MODE_INVALID;
-	lspcon->aux = &dp->aux;
 
 	if (!lspcon_probe(lspcon)) {
 		DRM_ERROR("Failed to probe lspcon\n");
-- 
2.5.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2016-10-24 16:34 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-24 16:33 [PATCH v2 0/8] drm/i915/lspcon: Work around resume failure Imre Deak
2016-10-24 16:33 ` [PATCH v2 1/8] drm/dp: Factor out helper to distinguish between branch and sink devices Imre Deak
2016-10-24 17:10   ` Jani Nikula
2016-10-25  6:54     ` [Intel-gfx] " Daniel Vetter
2016-10-25  7:46       ` Jani Nikula
2016-10-25  8:12         ` Daniel Vetter
2016-10-24 16:33 ` [PATCH v2 2/8] drm/i915/dp: Remove debug dependency of DPCD SW/HW revision read Imre Deak
2016-10-24 17:11   ` Jani Nikula
2016-10-24 16:33 ` [PATCH v2 3/8] drm/i915/dp: Print only sink or branch specific OUI based on dev type Imre Deak
2016-10-24 17:12   ` Jani Nikula
2016-10-24 16:33 ` [PATCH v2 4/8] drm/i915/dp: Print full branch/sink descriptor Imre Deak
2016-10-24 18:14   ` Jani Nikula
2016-10-24 18:56     ` Imre Deak
2016-10-24 19:10       ` Jani Nikula
2016-10-24 19:35         ` Imre Deak
2016-10-25  9:28           ` Jani Nikula
2016-10-25 10:38             ` Imre Deak
2016-10-25 10:55               ` Jani Nikula
2016-10-25 13:12   ` [PATCH v3 " Imre Deak
2016-10-25 15:07     ` Jani Nikula
2016-10-24 16:33 ` [PATCH v2 5/8] drm/i915/lspcon: Fail LSPCON probe if the start of DPCD can't be read Imre Deak
2016-10-24 18:48   ` Jani Nikula
2016-10-24 16:33 ` [PATCH v2 6/8] drm/i915/dp: Read DP descriptor for eDP and LSPCON too Imre Deak
2016-10-24 18:49   ` Jani Nikula
2016-10-24 16:33 ` Imre Deak [this message]
2016-10-24 18:53   ` [PATCH v2 7/8] drm/i915/lspcon: Get DDC adapter via container_of() instead of cached ptr Jani Nikula
2016-10-24 16:33 ` [PATCH v2 8/8] drm/i915/lspcon: Add workaround for resuming in PCON mode Imre Deak
2016-10-25 15:12   ` Jani Nikula
2016-10-24 17:16 ` ✗ Fi.CI.BAT: warning for drm/i915/lspcon: Work around resume failure Patchwork
2016-10-24 17:25   ` Imre Deak
2016-10-24 18:58     ` Jani Nikula
2016-10-24 19:05       ` Imre Deak
2016-10-25  5:47     ` Saarinen, Jani
2016-10-25  5:46   ` Saarinen, Jani
2016-10-25 14:46 ` ✗ Fi.CI.BAT: warning for drm/i915/lspcon: Work around resume failure (rev2) Patchwork
2016-10-26 15:53   ` Imre Deak

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=1477326811-30431-8-git-send-email-imre.deak@intel.com \
    --to=imre.deak@intel.com \
    --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.