public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
To: i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
Cc: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
Subject: [patch 4/8] I2C: S3C2410: Add a option of reducing the bus busy waiting time.
Date: Thu, 29 May 2008 14:22:48 +0100	[thread overview]
Message-ID: <20080529132406.586501777@fluff.org.uk> (raw)
In-Reply-To: 20080529132244.818543231@fluff.org.uk

[-- Attachment #1: simtec/simtec-drivers-i2c-s3c2410-singlemaster.patch --]
[-- Type: text/plain, Size: 2011 bytes --]

Add a single-master option to drasitcally reduce the time spent
waiting to check the bus is free and ready for another transfer.

Signed-off-by: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>

Index: linux-2.6.26-rc4-quilt2/drivers/i2c/busses/i2c-s3c2410.c
===================================================================
--- linux-2.6.26-rc4-quilt2.orig/drivers/i2c/busses/i2c-s3c2410.c	2008-05-28 12:27:38.000000000 +0100
+++ linux-2.6.26-rc4-quilt2/drivers/i2c/busses/i2c-s3c2410.c	2008-05-28 12:32:10.000000000 +0100
@@ -472,8 +472,15 @@ static irqreturn_t s3c24xx_i2c_irq(int i
 
 static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c)
 {
+	struct s3c2410_platform_i2c *pdata;
 	unsigned long iicstat;
-	int timeout = 400;
+	int timeout;
+
+	/* if we are a single master on this bus, reduce the delay awaiting
+	 * for bus traffic to a much lower value. */
+
+	pdata = s3c24xx_i2c_get_platformdata(i2c->dev);
+	timeout = (pdata->flags & S3C_IICFLG_SINGLE_MASTER) ? 10 : 400;
 
 	while (timeout-- > 0) {
 		iicstat = readl(i2c->regs + S3C2410_IICSTAT);
Index: linux-2.6.26-rc4-quilt2/include/asm-arm/plat-s3c/iic.h
===================================================================
--- linux-2.6.26-rc4-quilt2.orig/include/asm-arm/plat-s3c/iic.h	2008-05-28 12:28:00.000000000 +0100
+++ linux-2.6.26-rc4-quilt2/include/asm-arm/plat-s3c/iic.h	2008-05-28 12:32:10.000000000 +0100
@@ -13,7 +13,8 @@
 #ifndef __ASM_ARCH_IIC_H
 #define __ASM_ARCH_IIC_H __FILE__
 
-#define S3C_IICFLG_FILTER	(1<<0)	/* enable s3c2440 filter */
+#define S3C_IICFLG_FILTER	 (1<<0)	/* enable s3c2440 filter */
+#define S3C_IICFLG_SINGLE_MASTER (1<<1) /* s3c24xx is only bus master. */
 
 /* Notes:
  *	1) All frequencies are expressed in Hz

-- 
Ben (ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

  parent reply	other threads:[~2008-05-29 13:22 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-29 13:22 [patch 0/8] I2C fixes and -next from Ben Dooks Ben Dooks
2008-05-29 13:22 ` [patch 1/8] I2C: S3C2410: Check ACK on byte transmission Ben Dooks
     [not found]   ` <20080529132405.971048345-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-05-30 19:45     ` Jean Delvare
     [not found]       ` <20080530214540.638008b7-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-02 19:29         ` Ben Dooks
2008-05-29 13:22 ` [patch 2/8] I2C: S3C2410: Add MODULE_ALIAS() for s3c2440 device Ben Dooks
     [not found]   ` <20080529132406.186957190-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-05-30 19:54     ` Jean Delvare
     [not found]       ` <20080530215452.2ee3d4a7-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-01 21:51         ` Ben Dooks
     [not found]           ` <20080601215102.GJ7334-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-06-02  6:59             ` Jean Delvare
2008-05-29 13:22 ` [patch 3/8] I2C: S3C2410: Pass the I2C bus number via drivers platform data Ben Dooks
     [not found]   ` <20080529132406.387873305-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-06-01  7:07     ` Jean Delvare
     [not found]       ` <20080601090706.0e29a76d-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-01 21:53         ` Ben Dooks
     [not found]           ` <20080601215335.GK7334-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-06-02  6:38             ` Jean Delvare
2008-05-29 13:22 ` Ben Dooks [this message]
     [not found]   ` <20080529132406.586501777-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-06-01  7:16     ` [patch 4/8] I2C: S3C2410: Add a option of reducing the bus busy waiting time Jean Delvare
2008-05-29 13:22 ` [patch 5/8] OSIRIS: Add i2c device list to Simtec Osiris Ben Dooks
     [not found]   ` <20080529132406.837870894-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-06-01  7:21     ` Jean Delvare
     [not found]       ` <20080601092116.63c4808e-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-01 21:35         ` Ben Dooks
     [not found]           ` <20080601213509.GH7334-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-06-02  6:31             ` Jean Delvare
2008-05-29 13:22 ` [patch 6/8] BAST: Add i2c device list on Simtec Bast Ben Dooks
2008-05-29 13:22 ` [patch 7/8] VR1000: Add i2c device list to Thorcom VR1000 Ben Dooks
     [not found]   ` <20080529132407.211335410-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-06-01  7:32     ` Jean Delvare
     [not found]       ` <20080601093215.67a1ac41-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-06-01 21:38         ` Ben Dooks
     [not found]           ` <20080601213855.GI7334-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-06-02  6:35             ` Jean Delvare
2008-05-29 13:22 ` [patch 8/8] ANUBIS: Add i2c device list to Simtec Anubis Ben Dooks

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=20080529132406.586501777@fluff.org.uk \
    --to=ben-linux-elnmno+kys3ytjvyw6ydsg@public.gmane.org \
    --cc=i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.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