public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding
Date: Thu, 30 Apr 2015 10:31:12 +0200	[thread overview]
Message-ID: <4411194.KCIZ9l536O@wuerfel> (raw)
In-Reply-To: <20150430082051.GA3488@pd.tnic>

On Thursday 30 April 2015 10:20:51 Borislav Petkov wrote:
> On Wed, Apr 29, 2015 at 06:02:14PM -0500, Rob Herring wrote:
> >  I think that it is silly to group otherwise independent things
> > together and generally not what we do anywhere else in the kernel.
> > They all likely have different capabilities and control mechanisms.
> 
> So let's look at the other extremity here: the moment someone releases
> yet another "independent" IP block with some RAS functionality, same
> someone will create yet another <vendor>_edac_<ip_block> driver. How
> many independent IP blocks are there with RAS functionality? 10, 20,
> 100...? That number is most likely growing, I'd bet.

That should be a safe assumption.

> Oh, and then there'll probably be functionality which is needed by two
> IP blocks so it needs to be shared. So we either copy'paste stuff or
> create a lib only for that functionality...
> 
> Even worse, what if two EDAC drivers for two IP blocks would need to
> talk to each other. That'll be fun.
> 
> Or there'll be a v2 of the IP block which has almost the same
> functionality but no 100% - just a *little* different. So then we go
> create <vendor>_edac_<ip_block-v2> driver. Yuck!
> 
> What I would prefer is to concentrate all vendor-specific RAS
> functionality in one single driver. Shared functionality is then taken
> care of automagically with all the synergies (I hate that word!)
> involved and no unnecessary too finer-grained splitting.
> 
> In that case, we would only have to enable loading more than one EDAC
> drivers on a system which has different RAS IP blocks. Now *that* is a
> much cleaner solution IMO which will keep the sanity in EDAC-land above
> 0.

The problem with your approach is that a lot of these blocks are not
vendor specific. You will probably see a server chip that contains a
memory controller from DesignWare, a cache controller from ARM, and
some other device from the chip vendor, and each of them comes with
EDAC support. Then you get three other vendors that have various
combinations of the same memory controller, cache controller and
other EDAC devices. Not all of these chips would have ARM CPU cores,
some may be e.g. MIPS or PowerPC.

This is very much what we see in all other subsystems (timers,
irqchips, gpio, ...) and the answer is always to have one driver
per device type, and have that driver handle all the variations
of that device, but not group devices into one driver just because
they happen to be on the same chip for one vendor who is merely
integrating them.

	Arnd

  reply	other threads:[~2015-04-30  8:31 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-28 22:10 [PATCH v7 0/4] edac: Add APM X-Gene SoC EDAC driver Loc Ho
2015-04-28 22:10 ` [PATCH v7 1/5] arm64: Enable EDAC on ARM64 Loc Ho
2015-04-28 22:10   ` [PATCH v7 2/5] MAINTAINERS: Add entry for APM X-Gene SoC EDAC driver Loc Ho
2015-04-28 22:10     ` [PATCH v7 3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding Loc Ho
2015-04-28 22:10       ` [PATCH v7 4/5] edac: Add APM X-Gene SoC EDAC driver Loc Ho
2015-04-28 22:10         ` [PATCH 5/5] arm64: Add APM X-Gene SoC EDAC DTS entries Loc Ho
2015-04-29  8:49         ` [PATCH v7 4/5] edac: Add APM X-Gene SoC EDAC driver Arnd Bergmann
2015-04-29 16:57           ` Rob Herring
2015-04-29 18:23             ` Arnd Bergmann
2015-04-29 17:00         ` Rob Herring
2015-04-29 16:47       ` [PATCH v7 3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding Rob Herring
2015-04-29 21:33         ` Loc Ho
2015-04-29 21:49           ` Borislav Petkov
2015-04-29 21:56             ` Loc Ho
2015-04-29 22:08               ` Borislav Petkov
2015-04-29 22:20                 ` Loc Ho
2015-04-29 23:02                 ` Rob Herring
2015-04-30  8:20                   ` Borislav Petkov
2015-04-30  8:31                     ` Arnd Bergmann [this message]
2015-04-30  8:45                       ` Borislav Petkov
2015-04-30  9:01                         ` Arnd Bergmann
2015-04-30  9:41                           ` Borislav Petkov
2015-04-30 10:21                             ` Arnd Bergmann
2015-04-30 12:33                               ` Borislav Petkov
2015-04-30 12:52                                 ` Arnd Bergmann
2015-04-30 10:42                             ` Arnd Bergmann
2015-04-30 13:00                               ` Borislav Petkov
2015-04-30 16:57                                 ` Loc Ho
2015-04-30 17:18                                   ` Borislav Petkov
2015-04-30 21:19                                     ` Loc Ho
2015-04-30 21:30                                       ` Borislav Petkov
2015-04-30 21:39                                         ` Loc Ho
2015-04-30 22:36                                       ` Rob Herring
2015-04-30 22:47                                         ` Arnd Bergmann
2015-05-01  6:44                                           ` Loc Ho
2015-04-30 22:59                                         ` Loc Ho
2015-05-01 19:59                                         ` Loc Ho
2015-05-04 22:36                                           ` Rob Herring
2015-05-04 23:39                                             ` Loc Ho
2015-04-29 22:43               ` Rob Herring
2015-04-30  0:47                 ` Loc Ho
2015-04-29 14:40   ` [PATCH v7 1/5] arm64: Enable EDAC on ARM64 Catalin Marinas
2015-04-29 14:46     ` Jon Masters
2015-04-29 21:39     ` Loc Ho

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=4411194.KCIZ9l536O@wuerfel \
    --to=arnd@arndb.de \
    --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