diff mbox series

[U-Boot] spl: Allow cache drivers to be used in SPL

Message ID 1573181575-6687-1-git-send-email-ley.foon.tan@intel.com
State Superseded
Delegated to: Tom Rini
Headers show
Series [U-Boot] spl: Allow cache drivers to be used in SPL | expand

Commit Message

Ley Foon Tan Nov. 8, 2019, 2:52 a.m. UTC
Add an option for building cache drivers in SPL.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
---
 common/spl/Kconfig     | 5 +++++
 drivers/Makefile       | 1 +
 drivers/cache/Makefile | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

Comments

Ley Foon Tan Nov. 26, 2019, 9:26 a.m. UTC | #1
On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
>
> Add an option for building cache drivers in SPL.
>
> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> ---
>  common/spl/Kconfig     | 5 +++++
>  drivers/Makefile       | 1 +
>  drivers/cache/Makefile | 2 +-
>  3 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index c661809923..6e095c33e1 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -714,6 +714,11 @@ config SPL_UBI
>           README.ubispl for more info.
>
>  if SPL_DM
> +config SPL_CACHE
> +       bool "Support cache drivers in SPL"
> +       help
> +         Enable support for cache drivers in SPL.
> +
>  config SPL_DM_SPI
>         bool "Support SPI DM drivers in SPL"
>         help
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 0befeddfcb..0e42d006b9 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -31,6 +31,7 @@ ifndef CONFIG_TPL_BUILD
>  ifdef CONFIG_SPL_BUILD
>
>  obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
> +obj-$(CONFIG_SPL_CACHE) += cache/
>  obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
>  obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
>  obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
> diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
> index 4a6458c602..c1f766cfca 100644
> --- a/drivers/cache/Makefile
> +++ b/drivers/cache/Makefile
> @@ -1,5 +1,5 @@
>
> -obj-$(CONFIG_CACHE) += cache-uclass.o
> +obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o
>  obj-$(CONFIG_SANDBOX) += sandbox_cache.o
>  obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
>  obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o
> --
> 2.19.0
Hi Tom

Any comment on this patch?

Regards

Ley Foon
Simon Goldschmidt Nov. 27, 2019, 8:33 p.m. UTC | #2
Ley, Tom,

Am 26.11.2019 um 10:26 schrieb Ley Foon Tan:
> On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
>>
>> Add an option for building cache drivers in SPL.

Ley:

What's the actual problem here? Can you further describe your change? 
Why do you need to change drivers/cache/Makefile? That seems to only 
make sense if you enable the new SPL_CACHE without (non-SPL) CACHE.

However, the series this was pulled out from adds a new cache driver and 
makes it select CACHE, not SPL_CACHE, so how would this be activated anyway?

Maybe it would be better to always dive down into drivers/cache/ if 
CACHE is y?

Tom:

As drivers/cache is rather new and initiated via the socfpga tree, would 
you be OK for us to take this via the socfpga/next tree once it's sorted 
out?

Regards,
Simon

>>
>> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
>> ---
>>   common/spl/Kconfig     | 5 +++++
>>   drivers/Makefile       | 1 +
>>   drivers/cache/Makefile | 2 +-
>>   3 files changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index c661809923..6e095c33e1 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -714,6 +714,11 @@ config SPL_UBI
>>            README.ubispl for more info.
>>
>>   if SPL_DM
>> +config SPL_CACHE
>> +       bool "Support cache drivers in SPL"
>> +       help
>> +         Enable support for cache drivers in SPL.
>> +
>>   config SPL_DM_SPI
>>          bool "Support SPI DM drivers in SPL"
>>          help
>> diff --git a/drivers/Makefile b/drivers/Makefile
>> index 0befeddfcb..0e42d006b9 100644
>> --- a/drivers/Makefile
>> +++ b/drivers/Makefile
>> @@ -31,6 +31,7 @@ ifndef CONFIG_TPL_BUILD
>>   ifdef CONFIG_SPL_BUILD
>>
>>   obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
>> +obj-$(CONFIG_SPL_CACHE) += cache/
>>   obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
>>   obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
>>   obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
>> diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
>> index 4a6458c602..c1f766cfca 100644
>> --- a/drivers/cache/Makefile
>> +++ b/drivers/cache/Makefile
>> @@ -1,5 +1,5 @@
>>
>> -obj-$(CONFIG_CACHE) += cache-uclass.o
>> +obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o
>>   obj-$(CONFIG_SANDBOX) += sandbox_cache.o
>>   obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
>>   obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o
>> --
>> 2.19.0
> Hi Tom
> 
> Any comment on this patch?
> 
> Regards
> 
> Ley Foon
>
Tom Rini Nov. 27, 2019, 10:31 p.m. UTC | #3
On Wed, Nov 27, 2019 at 09:33:19PM +0100, Simon Goldschmidt wrote:
> Ley, Tom,
> 
> Am 26.11.2019 um 10:26 schrieb Ley Foon Tan:
> > On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
> > > 
> > > Add an option for building cache drivers in SPL.
> 
> Ley:
> 
> What's the actual problem here? Can you further describe your change? Why do
> you need to change drivers/cache/Makefile? That seems to only make sense if
> you enable the new SPL_CACHE without (non-SPL) CACHE.
> 
> However, the series this was pulled out from adds a new cache driver and
> makes it select CACHE, not SPL_CACHE, so how would this be activated anyway?
> 
> Maybe it would be better to always dive down into drivers/cache/ if CACHE is
> y?
> 
> Tom:
> 
> As drivers/cache is rather new and initiated via the socfpga tree, would you
> be OK for us to take this via the socfpga/next tree once it's sorted out?

Sounds good, thanks.
Ley Foon Tan Nov. 28, 2019, 12:59 a.m. UTC | #4
On Thu, Nov 28, 2019 at 4:33 AM Simon Goldschmidt
<simon.k.r.goldschmidt@gmail.com> wrote:
>
> Ley, Tom,
>
> Am 26.11.2019 um 10:26 schrieb Ley Foon Tan:
> > On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
> >>
> >> Add an option for building cache drivers in SPL.
>
> Ley:
>
> What's the actual problem here? Can you further describe your change?
> Why do you need to change drivers/cache/Makefile? That seems to only
> make sense if you enable the new SPL_CACHE without (non-SPL) CACHE.
>
> However, the series this was pulled out from adds a new cache driver and
> makes it select CACHE, not SPL_CACHE, so how would this be activated anyway?
>
> Maybe it would be better to always dive down into drivers/cache/ if
> CACHE is y?
Hi Simon

The existing drivers/cache is only build when compile for Uboot
proper, but not SPL build.
So, this patch mainly is to allow drivers/cache to compile in SPL build.
User can enable CONFIG_SPL_CACHE if they need to include drivers/cache
in SPL, eg: Agilex platform.

Regards
Ley Foon

>
> Tom:
>
> As drivers/cache is rather new and initiated via the socfpga tree, would
> you be OK for us to take this via the socfpga/next tree once it's sorted
> out?
>
> Regards,
> Simon
>
> >>
> >> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> >> ---
> >>   common/spl/Kconfig     | 5 +++++
> >>   drivers/Makefile       | 1 +
> >>   drivers/cache/Makefile | 2 +-
> >>   3 files changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> >> index c661809923..6e095c33e1 100644
> >> --- a/common/spl/Kconfig
> >> +++ b/common/spl/Kconfig
> >> @@ -714,6 +714,11 @@ config SPL_UBI
> >>            README.ubispl for more info.
> >>
> >>   if SPL_DM
> >> +config SPL_CACHE
> >> +       bool "Support cache drivers in SPL"
> >> +       help
> >> +         Enable support for cache drivers in SPL.
> >> +
> >>   config SPL_DM_SPI
> >>          bool "Support SPI DM drivers in SPL"
> >>          help
> >> diff --git a/drivers/Makefile b/drivers/Makefile
> >> index 0befeddfcb..0e42d006b9 100644
> >> --- a/drivers/Makefile
> >> +++ b/drivers/Makefile
> >> @@ -31,6 +31,7 @@ ifndef CONFIG_TPL_BUILD
> >>   ifdef CONFIG_SPL_BUILD
> >>
> >>   obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
> >> +obj-$(CONFIG_SPL_CACHE) += cache/
> >>   obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
> >>   obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
> >>   obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
> >> diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
> >> index 4a6458c602..c1f766cfca 100644
> >> --- a/drivers/cache/Makefile
> >> +++ b/drivers/cache/Makefile
> >> @@ -1,5 +1,5 @@
> >>
> >> -obj-$(CONFIG_CACHE) += cache-uclass.o
> >> +obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o
> >>   obj-$(CONFIG_SANDBOX) += sandbox_cache.o
> >>   obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
> >>   obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o
> >> --
> >> 2.19.0
> > Hi Tom
> >
> > Any comment on this patch?
> >
> > Regards
> >
> > Ley Foon
> >
>
Simon Goldschmidt Nov. 28, 2019, 11:38 a.m. UTC | #5
On Thu, Nov 28, 2019 at 1:59 AM Ley Foon Tan <lftan.linux@gmail.com> wrote:
>
> On Thu, Nov 28, 2019 at 4:33 AM Simon Goldschmidt
> <simon.k.r.goldschmidt@gmail.com> wrote:
> >
> > Ley, Tom,
> >
> > Am 26.11.2019 um 10:26 schrieb Ley Foon Tan:
> > > On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
> > >>
> > >> Add an option for building cache drivers in SPL.
> >
> > Ley:
> >
> > What's the actual problem here? Can you further describe your change?
> > Why do you need to change drivers/cache/Makefile? That seems to only
> > make sense if you enable the new SPL_CACHE without (non-SPL) CACHE.
> >
> > However, the series this was pulled out from adds a new cache driver and
> > makes it select CACHE, not SPL_CACHE, so how would this be activated anyway?
> >
> > Maybe it would be better to always dive down into drivers/cache/ if
> > CACHE is y?
> Hi Simon
>
> The existing drivers/cache is only build when compile for Uboot
> proper, but not SPL build.
> So, this patch mainly is to allow drivers/cache to compile in SPL build.
> User can enable CONFIG_SPL_CACHE if they need to include drivers/cache
> in SPL, eg: Agilex platform.

But you might not have CACHE enabled since you can enable SPL_CACHE
without CACHE, see my suggestions below.

>
> Regards
> Ley Foon
>
> >
> > Tom:
> >
> > As drivers/cache is rather new and initiated via the socfpga tree, would
> > you be OK for us to take this via the socfpga/next tree once it's sorted
> > out?
> >
> > Regards,
> > Simon
> >
> > >>
> > >> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> > >> ---
> > >>   common/spl/Kconfig     | 5 +++++
> > >>   drivers/Makefile       | 1 +
> > >>   drivers/cache/Makefile | 2 +-
> > >>   3 files changed, 7 insertions(+), 1 deletion(-)
> > >>
> > >> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> > >> index c661809923..6e095c33e1 100644
> > >> --- a/common/spl/Kconfig
> > >> +++ b/common/spl/Kconfig
> > >> @@ -714,6 +714,11 @@ config SPL_UBI
> > >>            README.ubispl for more info.
> > >>
> > >>   if SPL_DM
> > >> +config SPL_CACHE
> > >> +       bool "Support cache drivers in SPL"

I think this needs to depend on CACHE.

> > >> +       help
> > >> +         Enable support for cache drivers in SPL.
> > >> +
> > >>   config SPL_DM_SPI
> > >>          bool "Support SPI DM drivers in SPL"
> > >>          help
> > >> diff --git a/drivers/Makefile b/drivers/Makefile
> > >> index 0befeddfcb..0e42d006b9 100644
> > >> --- a/drivers/Makefile
> > >> +++ b/drivers/Makefile
> > >> @@ -31,6 +31,7 @@ ifndef CONFIG_TPL_BUILD
> > >>   ifdef CONFIG_SPL_BUILD
> > >>
> > >>   obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
> > >> +obj-$(CONFIG_SPL_CACHE) += cache/

Can you move this up to the common part and make it:

obj-$(CONFIG_$(SPL_TPL_)CACHE) += cache/

> > >>   obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
> > >>   obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
> > >>   obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
> > >> diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
> > >> index 4a6458c602..c1f766cfca 100644
> > >> --- a/drivers/cache/Makefile
> > >> +++ b/drivers/cache/Makefile
> > >> @@ -1,5 +1,5 @@
> > >>
> > >> -obj-$(CONFIG_CACHE) += cache-uclass.o
> > >> +obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o

This should then probably be $(SPL_TPL), too?

Although we don't have CONFIG_TPL_CACHE, yet, it might be
better like that to prevent including cache drivers in TPL?

Regards,
Simon

> > >>   obj-$(CONFIG_SANDBOX) += sandbox_cache.o
> > >>   obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
> > >>   obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o
> > >> --
> > >> 2.19.0
> > > Hi Tom
> > >
> > > Any comment on this patch?
> > >
> > > Regards
> > >
> > > Ley Foon
> > >
> >
Ley Foon Tan Nov. 29, 2019, 1:52 a.m. UTC | #6
On Thu, Nov 28, 2019 at 7:38 PM Simon Goldschmidt
<simon.k.r.goldschmidt@gmail.com> wrote:
>
> On Thu, Nov 28, 2019 at 1:59 AM Ley Foon Tan <lftan.linux@gmail.com> wrote:
> >
> > On Thu, Nov 28, 2019 at 4:33 AM Simon Goldschmidt
> > <simon.k.r.goldschmidt@gmail.com> wrote:
> > >
> > > Ley, Tom,
> > >
> > > Am 26.11.2019 um 10:26 schrieb Ley Foon Tan:
> > > > On Fri, Nov 8, 2019 at 10:53 AM Ley Foon Tan <ley.foon.tan@intel.com> wrote:
> > > >>
> > > >> Add an option for building cache drivers in SPL.
> > >
> > > Ley:
> > >
> > > What's the actual problem here? Can you further describe your change?
> > > Why do you need to change drivers/cache/Makefile? That seems to only
> > > make sense if you enable the new SPL_CACHE without (non-SPL) CACHE.
> > >
> > > However, the series this was pulled out from adds a new cache driver and
> > > makes it select CACHE, not SPL_CACHE, so how would this be activated anyway?
> > >
> > > Maybe it would be better to always dive down into drivers/cache/ if
> > > CACHE is y?
> > Hi Simon
> >
> > The existing drivers/cache is only build when compile for Uboot
> > proper, but not SPL build.
> > So, this patch mainly is to allow drivers/cache to compile in SPL build.
> > User can enable CONFIG_SPL_CACHE if they need to include drivers/cache
> > in SPL, eg: Agilex platform.
>
> But you might not have CACHE enabled since you can enable SPL_CACHE
> without CACHE, see my suggestions below.
>
> >
> > Regards
> > Ley Foon
> >
> > >
> > > Tom:
> > >
> > > As drivers/cache is rather new and initiated via the socfpga tree, would
> > > you be OK for us to take this via the socfpga/next tree once it's sorted
> > > out?
> > >
> > > Regards,
> > > Simon
> > >
> > > >>
> > > >> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
> > > >> ---
> > > >>   common/spl/Kconfig     | 5 +++++
> > > >>   drivers/Makefile       | 1 +
> > > >>   drivers/cache/Makefile | 2 +-
> > > >>   3 files changed, 7 insertions(+), 1 deletion(-)
> > > >>
> > > >> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> > > >> index c661809923..6e095c33e1 100644
> > > >> --- a/common/spl/Kconfig
> > > >> +++ b/common/spl/Kconfig
> > > >> @@ -714,6 +714,11 @@ config SPL_UBI
> > > >>            README.ubispl for more info.
> > > >>
> > > >>   if SPL_DM
> > > >> +config SPL_CACHE
> > > >> +       bool "Support cache drivers in SPL"
>
> I think this needs to depend on CACHE.
Okay.
>
> > > >> +       help
> > > >> +         Enable support for cache drivers in SPL.
> > > >> +
> > > >>   config SPL_DM_SPI
> > > >>          bool "Support SPI DM drivers in SPL"
> > > >>          help
> > > >> diff --git a/drivers/Makefile b/drivers/Makefile
> > > >> index 0befeddfcb..0e42d006b9 100644
> > > >> --- a/drivers/Makefile
> > > >> +++ b/drivers/Makefile
> > > >> @@ -31,6 +31,7 @@ ifndef CONFIG_TPL_BUILD
> > > >>   ifdef CONFIG_SPL_BUILD
> > > >>
> > > >>   obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
> > > >> +obj-$(CONFIG_SPL_CACHE) += cache/
>
> Can you move this up to the common part and make it:
Noted.

>
> obj-$(CONFIG_$(SPL_TPL_)CACHE) += cache/
>
> > > >>   obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
> > > >>   obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
> > > >>   obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
> > > >> diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
> > > >> index 4a6458c602..c1f766cfca 100644
> > > >> --- a/drivers/cache/Makefile
> > > >> +++ b/drivers/cache/Makefile
> > > >> @@ -1,5 +1,5 @@
> > > >>
> > > >> -obj-$(CONFIG_CACHE) += cache-uclass.o
> > > >> +obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o
>
> This should then probably be $(SPL_TPL), too?
>
> Although we don't have CONFIG_TPL_CACHE, yet, it might be
> better like that to prevent including cache drivers in TPL?
Okay.

Regards
Ley Foon
>
> > > >>   obj-$(CONFIG_SANDBOX) += sandbox_cache.o
> > > >>   obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
> > > >>   obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o
> > > >> --
> > > >> 2.19.0
> > > > Hi Tom
> > > >
> > > > Any comment on this patch?
> > > >
> > > > Regards
> > > >
> > > > Ley Foon
> > > >
> > >
diff mbox series

Patch

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index c661809923..6e095c33e1 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -714,6 +714,11 @@  config SPL_UBI
 	  README.ubispl for more info.
 
 if SPL_DM
+config SPL_CACHE
+	bool "Support cache drivers in SPL"
+	help
+	  Enable support for cache drivers in SPL.
+
 config SPL_DM_SPI
 	bool "Support SPI DM drivers in SPL"
 	help
diff --git a/drivers/Makefile b/drivers/Makefile
index 0befeddfcb..0e42d006b9 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -31,6 +31,7 @@  ifndef CONFIG_TPL_BUILD
 ifdef CONFIG_SPL_BUILD
 
 obj-$(CONFIG_SPL_BOOTCOUNT_LIMIT) += bootcount/
+obj-$(CONFIG_SPL_CACHE) += cache/
 obj-$(CONFIG_SPL_CPU_SUPPORT) += cpu/
 obj-$(CONFIG_SPL_CRYPTO_SUPPORT) += crypto/
 obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
diff --git a/drivers/cache/Makefile b/drivers/cache/Makefile
index 4a6458c602..c1f766cfca 100644
--- a/drivers/cache/Makefile
+++ b/drivers/cache/Makefile
@@ -1,5 +1,5 @@ 
 
-obj-$(CONFIG_CACHE) += cache-uclass.o
+obj-$(CONFIG_$(SPL_)CACHE) += cache-uclass.o
 obj-$(CONFIG_SANDBOX) += sandbox_cache.o
 obj-$(CONFIG_L2X0_CACHE) += cache-l2x0.o
 obj-$(CONFIG_V5L2_CACHE) += cache-v5l2.o