All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Wilson <chris@chris-wilson.co.uk>
To: jbarnes@virtuousgeek.org
Cc: intel-gfx@lists.freedesktop.org
Subject: [PATCH 07/11] drm/i915/sdvo: Propagate error from switching control buses.
Date: Wed, 11 Aug 2010 10:31:32 +0100	[thread overview]
Message-ID: <1281519096-5152-8-git-send-email-chris@chris-wilson.co.uk> (raw)
In-Reply-To: <1281519096-5152-1-git-send-email-chris@chris-wilson.co.uk>

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_sdvo.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index 1f07ec6..2708631 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -525,8 +525,8 @@ static int intel_sdvo_get_pixel_multiplier(struct drm_display_mode *mode)
  * another I2C transaction after issuing the DDC bus switch, it will be
  * switched to the internal SDVO register.
  */
-static void intel_sdvo_set_control_bus_switch(struct intel_sdvo *intel_sdvo,
-					      u8 target)
+static int intel_sdvo_set_control_bus_switch(struct intel_sdvo *intel_sdvo,
+					     u8 target)
 {
 	u8 out_buf[2], cmd_buf[2], ret_value[2], ret;
 	struct i2c_msg msgs[] = {
@@ -567,14 +567,15 @@ static void intel_sdvo_set_control_bus_switch(struct intel_sdvo *intel_sdvo,
 	if (ret != 3) {
 		/* failure in I2C transfer */
 		DRM_DEBUG_KMS("I2c transfer returned %d\n", ret);
-		return;
+		return -EIO;
 	}
 	if (ret_value[0] != SDVO_CMD_STATUS_SUCCESS) {
 		DRM_DEBUG_KMS("DDC switch command returns response %d\n",
 					ret_value[0]);
-		return;
+		return -EIO;
 	}
-	return;
+
+	return 0;
 }
 
 static bool intel_sdvo_set_value(struct intel_sdvo *intel_sdvo, u8 cmd, const void *data, int len)
@@ -1987,6 +1988,7 @@ static int intel_sdvo_master_xfer(struct i2c_adapter *i2c_adap,
 	struct intel_sdvo *intel_sdvo;
 	struct i2c_algo_bit_data *algo_data;
 	const struct i2c_algorithm *algo;
+	int ret;
 
 	algo_data = (struct i2c_algo_bit_data *)i2c_adap->algo_data;
 	intel_sdvo =
@@ -1997,7 +1999,11 @@ static int intel_sdvo_master_xfer(struct i2c_adapter *i2c_adap,
 
 	algo = intel_sdvo->base.i2c_bus->algo;
 
-	intel_sdvo_set_control_bus_switch(intel_sdvo, intel_sdvo->ddc_bus);
+	ret = intel_sdvo_set_control_bus_switch(intel_sdvo,
+						intel_sdvo->ddc_bus);
+	if (ret)
+		return ret;
+
 	return algo->master_xfer(i2c_adap, msgs, num);
 }
 
-- 
1.7.1

  parent reply	other threads:[~2010-08-11  9:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-11  9:31 Remaining set of small patches for -rc1 Chris Wilson
2010-08-11  9:31 ` [PATCH 01/11] drm/i915: Avoid using msleep under kdb and wait_for() Chris Wilson
2010-08-11 15:20   ` Jesse Barnes
2010-08-11  9:31 ` [PATCH 02/11] drm/i915: Include a generation number in the device info Chris Wilson
2010-08-11 15:22   ` Jesse Barnes
2010-08-11  9:31 ` [PATCH 03/11] drm/i915: Fix offset page-flips on i965+ Chris Wilson
2010-08-11  9:31 ` [PATCH 04/11] drm/i915: Clear scanline waits after disabling the pipe Chris Wilson
2010-08-11 15:23   ` Jesse Barnes
2010-08-11 16:12     ` Chris Wilson
2010-08-11  9:31 ` [PATCH 05/11] drm/i915: Sanity check user framebuffer parameters on creation Chris Wilson
2010-08-11  9:31 ` [PATCH 06/11] drm/i915: Re-use set_base_atomic to share setting of the display registers Chris Wilson
2010-08-11 15:25   ` Jesse Barnes
2010-08-11  9:31 ` Chris Wilson [this message]
2010-08-11  9:31 ` [PATCH 08/11] drm/i915: Add RING_WAIT reset to hangcheck Chris Wilson
2010-08-22  6:19   ` Eric Anholt
2010-08-22  8:50     ` [PATCH] drm/i915: Add ringbuffer wait " Chris Wilson
2010-08-11  9:31 ` [PATCH 09/11] drm/i915/crt: Flush register prior to waiting for vblank Chris Wilson
2010-08-11  9:31 ` [PATCH 10/11] drm/i915/dp: Boost timeout for enabling transcoder to 100ms Chris Wilson
2010-08-11  9:31 ` [PATCH 11/11] drm/i915: Perform initial configuration asynchronously Chris Wilson
2010-08-11  9:46 ` Remaining set of small patches for -rc1 shadi
2010-08-11 15:21   ` Alan W. Irwin

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=1281519096-5152-8-git-send-email-chris@chris-wilson.co.uk \
    --to=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jbarnes@virtuousgeek.org \
    --subject='Re: [PATCH 07/11] drm/i915/sdvo: Propagate error from switching control buses.' \
    /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

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.