From: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Thomas Petazzoni
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Ezequiel Garcia
<ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v2 2/2] i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
Date: Tue, 07 Jan 2014 14:17:11 +0100 [thread overview]
Message-ID: <52CBFE57.5020409@free-electrons.com> (raw)
In-Reply-To: <201401071003.31309.arnd-r2nGTMty4D4@public.gmane.org>
On 07/01/2014 10:03, Arnd Bergmann wrote:
> On Monday 06 January 2014, Gregory CLEMENT wrote:
>>> Relying on the soc id patch for a "stable" bug fix seems a little
>>> far-reaching to me. I would be happier to first try to do a local
>>> detection based on the i2c bus device node itself. Do you know how
>>
>> It was my first proposal in case adding the soc id detection was
>> a too big things. But it turned out that the amount of code is very
>> low so I really think it worth adding it along the fix. Device tree
>> is supposed to be stable so as soon as we add something in it we are
>> supposed support it forever. Moreover using device tree for something
>> we can probe is counter productive.
>
> I would still be happier if we did both and only need to check the
> SoC version if the device is in the "possibly broken" category
> but default to the existing behavior.
>
> My main concern is that this patch is adding platform code that we'd
> otherwise have to carry in the kernel indefinitely. I agree that
> it's best if we can probe stuff automatically, but that doesn't normally
> mean looking at an unrelated piece of information. If the i2c controller
> registers themselves tell us whether this device is broken or not,
> we should use that information. Looking at a global SoC version register
> however is more like checking a board ID in the pre-DT days where the
> board number is the only information we have and everything is
> derived from that.
Well the way the hardware is designed is exactly like this: between
two revision of a SoC you can have slightly differences between various
IP and most of the time this IP don't have a specific register for it.
Moreover from my experience a change done in a IP of a given revision
of a SoC will be for this revision and not necessary reported in future
generation of a SoC. Most of the time the IP are not really under a VCS.
That means that the SoC ID is the only reliable information to know
the version of most of the IP inside this SoC.
>
>>> common the A0 revision is? You mention "early release of the
>>> OpenBlocks AX3-4 boards". Any others that you suspect? If not,
>>
>> No, from the info I gathered I expected that only OpenBlocks AX3-4
>> would be the only product shipped with an A0 version and as I said
>> it should be only a limit amount of them.
>
> Ok, good. So we really only need to worry about this one board for
> now and can make all the others default to normal operation without
> checking the SoC version.
>
> Another idea: Could we have a quirk in the mvebu platform code for
> the AX3-4 to check the SoC version and then change the property for
> the i2c controller based on whether we expect it to work or not?
> This way, we wouldn't even need an interface between the platform
> code and the driver code.
I can try this last approach: using the device tree to pass platform
parameter from the arch part to the driver.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/2] i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
Date: Tue, 07 Jan 2014 14:17:11 +0100 [thread overview]
Message-ID: <52CBFE57.5020409@free-electrons.com> (raw)
In-Reply-To: <201401071003.31309.arnd@arndb.de>
On 07/01/2014 10:03, Arnd Bergmann wrote:
> On Monday 06 January 2014, Gregory CLEMENT wrote:
>>> Relying on the soc id patch for a "stable" bug fix seems a little
>>> far-reaching to me. I would be happier to first try to do a local
>>> detection based on the i2c bus device node itself. Do you know how
>>
>> It was my first proposal in case adding the soc id detection was
>> a too big things. But it turned out that the amount of code is very
>> low so I really think it worth adding it along the fix. Device tree
>> is supposed to be stable so as soon as we add something in it we are
>> supposed support it forever. Moreover using device tree for something
>> we can probe is counter productive.
>
> I would still be happier if we did both and only need to check the
> SoC version if the device is in the "possibly broken" category
> but default to the existing behavior.
>
> My main concern is that this patch is adding platform code that we'd
> otherwise have to carry in the kernel indefinitely. I agree that
> it's best if we can probe stuff automatically, but that doesn't normally
> mean looking at an unrelated piece of information. If the i2c controller
> registers themselves tell us whether this device is broken or not,
> we should use that information. Looking at a global SoC version register
> however is more like checking a board ID in the pre-DT days where the
> board number is the only information we have and everything is
> derived from that.
Well the way the hardware is designed is exactly like this: between
two revision of a SoC you can have slightly differences between various
IP and most of the time this IP don't have a specific register for it.
Moreover from my experience a change done in a IP of a given revision
of a SoC will be for this revision and not necessary reported in future
generation of a SoC. Most of the time the IP are not really under a VCS.
That means that the SoC ID is the only reliable information to know
the version of most of the IP inside this SoC.
>
>>> common the A0 revision is? You mention "early release of the
>>> OpenBlocks AX3-4 boards". Any others that you suspect? If not,
>>
>> No, from the info I gathered I expected that only OpenBlocks AX3-4
>> would be the only product shipped with an A0 version and as I said
>> it should be only a limit amount of them.
>
> Ok, good. So we really only need to worry about this one board for
> now and can make all the others default to normal operation without
> checking the SoC version.
>
> Another idea: Could we have a quirk in the mvebu platform code for
> the AX3-4 to check the SoC version and then change the property for
> the i2c controller based on whether we expect it to work or not?
> This way, we wouldn't even need an interface between the platform
> code and the driver code.
I can try this last approach: using the device tree to pass platform
parameter from the arch part to the driver.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2014-01-07 13:17 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-03 9:59 [PATCH v2 0/2] Fix i2c bus hang on A0 version of the Armada XP SoCs Gregory CLEMENT
2014-01-03 9:59 ` Gregory CLEMENT
[not found] ` <1388743185-24822-1-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-01-03 9:59 ` [PATCH v2 1/2] ARM: mvebu: Add support to get the ID and the revision of a SoC Gregory CLEMENT
2014-01-03 9:59 ` Gregory CLEMENT
2014-01-03 14:47 ` Andrew Lunn
2014-01-03 14:47 ` Andrew Lunn
2014-01-03 14:51 ` Gregory CLEMENT
2014-01-03 14:51 ` Gregory CLEMENT
[not found] ` <52C6CE7E.5010800-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-01-03 15:13 ` Gregory CLEMENT
2014-01-03 15:13 ` Gregory CLEMENT
2014-01-03 16:41 ` Andrew Lunn
2014-01-03 16:41 ` Andrew Lunn
2014-01-03 19:30 ` Gregory CLEMENT
2014-01-03 19:30 ` Gregory CLEMENT
[not found] ` <1388743185-24822-2-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-01-03 18:48 ` Thomas Petazzoni
2014-01-03 18:48 ` Thomas Petazzoni
2014-01-03 19:25 ` Gregory CLEMENT
2014-01-03 19:25 ` Gregory CLEMENT
2014-01-03 18:59 ` Jason Gunthorpe
2014-01-03 18:59 ` Jason Gunthorpe
2014-01-03 19:35 ` Gregory CLEMENT
2014-01-03 19:35 ` Gregory CLEMENT
2014-01-05 14:25 ` Arnd Bergmann
2014-01-05 14:25 ` Arnd Bergmann
2014-01-05 15:40 ` Andrew Lunn
2014-01-05 15:40 ` Andrew Lunn
[not found] ` <20140105154023.GA2048-g2DYL2Zd6BY@public.gmane.org>
2014-01-05 17:27 ` Jason Gunthorpe
2014-01-05 17:27 ` Jason Gunthorpe
[not found] ` <20140105172756.GA11280-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-01-05 17:37 ` Sebastian Hesselbarth
2014-01-05 17:37 ` Sebastian Hesselbarth
2014-01-05 23:07 ` Jason Gunthorpe
2014-01-05 23:07 ` Jason Gunthorpe
2014-01-05 23:12 ` Sebastian Hesselbarth
2014-01-05 23:12 ` Sebastian Hesselbarth
[not found] ` <52C9E6D0.3000406-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-05 23:40 ` Jason Gunthorpe
2014-01-05 23:40 ` Jason Gunthorpe
2014-01-06 0:05 ` Sebastian Hesselbarth
2014-01-06 0:05 ` Sebastian Hesselbarth
2014-01-06 0:17 ` Andrew Lunn
2014-01-06 0:17 ` Andrew Lunn
[not found] ` <20140106001709.GD4093-g2DYL2Zd6BY@public.gmane.org>
2014-01-06 9:55 ` Gregory CLEMENT
2014-01-06 9:55 ` Gregory CLEMENT
2014-01-06 10:10 ` Gregory CLEMENT
2014-01-06 10:10 ` Gregory CLEMENT
2014-01-05 19:17 ` Arnd Bergmann
2014-01-05 19:17 ` Arnd Bergmann
[not found] ` <201401052017.10982.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-05 23:51 ` Andrew Lunn
2014-01-05 23:51 ` Andrew Lunn
2014-01-06 15:37 ` Arnd Bergmann
2014-01-06 15:37 ` Arnd Bergmann
[not found] ` <201401061637.28194.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-06 16:24 ` Andrew Lunn
2014-01-06 16:24 ` Andrew Lunn
[not found] ` <20140106162442.GB13111-g2DYL2Zd6BY@public.gmane.org>
2014-01-07 14:41 ` Arnd Bergmann
2014-01-07 14:41 ` Arnd Bergmann
2014-01-06 10:28 ` Gregory CLEMENT
2014-01-06 10:28 ` Gregory CLEMENT
2014-01-03 9:59 ` [PATCH v2 2/2] i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs Gregory CLEMENT
2014-01-03 9:59 ` Gregory CLEMENT
[not found] ` <1388743185-24822-3-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-01-03 12:20 ` Gregory CLEMENT
2014-01-03 12:20 ` Gregory CLEMENT
2014-01-03 18:49 ` Thomas Petazzoni
2014-01-03 18:49 ` Thomas Petazzoni
2014-01-03 19:31 ` Gregory CLEMENT
2014-01-03 19:31 ` Gregory CLEMENT
2014-01-05 14:33 ` Arnd Bergmann
2014-01-05 14:33 ` Arnd Bergmann
[not found] ` <201401051533.58931.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-06 9:09 ` Gregory CLEMENT
2014-01-06 9:09 ` Gregory CLEMENT
[not found] ` <52CA72BF.10604-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-01-07 9:03 ` Arnd Bergmann
2014-01-07 9:03 ` Arnd Bergmann
[not found] ` <201401071003.31309.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-07 13:17 ` Gregory CLEMENT [this message]
2014-01-07 13:17 ` Gregory CLEMENT
2014-01-07 20:50 ` Arnd Bergmann
2014-01-07 20:50 ` Arnd Bergmann
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=52CBFE57.5020409@free-electrons.com \
--to=gregory.clement-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@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 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.