linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Brad Larson" <blarson@amd.com>
Cc: "Adrian Hunter" <adrian.hunter@intel.com>,
	alcooperx@gmail.com,
	"Andy Shevchenko" <andy.shevchenko@gmail.com>,
	brendan.higgins@linux.dev,
	"Brian Norris" <briannorris@chromium.org>,
	"Mark Brown" <broonie@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"David Gow" <davidgow@google.com>,
	devicetree@vger.kernel.org,
	"Serge Semin" <fancer.lancer@gmail.com>,
	"Greg Ungerer" <gerg@linux-m68k.org>,
	gsomlo@gmail.com, "Hal Feng" <hal.feng@starfivetech.com>,
	"Hitomi Hasegawa" <hasegawa-hitomi@fujitsu.com>,
	"Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	"Joel Stanley" <joel@jms.id.au>,
	"Emil Renner Berthing" <kernel@esmil.dk>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	krzysztof.kozlowski+dt@linaro.org,
	"Lee Jones" <lee.jones@linaro.org>, "Lee Jones" <lee@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"linux-mmc @ vger . kernel . org" <linux-mmc@vger.kernel.org>,
	linux-spi@vger.kernel.org,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Samuel Holland" <samuel@sholland.org>,
	skhan@linuxfoundation.org, suravee.suthikulpanit@amd.com,
	"Tom Lendacky" <thomas.lendacky@amd.com>,
	"Tony Huang" <tonyhuang.sunplus@gmail.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	vaishnav.a@ti.com, "Walker Chen" <walker.chen@starfivetech.com>,
	"Will Deacon" <will@kernel.org>,
	"Yinbo Zhu" <zhuyinbo@loongson.cn>
Subject: Re: [PATCH v14 8/8] soc: amd: Add support for AMD Pensando SoC Controller
Date: Wed, 24 May 2023 14:41:57 +0200	[thread overview]
Message-ID: <787582a3-51a1-494e-bfd0-b51d1117432e@app.fastmail.com> (raw)
In-Reply-To: <20230523221132.64464-1-blarson@amd.com>

On Wed, May 24, 2023, at 00:11, Brad Larson wrote:
>> On Mon, May 15, 2023, at 20:16, Brad Larson wrote:
>
>> Also, can you explain why this needs a low-lever user interface
>> in the first place, rather than something that can be expressed
>> using high-level abstractions as you already do with the reset
>> control?
>>
>> All of the above should be part of the changelog text to get a
>> driver like this merged. I don't think we can get a quick
>> solution here though, so maybe you can start by removing the
>> ioctl side and having the rest of the driver in drivers/reset?
>
> In the original patchset I added a pensando compatible to spidev and that
> was nacked in review and reusing some random compatible that made it into 
> spidev was just wrong.  Further it was recommended this should be a system 
> specific driver and don't rely on a debug driver like spidev.  I changed 
> over to a platform specific driver and at that time I also needed to include 
> a reset controller (emmc reset only).  I put these in drivers/mfd and 
> drivers/reset.  Review of the device tree for this approach went back and 
> forth to _not_ have four child nodes on the spi device each with the same 
> compatible. Decision was to squash the child nodes into the parent and put 
> the reset-controller there also.  One driver and since its pensando
> specific its currently in drivers/soc/amd.
>
> There are five different user processes and some utilities that access the 
> functionality in the cpld/fpga.  You're correct, its passing messages that 
> are specific to the IP accessed via chip-select.  No Elba system will boot 
> without this driver providing ioctl access.

Thank you for the detailed summary. Moving away from spidev and
from mfd seems all reasonable here. I'm still a bit confused by
why you have multiple chipselects here that are for different
subdevices but ended with a single user interface for all of them,
but that's not a big deal.

The main bit that sticks out about this high-level design is how
it relies on user space utilities at all to understand the message
format. From what I understand about the actual functionality of
this device, it most closely resembles an embedded controller that
you might find in a laptop or server machine, and those usually
have kernel drivers in drivers/platform/ to interact with the
device.

Has anyone tried to do it like that? Maybe it would help
to see what the full protocol and the user space side looks
like, in order to move some or all of it into the kernel.

     Arnd

  reply	other threads:[~2023-05-24 12:42 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15 18:15 [PATCH v14 0/8] Support AMD Pensando Elba SoC Brad Larson
2023-05-15 18:15 ` [PATCH v14 1/8] dt-bindings: arm: add AMD Pensando boards Brad Larson
2023-05-15 18:16 ` [PATCH v14 2/8] dt-bindings: spi: cdns: Add compatible for AMD Pensando Elba SoC Brad Larson
2023-05-16 15:18   ` Mark Brown
2023-05-15 18:16 ` [PATCH v14 3/8] dt-bindings: soc: amd: amd,pensando-elba-ctrl: Add Pensando SoC Controller Brad Larson
2023-05-15 18:16 ` [PATCH v14 4/8] MAINTAINERS: Add entry for AMD PENSANDO Brad Larson
2023-05-15 18:16 ` [PATCH v14 5/8] arm64: Add config for AMD Pensando SoC platforms Brad Larson
2023-05-15 18:16 ` [PATCH v14 6/8] arm64: dts: Add AMD Pensando Elba SoC support Brad Larson
2023-05-16  7:17   ` Krzysztof Kozlowski
2023-05-16  7:54   ` Michal Simek
2023-05-23 19:28     ` Brad Larson
2023-05-24 11:52       ` Geert Uytterhoeven
2023-05-30 22:03         ` Brad Larson
2023-05-31 13:09           ` Geert Uytterhoeven
2023-06-05 23:52             ` Brad Larson
2023-05-15 18:16 ` [PATCH v14 7/8] spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC Brad Larson
2023-05-15 18:16 ` [PATCH v14 8/8] soc: amd: Add support for AMD Pensando SoC Controller Brad Larson
2023-05-15 21:05   ` Andy Shevchenko
2023-05-23  2:12     ` Brad Larson
2023-05-16  5:19   ` Mahapatra, Amit Kumar
2023-05-16  7:36     ` Michal Simek
2023-05-17 11:14       ` Geert Uytterhoeven
2023-05-16  8:45   ` kernel test robot
2023-05-16 11:03   ` Arnd Bergmann
2023-05-23 22:11     ` Brad Larson
2023-05-24 12:41       ` Arnd Bergmann [this message]
2023-08-07 22:17         ` Brad Larson
2023-05-16  7:14 ` [PATCH v14 0/8] Support AMD Pensando Elba SoC Krzysztof Kozlowski
2023-05-17 14:43 ` (subset) " Mark Brown

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=787582a3-51a1-494e-bfd0-b51d1117432e@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=adrian.hunter@intel.com \
    --cc=alcooperx@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=blarson@amd.com \
    --cc=brendan.higgins@linux.dev \
    --cc=briannorris@chromium.org \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=davidgow@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=fancer.lancer@gmail.com \
    --cc=gerg@linux-m68k.org \
    --cc=gsomlo@gmail.com \
    --cc=hal.feng@starfivetech.com \
    --cc=hasegawa-hitomi@fujitsu.com \
    --cc=j.neuschaefer@gmx.net \
    --cc=joel@jms.id.au \
    --cc=kernel@esmil.dk \
    --cc=krzk@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lee.jones@linaro.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=rdunlap@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=samuel@sholland.org \
    --cc=skhan@linuxfoundation.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=thomas.lendacky@amd.com \
    --cc=tonyhuang.sunplus@gmail.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vaishnav.a@ti.com \
    --cc=walker.chen@starfivetech.com \
    --cc=will@kernel.org \
    --cc=zhuyinbo@loongson.cn \
    /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).