Re: [PATCH 0/8] I2C patches for v3.8 merge window

2012-11-14 Thread Wolfram Sang

  here's another series for OMAP I2C driver. There are a few cleanups
  and one very nice new feature: we can now report how many bytes
  we transferred until NACK.
 
  Note that the implemementation for OMAP-I2C turned out to be a
  little more complex then I expected, mainly because of the way
  I2C_CNT register behaves and because of the very buggy register
  usage on that driver.
 
  I have boot tested all patches on beagle xM (3630) and pandaboard
  rev A3 (4430), will send boot-logs if anyone wants to see.

The series is a bit confusing mixing V1, V2 and V3 patches. Also, there
are a few comments unaddressed it seems to me (reading in hot path,
barriers). Please make sure these are properly handled and resend as a
seperate series (all patches V4). Bonus point if you rebase it to my
for-next, which I will push out soon.

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature


Re: [PATCH 0/8] I2C patches for v3.8 merge window

2012-10-22 Thread Felipe Balbi
Hi,

On Mon, Oct 22, 2012 at 12:46:50PM +0300, Felipe Balbi wrote:
 Hi guys,
 
 here's another series for OMAP I2C driver. There are a few cleanups
 and one very nice new feature: we can now report how many bytes
 we transferred until NACK.
 
 Note that the implemementation for OMAP-I2C turned out to be a
 little more complex then I expected, mainly because of the way
 I2C_CNT register behaves and because of the very buggy register
 usage on that driver.
 
 I have boot tested all patches on beagle xM (3630) and pandaboard
 rev A3 (4430), will send boot-logs if anyone wants to see.
 
 All patches are available at [1] if anyone wants an easy way to
 test the patches.
 
 [1] git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
 i2c-transferred-bytes-on-NACK

forgot to mention, with [1] I could veridy suspend to ram with boards
mentioned above.

[1] http://marc.info/?l=linux-arm-kernelm=135090724817604w=2

 Felipe Balbi (7):
   i2c: omap: no need to access platform_device
   i2c: omap: reorder exit path of omap_i2c_xfer_msg()
   i2c: omap: fix error checking
   i2c: omap: also complete() when stat becomes zero
   i2c: omap: introduce and use OMAP_I2C_IP_VERSION_3
   i2c: omap: wait for transfer completion before sending STP bit
   i2c: omap: implement handling for 'transferred' bytes
 
 Shubhrajyoti D (1):
   i2c: add 'transferred' field to struct i2c_msg
 
  arch/arm/mach-omap2/i2c.c  |   3 +-
  arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   2 +-
  drivers/i2c/busses/i2c-omap.c  | 156 
 -
  include/linux/i2c-omap.h   |   1 +
  include/uapi/linux/i2c.h   |   1 +
  5 files changed, 89 insertions(+), 74 deletions(-)
 
 -- 
 1.8.0.rc0
 

-- 
balbi


signature.asc
Description: Digital signature


Re: [PATCH 0/8] I2C patches for v3.8 merge window

2012-10-22 Thread Shubhrajyoti Datta
On Mon, Oct 22, 2012 at 7:00 PM, Felipe Balbi ba...@ti.com wrote:
 Hi,

 On Mon, Oct 22, 2012 at 12:46:50PM +0300, Felipe Balbi wrote:
 Hi guys,

 here's another series for OMAP I2C driver. There are a few cleanups
 and one very nice new feature: we can now report how many bytes
 we transferred until NACK.

 Note that the implemementation for OMAP-I2C turned out to be a
 little more complex then I expected, mainly because of the way
 I2C_CNT register behaves and because of the very buggy register
 usage on that driver.

 I have boot tested all patches on beagle xM (3630) and pandaboard
 rev A3 (4430), will send boot-logs if anyone wants to see.

tested the below branch on omap4430sdp , panda , omap3430sdp.

Doing simple i2ctools
.

Tested-by : Shubhrajyoti D shubhrajy...@ti.com


 All patches are available at [1] if anyone wants an easy way to
 test the patches.

 [1] git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
 i2c-transferred-bytes-on-NACK

 forgot to mention, with [1] I could veridy suspend to ram with boards
 mentioned above.

 [1] http://marc.info/?l=linux-arm-kernelm=135090724817604w=2

 Felipe Balbi (7):
   i2c: omap: no need to access platform_device
   i2c: omap: reorder exit path of omap_i2c_xfer_msg()
   i2c: omap: fix error checking
   i2c: omap: also complete() when stat becomes zero
   i2c: omap: introduce and use OMAP_I2C_IP_VERSION_3
   i2c: omap: wait for transfer completion before sending STP bit
   i2c: omap: implement handling for 'transferred' bytes

 Shubhrajyoti D (1):
   i2c: add 'transferred' field to struct i2c_msg

  arch/arm/mach-omap2/i2c.c  |   3 +-
  arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   2 +-
  drivers/i2c/busses/i2c-omap.c  | 156 
 -
  include/linux/i2c-omap.h   |   1 +
  include/uapi/linux/i2c.h   |   1 +
  5 files changed, 89 insertions(+), 74 deletions(-)

 --
 1.8.0.rc0


 --
 balbi
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/8] I2C patches for v3.8 merge window

2012-10-22 Thread Felipe Balbi
Hi,

On Mon, Oct 22, 2012 at 07:36:31PM +0530, Shubhrajyoti Datta wrote:
 On Mon, Oct 22, 2012 at 7:00 PM, Felipe Balbi ba...@ti.com wrote:
  Hi,
 
  On Mon, Oct 22, 2012 at 12:46:50PM +0300, Felipe Balbi wrote:
  Hi guys,
 
  here's another series for OMAP I2C driver. There are a few cleanups
  and one very nice new feature: we can now report how many bytes
  we transferred until NACK.
 
  Note that the implemementation for OMAP-I2C turned out to be a
  little more complex then I expected, mainly because of the way
  I2C_CNT register behaves and because of the very buggy register
  usage on that driver.
 
  I have boot tested all patches on beagle xM (3630) and pandaboard
  rev A3 (4430), will send boot-logs if anyone wants to see.
 
 tested the below branch on omap4430sdp , panda , omap3430sdp.
 
 Doing simple i2ctools
 .
 
 Tested-by : Shubhrajyoti D shubhrajy...@ti.com
 

can you also check if echo mem  /sys/power/state works ? Don't forget
to enable UART wakeups with:

echo enabled  /sys/devices/platform/omap_uart.2/power/wakeup
echo enabled  /sys/devices/platform/omap_uart.2/tty/ttyO2/power/wakeup

before trying to suspend. Another cool test is rtctest (since our RTC is
part of TWL). It worked fine on my two platforms. Attached you will find
the sourcecode for rtctest.

  All patches are available at [1] if anyone wants an easy way to
  test the patches.
 
  [1] git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
  i2c-transferred-bytes-on-NACK
 
  forgot to mention, with [1] I could veridy suspend to ram with boards
  mentioned above.
 
  [1] http://marc.info/?l=linux-arm-kernelm=135090724817604w=2
 
  Felipe Balbi (7):
i2c: omap: no need to access platform_device
i2c: omap: reorder exit path of omap_i2c_xfer_msg()
i2c: omap: fix error checking
i2c: omap: also complete() when stat becomes zero
i2c: omap: introduce and use OMAP_I2C_IP_VERSION_3
i2c: omap: wait for transfer completion before sending STP bit
i2c: omap: implement handling for 'transferred' bytes
 
  Shubhrajyoti D (1):
i2c: add 'transferred' field to struct i2c_msg
 
   arch/arm/mach-omap2/i2c.c  |   3 +-
   arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   2 +-
   drivers/i2c/busses/i2c-omap.c  | 156 
  -
   include/linux/i2c-omap.h   |   1 +
   include/uapi/linux/i2c.h   |   1 +
   5 files changed, 89 insertions(+), 74 deletions(-)
 
  --
  1.8.0.rc0
 
 
  --
  balbi

-- 
balbi
/*
 *  Real Time Clock Driver Test/Example Program
 *
 *  Compile with:
 *		 gcc -s -Wall -Wstrict-prototypes rtctest.c -o rtctest
 *
 *  Copyright (C) 1996, Paul Gortmaker.
 *
 *  Released under the GNU General Public License, version 2,
 *  included herein by reference.
 *
 */

#include stdio.h
#include linux/rtc.h
#include sys/ioctl.h
#include sys/time.h
#include sys/types.h
#include fcntl.h
#include unistd.h
#include stdlib.h
#include errno.h


/*
 * This expects the new RTC class driver framework, working with
 * clocks that will often not be clones of what the PC-AT had.
 * Use the command line to specify another RTC if you need one.
 */
static const char default_rtc[] = /dev/rtc0;


int main(int argc, char **argv)
{
	int i, fd, retval, irqcount = 0;
	unsigned long tmp, data;
	struct rtc_time rtc_tm;
	const char *rtc = default_rtc;

	switch (argc) {
	case 2:
		rtc = argv[1];
		/* FALLTHROUGH */
	case 1:
		break;
	default:
		fprintf(stderr, usage:  rtctest [rtcdev]\n);
		return 1;
	}

	fd = open(rtc, O_RDONLY);

	if (fd ==  -1) {
		perror(rtc);
		exit(errno);
	}

	fprintf(stderr, \n\t\t\tRTC Driver Test Example.\n\n);

	/* Turn on update interrupts (one per second) */
	retval = ioctl(fd, RTC_UIE_ON, 0);
	if (retval == -1) {
		if (errno == ENOTTY) {
			fprintf(stderr,
\n...Update IRQs not supported.\n);
			goto test_READ;
		}
		perror(RTC_UIE_ON ioctl);
		exit(errno);
	}

	fprintf(stderr, Counting 5 update (1/sec) interrupts from reading %s:,
			rtc);
	fflush(stderr);
	for (i=1; i6; i++) {
		/* This read will block */
		retval = read(fd, data, sizeof(unsigned long));
		if (retval == -1) {
			perror(read);
			exit(errno);
		}
		fprintf(stderr,  %d,i);
		fflush(stderr);
		irqcount++;
	}

	fprintf(stderr, \nAgain, from using select(2) on /dev/rtc:);
	fflush(stderr);
	for (i=1; i6; i++) {
		struct timeval tv = {5, 0}; /* 5 second timeout on select */
		fd_set readfds;

		FD_ZERO(readfds);
		FD_SET(fd, readfds);
		/* The select will wait until an RTC interrupt happens. */
		retval = select(fd+1, readfds, NULL, NULL, tv);
		if (retval == -1) {
		perror(select);
		exit(errno);
		}
		/* This read won't block unlike the select-less case above. */
		retval = read(fd, data, sizeof(unsigned long));
		if (retval == -1) {
		perror(read);
		exit(errno);
		}
		fprintf(stderr,  %d,i);
		fflush(stderr);
		irqcount++;
	}

	/* Turn off update interrupts */
	retval = ioctl(fd, RTC_UIE_OFF, 

Re: [PATCH 0/8] I2C patches for v3.8 merge window

2012-10-22 Thread Shubhrajyoti
On Monday 22 October 2012 07:36 PM, Felipe Balbi wrote:
 can you also check if echo mem  /sys/power/state works ? Don't forget
 to enable UART wakeups with:

 echo enabled  /sys/devices/platform/omap_uart.2/power/wakeup
 echo enabled  /sys/devices/platform/omap_uart.2/tty/ttyO2/power/wakeup

 before trying to suspend. Another cool test is rtctest (since our RTC is
 part of TWL). It worked fine on my two platforms. Attached you will find
 the sourcecode for rtctest.
On omap3 tested . with off hitting both in suspend and idle path.


Also with rtcwake.

Thanks

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html