All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Tharunkumar.Pasumarthi@microchip.com
Cc: jsd@semihalf.com, wsa@kernel.org, krzk@kernel.org,
	sven@svenpeter.dev, linux-kernel@vger.kernel.org,
	semen.protsenko@linaro.org, robh@kernel.org, olof@lixom.net,
	UNGLinuxDriver@microchip.com, jarkko.nikula@linux.intel.com,
	arnd@arndb.de, linux-i2c@vger.kernel.org, rafal@milecki.pl
Subject: Re: [PATCH RFC i2c-master] i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch
Date: Thu, 25 Aug 2022 17:22:46 +0300	[thread overview]
Message-ID: <YweFttaSE2GOoW83@smile.fi.intel.com> (raw)
In-Reply-To: <787644272b3b260980ff8b9efc317ce3194b0acc.camel@microchip.com>

On Thu, Aug 25, 2022 at 01:15:42PM +0000, Tharunkumar.Pasumarthi@microchip.com wrote:
> On Wed, 2022-08-24 at 21:31 +0300, Andy Shevchenko wrote:
> > On Wed, Aug 24, 2022 at 6:04 PM <Tharunkumar.Pasumarthi@microchip.com> wrote:
> > > On Tue, 2022-08-23 at 18:05 +0300, Andy Shevchenko wrote:
> > > > On Tue, Aug 23, 2022 at 08:26:03PM +0530, Tharun Kumar P wrote:

...

> > > > > +#define SMB_IDLE_SCALING_100KHZ              0x03E803C9
> > > > > +#define SMB_IDLE_SCALING_400KHZ              0x01F4009D
> > > > > +#define SMB_IDLE_SCALING_1000KHZ     0x01F4009D
> > > > 
> > > > Shouldn't these magics be decimals?
> > 
> > This Q seems unanswered.
> 
> These magic numbers need not be decimals. Configuring registers with these
> values in driver will set the time in device. However, these values do not
> convey any meaning when represented in decimals.

Hmm... Maybe you don't see this, but I see the following:

0x03E803C9 = 65536 (i.e. 2^16) * 1000 + 969
0x01F4009D = 32768 (i.e. 2^15) * 1000 + 157

Pretty much sounds like a bit 15 for standard mode and bit 16 for fast modes
shifted by 1000 to have a room for the time in presumably nanoseconds up to 1
us.

Please, dig up into the documentation, vendor chat, etc to get more information
on these values.

> > > > Ditto for the rest similar stuff.
> > > 
> > > There is no direct correlation between the hex value and time. Configuring
> > > registers with these values in driver will set the time in device.

...

> > > > > +#define I2C_DIR_WRITE                0
> > > > > +#define I2C_DIR_READ         1
> > 
> > https://elixir.bootlin.com/linux/v6.0-rc2/source/include/uapi/linux/i2c.h#L24
> 
> I2C_M_RD is used in driver. But the purpose of these MACROs is different.
> I2C_DIR_WRITE is used inside both pci1xxxx_i2c_write as well as in
> pci1xxxx_i2c_read (for sending slave address). Thus these MACROs are required

OK. Name collision still stays.

> > > > Namespace collision. Doesn't I²C core provide these?
> > > 
> > > I am unable to find any existing MACROs for WRITE and READ in I2C core.
> > > Kindly let me know the MACROs

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2022-08-25 14:23 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23 14:56 [PATCH RFC i2c-master] i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch Tharun Kumar P
2022-08-23 10:31 ` Krzysztof Kozlowski
2022-08-24 13:48   ` Tharunkumar.Pasumarthi
2022-08-30 14:21   ` Tharunkumar.Pasumarthi
2022-08-23 11:48 ` Christophe JAILLET
2022-08-24 13:52   ` Tharunkumar.Pasumarthi
2022-08-30 14:25   ` Tharunkumar.Pasumarthi
2022-08-23 15:05 ` Andy Shevchenko
2022-08-24 14:38   ` Tharunkumar.Pasumarthi
2022-08-24 18:31     ` Andy Shevchenko
2022-08-25 13:15       ` Tharunkumar.Pasumarthi
2022-08-25 14:22         ` Andy Shevchenko [this message]
2022-08-26  4:00           ` Tharunkumar.Pasumarthi
2022-08-26 13:03             ` Tharunkumar.Pasumarthi
2022-08-26 15:37               ` Andy Shevchenko
2022-08-29  3:00                 ` Tharunkumar.Pasumarthi

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=YweFttaSE2GOoW83@smile.fi.intel.com \
    --to=andy.shevchenko@gmail.com \
    --cc=Tharunkumar.Pasumarthi@microchip.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=arnd@arndb.de \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=jsd@semihalf.com \
    --cc=krzk@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=rafal@milecki.pl \
    --cc=robh@kernel.org \
    --cc=semen.protsenko@linaro.org \
    --cc=sven@svenpeter.dev \
    --cc=wsa@kernel.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 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.