linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime COQUELIN <maxime.coquelin@st.com>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
	Srinivas KANDAGATLA <srinivas.kandagatla@st.com>,
	Rob Herring <rob.herring@calxeda.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Rob Landley <rob@landley.net>,
	Russell King <linux@arm.linux.org.uk>,
	Grant Likely <grant.likely@linaro.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	Stuart MENEFY <stuart.menefy@st.com>,
	Lee Jones <lee.jones@linaro.org>,
	Stephen GALLIMORE <stephen.gallimore@st.com>,
	Gabriel FERNANDEZ <gabriel.fernandez@st.com>
Subject: Re: [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller
Date: Thu, 17 Oct 2013 18:48:35 +0200	[thread overview]
Message-ID: <526014E3.70505@st.com> (raw)
In-Reply-To: <20131017141627.GD14104@ns203013.ovh.net>


On 10/17/2013 04:16 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 09:27 Thu 17 Oct     , Maxime COQUELIN wrote:
>> Hi Jean-Christophe,
>>
>> On 10/16/2013 05:14 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
>>
>>
>> ...
>>>> +
>>>> +static inline void st_i2c_set_bits(void __iomem *reg, u32 mask)
>>>> +{
>>>> +     writel(readl(reg) | mask, reg);
>>>> +}
>>>> +
>>>> +static inline void st_i2c_clr_bits(void __iomem *reg, u32 mask)
>>>> +{
>>>> +     writel(readl(reg) & ~mask, reg);
>>> use set_bit api and use relaxed version
>> Using the set_bit api here does not match with the purpose of these
>> functions.
>> We want to be able to set/clear multiple bits, and AFAICS the set_bit
>> api does not
>> provide this possibility.
>>
>> I took example on i2c-nomadik for these functions.
>>
> so factorize the code not copy and paste
I won't create a new API for this.
If this is blocking for you, then I will just remove this functions.

>>>> +}
>>>> +
>>>> +/* From I2C Specifications v0.5 */
>>>> +static struct st_i2c_timings i2c_timings[] = {
>>>> use readsl
>> Since the read content is flushed, I prefer keeping it as it is instead
>> of allocating
>> a buffer of the FIFO's size.
> keep point is to speedup the bus
I meant I will use readl_relaxed, not readl.

>>> use relaxed version as much as possible
>> I was not comfortable with the different possibilities (_raw_readl,
>> readl_relaxed, readl...).
>> I found this interresting discussion:
>> _http://comments.gmane.org/gmane.linux.ports.arm.kernel/117626
>>   From what I understood, you are right, I should be able to use
>> readl_relaxed everywhere.
>>
>> Maybe I should perform a readl on the interrupt mask register before
>> returning from the interrupt handler,
>> in order to ensure that the write to the IEN register is effective
>> before the IRQ for the device is re-enabled at GIC level.
>> Maybe this could avoid the few spurious interrupts I face sometimes, I
>> will have a try.
> ok
I failed to reproduce the spurious interrupt without the patch, so I 
can't say
whether performing a readl at this stage helps.
>>>> +}

  reply	other threads:[~2013-10-17 16:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-14 12:46 [PATCH v5 0/4] Add I2C support to ST SoCs Maxime COQUELIN
2013-10-14 12:46 ` [PATCH v5 1/4] i2c: busses: i2c-st: Add ST I2C controller Maxime COQUELIN
2013-10-16 15:14   ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]     ` <20131016151419.GA14104-HVbc7XotTAhnXn40ka+A6Q@public.gmane.org>
2013-10-17  7:27       ` Maxime COQUELIN
2013-10-17  9:33         ` srinivas kandagatla
     [not found]           ` <525FAEED.7030207-qxv4g6HH51o@public.gmane.org>
2013-10-17 14:19             ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:30               ` srinivas kandagatla
     [not found]                 ` <525FF498.3060202-qxv4g6HH51o@public.gmane.org>
2013-10-17 14:49                   ` Lucas Stach
     [not found]                     ` <1382021369.4093.44.camel-WzVe3FnzCwFR6QfukMTsflXZhhPuCNm+@public.gmane.org>
2013-10-18  8:22                       ` srinivas kandagatla
2013-10-28 15:02                         ` Maxime Coquelin
     [not found]                           ` <526E7C8C.8080603-qxv4g6HH51o@public.gmane.org>
2013-11-01 12:50                             ` srinivas kandagatla
2013-10-17 15:53               ` Lee Jones
2013-10-17 16:09                 ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 14:16         ` Jean-Christophe PLAGNIOL-VILLARD
2013-10-17 16:48           ` Maxime COQUELIN [this message]
2013-10-28 19:25   ` Kumar Gala
2013-10-29 13:19     ` Maxime Coquelin
     [not found]       ` <526FB5FF.2060908-qxv4g6HH51o@public.gmane.org>
2013-10-29 15:49         ` Kumar Gala
2013-11-01 11:16   ` Wolfram Sang
2013-11-04 14:28     ` Maxime Coquelin
     [not found] ` <1381754813-4679-1-git-send-email-maxime.coquelin-qxv4g6HH51o@public.gmane.org>
2013-10-14 12:46   ` [PATCH v5 2/4] ARM: STi: Supply I2C configuration to STiH416 SoC Maxime COQUELIN
2013-10-14 12:46   ` [PATCH v5 4/4] ARM: STi: Add I2C config to B2000 and B2020 boards Maxime COQUELIN
2013-10-16 14:54   ` [PATCH v5 0/4] Add I2C support to ST SoCs Maxime COQUELIN
2013-10-14 12:46 ` [PATCH v5 3/4] ARM: STi: Supply I2C configuration to STiH415 SoC Maxime COQUELIN

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=526014E3.70505@st.com \
    --to=maxime.coquelin@st.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gabriel.fernandez@st.com \
    --cc=grant.likely@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=plagnioj@jcrosoft.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=srinivas.kandagatla@st.com \
    --cc=stephen.gallimore@st.com \
    --cc=stuart.menefy@st.com \
    --cc=swarren@wwwdotorg.org \
    --cc=wsa@the-dreams.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).