All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <khali@linux-fr.org>
To: Wolfram Sang <w.sang@pengutronix.de>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Laxman Dewangan <ldewangan@nvidia.com>,
	ben-linux@fluff.org, swarren@wwwdotorg.org, olof@lixom.net,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH V1 2/2] i2c: tegra: support for I2C_M_NOSTART protocol  mangling
Date: Tue, 24 Apr 2012 15:07:50 +0200	[thread overview]
Message-ID: <20120424150750.36f8c2fc@endymion.delvare> (raw)
In-Reply-To: <20120424130118.GD4030@pengutronix.de>

On Tue, 24 Apr 2012 15:01:18 +0200, Wolfram Sang wrote:
> > > * We should allocate a new functionality flag for it.
> > > * We should update the documentation to reflect the two use cases.
> > 
> > That sounds like a good plan.  I'll try to get round to it if nobody
> > beats me to it.
> 
> Would it make sense to make all four I2C_M_* mangling features seperate
> I2C_FUNC_* options? The old I2C_FUNC_PROTOCOL_MANGLING could then be all
> four (seperately) exposed mangling features ORed. That's what I was
> wondering when looking at the patch.

The problem is that the functionality is stored in a 32-bit integer,
and we already use 17 bits in it, so every use of extra bits must be
pondered. OK, we have 15 free at the moment, but we could need some in
the future for new SMBus-style transactions, for example multi-byte
addressed block reads and writes.

I think the assumption was that mangling requires full control of the
bus lines, so a driver would either support all quirks (i2c-algo-bit)
or none (everybody else), thus having a single functionality flag. As
it seems I2C_M_NOSTART no longer fits the "quirky" category, having a
separate flag for it would make sense. But I would leave the rest alone
for the time being.

-- 
Jean Delvare

WARNING: multiple messages have this Message-ID (diff)
From: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
To: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Laxman Dewangan
	<ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
	swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org,
	olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH V1 2/2] i2c: tegra: support for I2C_M_NOSTART protocol mangling
Date: Tue, 24 Apr 2012 15:07:50 +0200	[thread overview]
Message-ID: <20120424150750.36f8c2fc@endymion.delvare> (raw)
In-Reply-To: <20120424130118.GD4030-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

On Tue, 24 Apr 2012 15:01:18 +0200, Wolfram Sang wrote:
> > > * We should allocate a new functionality flag for it.
> > > * We should update the documentation to reflect the two use cases.
> > 
> > That sounds like a good plan.  I'll try to get round to it if nobody
> > beats me to it.
> 
> Would it make sense to make all four I2C_M_* mangling features seperate
> I2C_FUNC_* options? The old I2C_FUNC_PROTOCOL_MANGLING could then be all
> four (seperately) exposed mangling features ORed. That's what I was
> wondering when looking at the patch.

The problem is that the functionality is stored in a 32-bit integer,
and we already use 17 bits in it, so every use of extra bits must be
pondered. OK, we have 15 free at the moment, but we could need some in
the future for new SMBus-style transactions, for example multi-byte
addressed block reads and writes.

I think the assumption was that mangling requires full control of the
bus lines, so a driver would either support all quirks (i2c-algo-bit)
or none (everybody else), thus having a single functionality flag. As
it seems I2C_M_NOSTART no longer fits the "quirky" category, having a
separate flag for it would make sense. But I would leave the rest alone
for the time being.

-- 
Jean Delvare

  reply	other threads:[~2012-04-24 13:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  7:19 [PATCH V1 0/2] i2c: tegra: 10 bit and M_NOSTART support Laxman Dewangan
2012-04-24  7:19 ` Laxman Dewangan
2012-04-24  7:19 ` [PATCH V1 1/2] i2c: tegra: fix 10bit address configuration Laxman Dewangan
2012-04-24  8:58   ` Jean Delvare
2012-04-24  8:58     ` Jean Delvare
2012-05-03  6:13     ` Laxman Dewangan
2012-05-03  6:13       ` Laxman Dewangan
2012-05-03  8:18       ` Wolfram Sang
2012-05-03  8:18         ` Wolfram Sang
2012-05-03  8:20         ` Laxman Dewangan
2012-05-03  8:20           ` Laxman Dewangan
2012-04-24  7:19 ` [PATCH V1 2/2] i2c: tegra: support for I2C_M_NOSTART protocol mangling Laxman Dewangan
2012-04-24  7:19   ` Laxman Dewangan
2012-04-24  8:55   ` Jean Delvare
2012-04-24  8:55     ` Jean Delvare
2012-04-24  9:21     ` Laxman Dewangan
2012-04-24  9:21       ` Laxman Dewangan
2012-04-24 11:38       ` Mark Brown
2012-04-24 11:38         ` Mark Brown
2012-04-24 12:32       ` Jean Delvare
2012-04-24 12:32         ` Jean Delvare
2012-04-24 12:40         ` Mark Brown
2012-04-24 12:40           ` Mark Brown
2012-04-24 13:01           ` Wolfram Sang
2012-04-24 13:01             ` Wolfram Sang
2012-04-24 13:07             ` Jean Delvare [this message]
2012-04-24 13:07               ` Jean Delvare
2012-04-24 13:28               ` Wolfram Sang
2012-04-24 13:28                 ` Wolfram Sang
2012-05-10 11:24   ` Laxman Dewangan
2012-05-10 11:24     ` Laxman Dewangan
2012-05-10 11:54     ` Jean Delvare
2012-05-10 11:54       ` Jean Delvare
2012-05-10 12:20       ` Laxman Dewangan
2012-05-10 12:20         ` Laxman Dewangan

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=20120424150750.36f8c2fc@endymion.delvare \
    --to=khali@linux-fr.org \
    --cc=ben-linux@fluff.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=ldewangan@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=swarren@wwwdotorg.org \
    --cc=w.sang@pengutronix.de \
    /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.