All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: "Pali Rohár" <pali@kernel.org>
Cc: "Marek Vasut" <marex@denx.de>,
	"Philip Oberfichtner" <pro@denx.de>,
	u-boot@lists.denx.de,
	"Christoph Niedermaier" <cniedermaier@dh-electronics.com>,
	"Stefano Babic" <sbabic@denx.de>,
	"Marcel Ziswiler" <marcel.ziswiler@toradex.com>,
	"Marek Behún" <kabel@kernel.org>, "Peng Fan" <peng.fan@nxp.com>,
	u-boot@dh-electronics.com
Subject: Re: [PATCH v3 1/3] Convert CONFIG_SYS_L2_PL310 to Kconfig
Date: Tue, 9 Aug 2022 09:46:34 -0400	[thread overview]
Message-ID: <20220809134634.GV1146598@bill-the-cat> (raw)
In-Reply-To: <20220809113224.4mvygsubvtb5wd7a@pali>

[-- Attachment #1: Type: text/plain, Size: 4300 bytes --]

On Tue, Aug 09, 2022 at 01:32:24PM +0200, Pali Rohár wrote:
> On Tuesday 09 August 2022 13:27:38 Marek Vasut wrote:
> > On 8/9/22 13:21, Pali Rohár wrote:
> > 
> > (reducing the CC list)
> > 
> > > On Tuesday 09 August 2022 13:16:41 Marek Vasut wrote:
> > > > On 8/9/22 12:58, Pali Rohár wrote:
> > > > > On Tuesday 09 August 2022 12:07:00 Philip Oberfichtner wrote:
> > > > > > This converts CONFIG_SYS_L2_PL310 to Kconfig.
> > > > > ...
> > > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > > > > index 949ebb46ba..dde06bdd96 100644
> > > > > > --- a/arch/arm/Kconfig
> > > > > > +++ b/arch/arm/Kconfig
> > > > > > @@ -488,6 +488,10 @@ config TPL_SYS_THUMB_BUILD
> > > > > >    	   density. For ARM architectures that support Thumb2 this flag will
> > > > > >    	   result in Thumb2 code generated by GCC.
> > > > > > +config SYS_L2_PL310
> > > > > > +	bool "ARM PL310 L2 cache controller"

This needs a depends on !SYS_L2CACHE_OFF.

> > > > > > +	help
> > > > > > +	  Enable support for ARM PL310 L2 cache controller in U-Boot
> > > > > >    config SYS_L2CACHE_OFF
> > > > > >    	bool "L2cache off"
> > > > > > diff --git a/arch/arm/mach-mvebu/include/mach/config.h b/arch/arm/mach-mvebu/include/mach/config.h
> > > > > > index 4add0d9e10..0bba0a4cf9 100644
> > > > > > --- a/arch/arm/mach-mvebu/include/mach/config.h
> > > > > > +++ b/arch/arm/mach-mvebu/include/mach/config.h
> > > > > > @@ -25,8 +25,6 @@
> > > > > >    #define MV88F78X60 /* for the DDR training bin_hdr code */
> > > > > >    #endif
> > > > > > -#define CONFIG_SYS_L2_PL310
> > > > > > -
> > > > > >    #define MV_UART_CONSOLE_BASE		MVEBU_UART0_BASE
> > > > > >    /* Needed for SPI NOR booting in SPL */
> > > > > 
> > > > > This option is required for mvebu SoC and is not user (de)-selectable.
> > > > > So please do not define it in each individual mvebu board. It would make
> > > > > it harder to introduce a new mvebu board into U-Boot. Instead enable it
> > > > > for mvebu SoCs like it was before this change. It can be done e.g. by
> > > > > "select" Kconfig keyword in mvebu Kconfig file.
> > > > 
> > > > Should it rather be 'default y if MVEBU' in that new PL310 Kconfig option ?
> > > 
> > > No, because this is just default value of this option and still allows
> > > end-user to de-select this option.
> > > 
> > > "select" is IIRC the only way how to force Kconfig to always enable some
> > > symbol without any option for end-user to disable it.
> > > 
> > > At least I do not know a way how CONFIG_SYS_L2_PL310 symbol could decide
> > > that it is required for CONFIG_MVEBU. Just symbol CONFIG_MVEBU can
> > > decide that it requires CONFIG_SYS_L2_PL310 symbol (and not in opposite
> > > direction).
> > 
> > So why should the user be unable to deselect L2CC support on MVEBU ?
> > I can very well disable L2CC support on MX6 and the platform works without
> > it just fine. Maybe the MVEBU needs to be fixed to support the same instead
> > ?
> 
> Well, I'm not sure, currently it is non-deselectable option. Maybe it is
> a bug... but at least change which is doing kconfig conversion should
> not change behavior.

It's tricky to say when to "select" or just "default y if .." or "imply"
a given option. It's not only a matter of "can you disable X and the
system is functional" but "would you normally want to". There are
certainly system bring-up cases and similar where you want to disable
L2CC because you're tracking down something. But it's really a feature
of the chip and expected to work and something we want enabled, and the
scope of when it would be disabled is very very narrow. Looking back at
the patch itself, the config.h files that enabled this are almost all a
SoC-common file (ti_am335x_common.h should have been setting this I bet,
something else for the TODO pile for me), so my thought is that it
should be a select'd option, but if there's strong opinion that it's
useful to make it easy to turn off when needed, imply'd instead by the
various ARCH's in question instead.

That said, thinking about the missing dependency I listed above, that's
how to disable L2 when needed, so perhaps select SYS_L2_PL310 if
!SYS_L2CACHE_OFF under the various ARCH's is the right way.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  parent reply	other threads:[~2022-08-09 13:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-09 10:06 [PATCH v3 0/3] ARM: imx6: dh-imx6: Enable d-cache early in SPL Philip Oberfichtner
2022-08-09 10:07 ` [PATCH v3 1/3] Convert CONFIG_SYS_L2_PL310 to Kconfig Philip Oberfichtner
2022-08-09 10:58   ` Pali Rohár
2022-08-09 11:16     ` Marek Vasut
2022-08-09 11:21       ` Pali Rohár
2022-08-09 11:27         ` Marek Vasut
2022-08-09 11:32           ` Pali Rohár
2022-08-09 11:38             ` Marek Vasut
2022-08-09 12:59               ` Pali Rohár
2022-08-09 13:16               ` Marek Behún
2022-08-09 13:18                 ` Marek Behún
2022-08-09 13:46             ` Tom Rini [this message]
2022-08-09 16:03               ` Marek Vasut
2022-08-09 16:36                 ` Tom Rini
2022-08-09 18:27                   ` Marek Vasut
2022-08-11 10:17                     ` Philip Oberfichtner
2022-08-16 14:42                       ` Philip Oberfichtner
2022-08-09 14:32         ` Phil Sutter
2022-08-12  8:39   ` Soeren Moch
2022-08-09 10:07 ` [PATCH v3 2/3] ARM: cache: Allow SPL to build cache-pl310.c Philip Oberfichtner
2022-08-09 10:07 ` [PATCH v3 3/3] ARM: imx6: dh-imx6: Enable d-cache early in SPL Philip Oberfichtner
2022-08-09 11:17   ` Marek Vasut

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=20220809134634.GV1146598@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=cniedermaier@dh-electronics.com \
    --cc=kabel@kernel.org \
    --cc=marcel.ziswiler@toradex.com \
    --cc=marex@denx.de \
    --cc=pali@kernel.org \
    --cc=peng.fan@nxp.com \
    --cc=pro@denx.de \
    --cc=sbabic@denx.de \
    --cc=u-boot@dh-electronics.com \
    --cc=u-boot@lists.denx.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 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.