dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <jdelvare@suse.de>
To: dri-devel@lists.freedesktop.org
Subject: [PATCH 2/2] drm/kms: Use the standard VESA timeout for DDC channels
Date: Fri, 21 Oct 2011 09:10:12 +0200	[thread overview]
Message-ID: <201110210910.12848.jdelvare@suse.de> (raw)

The VESA specification suggests a 2.2 ms timeout on DDC channels.
Only the intel DRM driver implements this properly today, align all
drivers to the proper implementation.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Eugeni Dodonov <eugeni@dodonov.net>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Keith Packard <keithp@keithp.com>
Cc: Alex Deucher <alexdeucher@gmail.com>
---
 drivers/gpu/drm/i915/intel_i2c.c      |    2 +-
 drivers/gpu/drm/nouveau/nouveau_i2c.c |    2 +-
 drivers/gpu/drm/radeon/radeon_i2c.c   |    4 +---
 3 files changed, 3 insertions(+), 5 deletions(-)

--- linux-3.1-rc10.orig/drivers/gpu/drm/i915/intel_i2c.c	2011-10-20 14:59:11.000000000 +0200
+++ linux-3.1-rc10/drivers/gpu/drm/i915/intel_i2c.c	2011-10-20 15:24:33.000000000 +0200
@@ -183,7 +183,7 @@ intel_gpio_create(struct drm_i915_privat
 	gpio->algo.getsda = get_data;
 	gpio->algo.getscl = get_clock;
 	gpio->algo.udelay = I2C_RISEFALL_TIME;
-	gpio->algo.timeout = usecs_to_jiffies(2200);
+	gpio->algo.timeout = usecs_to_jiffies(2200);	/* from VESA */
 	gpio->algo.data = gpio;
 
 	if (i2c_bit_add_bus(&gpio->adapter))
--- linux-3.1-rc10.orig/drivers/gpu/drm/nouveau/nouveau_i2c.c	2011-10-20 15:14:36.000000000 +0200
+++ linux-3.1-rc10/drivers/gpu/drm/nouveau/nouveau_i2c.c	2011-10-20 15:24:37.000000000 +0200
@@ -218,7 +218,7 @@ nouveau_i2c_init(struct drm_device *dev,
 	if (entry->port_type < 6) {
 		i2c->adapter.algo_data = &i2c->bit;
 		i2c->bit.udelay = 10;
-		i2c->bit.timeout = usecs_to_jiffies(5000);
+		i2c->bit.timeout = usecs_to_jiffies(2200);	/* from VESA */
 		i2c->bit.data = i2c;
 		ret = i2c_bit_add_bus(&i2c->adapter);
 	} else {
--- linux-3.1-rc10.orig/drivers/gpu/drm/radeon/radeon_i2c.c	2011-10-20 14:58:17.000000000 +0200
+++ linux-3.1-rc10/drivers/gpu/drm/radeon/radeon_i2c.c	2011-10-20 15:24:41.000000000 +0200
@@ -929,9 +929,7 @@ struct radeon_i2c_chan *radeon_i2c_creat
 		i2c->algo.bit.getsda = get_data;
 		i2c->algo.bit.getscl = get_clock;
 		i2c->algo.bit.udelay = 10;
-		/* vesa says 2.2 ms is enough, 1 jiffy doesn't seem to always
-		 * make this, 2 jiffies is a lot more reliable */
-		i2c->algo.bit.timeout = 2;
+		i2c->algo.bit.timeout = usecs_to_jiffies(2200);	/* from VESA */
 		i2c->algo.bit.data = i2c;
 		ret = i2c_bit_add_bus(&i2c->adapter);
 		if (ret) {

-- 
Jean Delvare
Suse L3

             reply	other threads:[~2011-10-21  7:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-21  7:10 Jean Delvare [this message]
2011-11-23 21:24 ` [PATCH 2/2] drm/kms: Use the standard VESA timeout for DDC channels Keith Packard

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=201110210910.12848.jdelvare@suse.de \
    --to=jdelvare@suse.de \
    --cc=dri-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox