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: 37+ 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 ` [PATCH v2 1/2] ARM: mvebu: Add support to get the ID and the revision of a SoC Gregory CLEMENT
2014-01-03 14:47 ` Andrew Lunn
2014-01-03 14:51 ` Gregory CLEMENT
2014-01-03 15:13 ` Gregory CLEMENT
2014-01-03 16:41 ` Andrew Lunn
2014-01-03 19:30 ` Gregory CLEMENT
2014-01-03 18:48 ` Thomas Petazzoni
2014-01-03 19:25 ` Gregory CLEMENT
2014-01-03 18:59 ` Jason Gunthorpe
2014-01-03 19:35 ` Gregory CLEMENT
2014-01-05 14:25 ` Arnd Bergmann
2014-01-05 15:40 ` Andrew Lunn
2014-01-05 17:27 ` Jason Gunthorpe
2014-01-05 17:37 ` Sebastian Hesselbarth
2014-01-05 23:07 ` Jason Gunthorpe
2014-01-05 23:12 ` Sebastian Hesselbarth
2014-01-05 23:40 ` Jason Gunthorpe
2014-01-06 0:05 ` Sebastian Hesselbarth
2014-01-06 0:17 ` Andrew Lunn
2014-01-06 9:55 ` Gregory CLEMENT
2014-01-06 10:10 ` Gregory CLEMENT
2014-01-05 19:17 ` Arnd Bergmann
2014-01-05 23:51 ` Andrew Lunn
2014-01-06 15:37 ` Arnd Bergmann
2014-01-06 16:24 ` Andrew Lunn
2014-01-07 14:41 ` Arnd Bergmann
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 12:20 ` Gregory CLEMENT
2014-01-03 18:49 ` Thomas Petazzoni
2014-01-03 19:31 ` Gregory CLEMENT
2014-01-05 14:33 ` Arnd Bergmann
2014-01-06 9:09 ` Gregory CLEMENT
2014-01-07 9:03 ` Arnd Bergmann
2014-01-07 13:17 ` Gregory CLEMENT [this message]
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@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.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 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).