Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-12 Thread Schrempf Frieder
On 12.09.19 11:03, Lukasz Majewski wrote:
> Hi Frieder,
> 
>> Hi Lukasz,
>>
>> On 10.09.19 12:22, Lukasz Majewski wrote:
>>> Hi Frieder,
>>>
 On Mon, 9 Sep 2019 11:11:50 +
 Schrempf Frieder  wrote:
   
> Hi Lukasz,
>
> On 05.09.19 20:09, Tom Rini wrote:
>> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>>   
>>> This patch series introduces new SPL and TPL specific Kconfig
>>> entries for DM_SPI* options. Such change allows using the spi
>>> driver in SPL/TPL or U-Boot proper.
>>>
>>> First two patches - related to ls10{42}* NXP soc fix some issues
>>> with defining the DM_SPI* defines in .h file instead of
>>> Kconfig.
>>>
>>> This series doesn't introduce build breaks, but board
>>> maintainers are kindly asked to check if their boards still
>>> boots.
>>>
>>> Buildman setup for binary size regression checking:
>>>
>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>> --output-dir=../BUILD/ --force-build -CveE
>>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
>>> --output-dir=../BUILD/ -Ssdel
>>
>> So you did fix the ls1043 problems but ls1046 is still a problem.
>>
>
> I was trying to clean up this config mess some weeks ago. I
> stumbled over the same issues (size deltas below) when I tested
> with buildman and finally gave up on it. This was my testing
> branch for reference: [1].
>
> Thanks for your work and I hope you/we can get this sorted out
> somehow...

 For now I've only posted the patch to introduce SPL_DM_SPI in
 Kconig: https://patchwork.ozlabs.org/patch/1159655/
>>>
>>> However, I've looked on your patchset and IMHO this work could be
>>> divided (as doing it at once is not feasible).
>>>
>>> For example the CONFIG_SPI_FLASH_MTD could be converted to
>>> (SPL_TPL_)SPI_FLASH_MTD and then one could use
>>>
>>> #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c
>>> (as it is only used there).
>>>
>>> Then we could avoid situations where code is added as you remove it
>>> here [1]:
>>> https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
>>>
>>> What I'm afraid though, is that split of SPI_FLASH_MTD will require
>>> adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which
>>> already define it (and only drop ones, which use in .h file
>>> pattern as [1]).
>>
>> Yes, this looks like what I've tried to do separately in this branch
>> [1].
>>
>> The problem with some socfpga boards is, that they enable
>> CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling
>> CONFIG_SPI_FLASH, which is probably wrong.
> 
> It looks to me like the code in:
> https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-9d3e174d033b8b9c9d380a22a81600aaL136
> 
> is to prevent ALL socfpgas from compiling in FLASH MTD support to SPL,
> as it causes build breaks (as I do have such situation in one of my
> boards - it uses tiny SPI in SPL to read data from SPI-NOR, without the
> need to enable MTD there) .
> 
> In other words those boards only use FLASH MTD driver in U-Boot proper.
> (and probably there shall not be any deltas in buildman build binaries
> [*])

Right.

> 
>> So I tried to correct
>> this, but looking at it again, this should be done separately.
>>
>> So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and
>> rebase, this should be ok.
> 
> I think yes. I guess that ALL socfpgas shall have added
> CONFIG_SPI_FLASH_MTD=y to their _defconfigs

Right.

> 
> 
> It may also happen that boards, which define CONFIG_SPI_FLASH_MTD would
> require both CONFIG_SPI_FLASH_MTD and CONFIG_SPL_SPI_FLASH_MTD defined
> (if they don't use socfpga style .h code) to have the same
> binaries build.

Last time I looked such boards didn't exist, but I'll check again.

> 
>>
>> For this set I have still one question: Should I split the patches as
>> currently done in [1]? This would mean after the first patch some
>> boards miss SPI_FLASH_MTD code and the subsequent board config
>> patches correct it afterwards. Or should I merge all the changes to a
>> single patch, to not break the boards in between.
> 
> I would opt for preparing one single patch with conversion (to avoid
> build breaks). This would also allow easy buildman testing [*] to see
> if there is any difference in sizes of binaries (elf sections to be
> precise).
> 
> I would also add the patch to define CONFIG_SPL_SPI_FLASH_MTD in
> Kconfig to show that such option is available for use after the
> conversion (IMHO it shall be added before the conversion patch).

Ok. Last time I worked on this, there was no board using SPI_FLASH_MTD 
in SPL. But this might not be true anymore. Anyway, I'll add the option.

> 
>> Unfortunately I can't do it the other way round and apply the board
>> config changes first, as this breaks 

Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-12 Thread Lukasz Majewski
Hi Frieder,

> Hi Lukasz,
> 
> On 10.09.19 12:22, Lukasz Majewski wrote:
> > Hi Frieder,
> >   
> >> On Mon, 9 Sep 2019 11:11:50 +
> >> Schrempf Frieder  wrote:
> >>  
> >>> Hi Lukasz,
> >>>
> >>> On 05.09.19 20:09, Tom Rini wrote:  
>  On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>   
> > This patch series introduces new SPL and TPL specific Kconfig
> > entries for DM_SPI* options. Such change allows using the spi
> > driver in SPL/TPL or U-Boot proper.
> >
> > First two patches - related to ls10{42}* NXP soc fix some issues
> > with defining the DM_SPI* defines in .h file instead of
> > Kconfig.
> >
> > This series doesn't introduce build breaks, but board
> > maintainers are kindly asked to check if their boards still
> > boots.
> >
> > Buildman setup for binary size regression checking:
> >
> > ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > --output-dir=../BUILD/ --force-build -CveE
> > ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > --output-dir=../BUILD/ -Ssdel  
> 
>  So you did fix the ls1043 problems but ls1046 is still a problem.
>    
> >>>
> >>> I was trying to clean up this config mess some weeks ago. I
> >>> stumbled over the same issues (size deltas below) when I tested
> >>> with buildman and finally gave up on it. This was my testing
> >>> branch for reference: [1].
> >>>
> >>> Thanks for your work and I hope you/we can get this sorted out
> >>> somehow...  
> >>
> >> For now I've only posted the patch to introduce SPL_DM_SPI in
> >> Kconig: https://patchwork.ozlabs.org/patch/1159655/  
> > 
> > However, I've looked on your patchset and IMHO this work could be
> > divided (as doing it at once is not feasible).
> > 
> > For example the CONFIG_SPI_FLASH_MTD could be converted to
> > (SPL_TPL_)SPI_FLASH_MTD and then one could use
> > 
> > #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c
> > (as it is only used there).
> > 
> > Then we could avoid situations where code is added as you remove it
> > here [1]:
> > https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
> > 
> > What I'm afraid though, is that split of SPI_FLASH_MTD will require
> > adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which
> > already define it (and only drop ones, which use in .h file
> > pattern as [1]).  
> 
> Yes, this looks like what I've tried to do separately in this branch
> [1].
> 
> The problem with some socfpga boards is, that they enable 
> CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling 
> CONFIG_SPI_FLASH, which is probably wrong.

It looks to me like the code in:
https://github.com/fschrempf/u-boot/commit/059d67efa34da92aaf738758e596f436203c84c2#diff-9d3e174d033b8b9c9d380a22a81600aaL136

is to prevent ALL socfpgas from compiling in FLASH MTD support to SPL,
as it causes build breaks (as I do have such situation in one of my
boards - it uses tiny SPI in SPL to read data from SPI-NOR, without the
need to enable MTD there) .

In other words those boards only use FLASH MTD driver in U-Boot proper.
(and probably there shall not be any deltas in buildman build binaries
[*])

> So I tried to correct
> this, but looking at it again, this should be done separately.
> 
> So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and 
> rebase, this should be ok.

I think yes. I guess that ALL socfpgas shall have added
CONFIG_SPI_FLASH_MTD=y to their _defconfigs


It may also happen that boards, which define CONFIG_SPI_FLASH_MTD would
require both CONFIG_SPI_FLASH_MTD and CONFIG_SPL_SPI_FLASH_MTD defined
(if they don't use socfpga style .h code) to have the same
binaries build.

> 
> For this set I have still one question: Should I split the patches as 
> currently done in [1]? This would mean after the first patch some
> boards miss SPI_FLASH_MTD code and the subsequent board config
> patches correct it afterwards. Or should I merge all the changes to a
> single patch, to not break the boards in between.

I would opt for preparing one single patch with conversion (to avoid
build breaks). This would also allow easy buildman testing [*] to see
if there is any difference in sizes of binaries (elf sections to be
precise).

I would also add the patch to define CONFIG_SPL_SPI_FLASH_MTD in
Kconfig to show that such option is available for use after the
conversion (IMHO it shall be added before the conversion patch).

> Unfortunately I can't do it the other way round and apply the board 
> config changes first, as this breaks the build.

The volume of changes is rather small - so single patch would be
optimal here.

> 
> > Frieder, would you be able to work on this topic any time soon?  
> 
> I can try to find some time this weekend and try to get [1] ready.

Great, thanks :-)

> But I probably won't be able to spend serious amounts of time anytime
> soon on the 

Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-12 Thread Schrempf Frieder
Hi Lukasz,

On 10.09.19 12:22, Lukasz Majewski wrote:
> Hi Frieder,
> 
>> On Mon, 9 Sep 2019 11:11:50 +
>> Schrempf Frieder  wrote:
>>
>>> Hi Lukasz,
>>>
>>> On 05.09.19 20:09, Tom Rini wrote:
 On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:

> This patch series introduces new SPL and TPL specific Kconfig
> entries for DM_SPI* options. Such change allows using the spi
> driver in SPL/TPL or U-Boot proper.
>
> First two patches - related to ls10{42}* NXP soc fix some issues
> with defining the DM_SPI* defines in .h file instead of
> Kconfig.
>
> This series doesn't introduce build breaks, but board maintainers
> are kindly asked to check if their boards still boots.
>
> Buildman setup for binary size regression checking:
>
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> --output-dir=../BUILD/ --force-build -CveE
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> --output-dir=../BUILD/ -Ssdel

 So you did fix the ls1043 problems but ls1046 is still a problem.
 
>>>
>>> I was trying to clean up this config mess some weeks ago. I
>>> stumbled over the same issues (size deltas below) when I tested
>>> with buildman and finally gave up on it. This was my testing branch
>>> for reference: [1].
>>>
>>> Thanks for your work and I hope you/we can get this sorted out
>>> somehow...
>>
>> For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
>> https://patchwork.ozlabs.org/patch/1159655/
> 
> However, I've looked on your patchset and IMHO this work could be
> divided (as doing it at once is not feasible).
> 
> For example the CONFIG_SPI_FLASH_MTD could be converted to
> (SPL_TPL_)SPI_FLASH_MTD and then one could use
> 
> #if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c (as
> it is only used there).
> 
> Then we could avoid situations where code is added as you remove it
> here [1]:
> https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136
> 
> What I'm afraid though, is that split of SPI_FLASH_MTD will require
> adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which already
> define it (and only drop ones, which use in .h file pattern as
> [1]).

Yes, this looks like what I've tried to do separately in this branch [1].

The problem with some socfpga boards is, that they enable 
CONFIG_SPI_FLASH_MTD in socfpga_common.h, without enabling 
CONFIG_SPI_FLASH, which is probably wrong. So I tried to correct this, 
but looking at it again, this should be done separately.

So if I remove the added "CONFIG_SPI_FLASH=y" from my patches and 
rebase, this should be ok.

For this set I have still one question: Should I split the patches as 
currently done in [1]? This would mean after the first patch some boards 
miss SPI_FLASH_MTD code and the subsequent board config patches correct 
it afterwards. Or should I merge all the changes to a single patch, to 
not break the boards in between.
Unfortunately I can't do it the other way round and apply the board 
config changes first, as this breaks the build.

> Frieder, would you be able to work on this topic any time soon?

I can try to find some time this weekend and try to get [1] ready. But I 
probably won't be able to spend serious amounts of time anytime soon on 
the remaining tasks.

Thanks,
Frieder

[1]: https://github.com/fschrempf/u-boot/commits/spi_flash_mtd_cleanup
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-10 Thread Lukasz Majewski
Hi Frieder,

> On Mon, 9 Sep 2019 11:11:50 +
> Schrempf Frieder  wrote:
> 
> > Hi Lukasz,
> > 
> > On 05.09.19 20:09, Tom Rini wrote:  
> > > On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> > >   
> > >> This patch series introduces new SPL and TPL specific Kconfig
> > >> entries for DM_SPI* options. Such change allows using the spi
> > >> driver in SPL/TPL or U-Boot proper.
> > >>
> > >> First two patches - related to ls10{42}* NXP soc fix some issues
> > >> with defining the DM_SPI* defines in .h file instead of
> > >> Kconfig.
> > >>
> > >> This series doesn't introduce build breaks, but board maintainers
> > >> are kindly asked to check if their boards still boots.
> > >>
> > >> Buildman setup for binary size regression checking:
> > >>
> > >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > >> --output-dir=../BUILD/ --force-build -CveE
> > >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> > >> --output-dir=../BUILD/ -Ssdel
> > > 
> > > So you did fix the ls1043 problems but ls1046 is still a problem.
> > >
> > 
> > I was trying to clean up this config mess some weeks ago. I
> > stumbled over the same issues (size deltas below) when I tested
> > with buildman and finally gave up on it. This was my testing branch
> > for reference: [1].
> > 
> > Thanks for your work and I hope you/we can get this sorted out
> > somehow...  
> 
> For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
> https://patchwork.ozlabs.org/patch/1159655/

However, I've looked on your patchset and IMHO this work could be
divided (as doing it at once is not feasible).

For example the CONFIG_SPI_FLASH_MTD could be converted to 
(SPL_TPL_)SPI_FLASH_MTD and then one could use

#if CONFIG_IS_ENABLED(SPI_FLASH_MTD) in drivers/mtd/spi/sf_probe.c (as
it is only used there).

Then we could avoid situations where code is added as you remove it
here [1]:
https://github.com/fschrempf/u-boot/commit/b6489fb5928c2b41d7e4cb39933f078659b4f10e#diff-9d3e174d033b8b9c9d380a22a81600aaL136

What I'm afraid though, is that split of SPI_FLASH_MTD will require
adding unwillingly SPL_(TPL_)SPI_FLASH_MTD to all boards which already
define it (and only drop ones, which use in .h file pattern as
[1]).


Frieder, would you be able to work on this topic any time soon?



> 
> > 
> > Regards,
> > Frieder
> > 
> > [1]:
> > https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl
> >   
> > > There's also changes in (add 'B' to the buildman flags above for
> > > this info):
> > > x86: (for 26/26 boards) spl/u-boot-spl:all -31.6
> > > spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3
> > > spl/u-boot-spl:text -13.9 qemu-x86_64: spl/u-boot-spl:all -821
> > > spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164
> > > spl/u-boot-spl:text -361 spl-u-boot-spl: add: 0/-10, grow: 0/0
> > > bytes: 0/-657 (-657) function
> > > old new   delta spi_flash_post_bind  3
> > >  -  -3 dev_get_parent_priv 11   -
> > >   -11 spi_post_probe  35   -
> > > -35 spi_child_post_bind 37   - -37
> > > spi_child_pre_probe 46   - -46
> > > _u_boot_list_2_driver_2_spi_generic_drv  68   - -68
> > > _u_boot_list_2_uclass_2_spi_nor 76   - -76
> > > _u_boot_list_2_uclass_2_spi_generic 76   - -76
> > > _u_boot_list_2_uclass_2_spi 76   - -76
> > > spi_slave_ofdata_to_platdata   229   --229
> > > arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2
> > > spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1
> > > spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0
> > > spl/u-boot-spl:text -7.2 text -12.9 uniphier_v7: bss -8 rodata
> > > +8 opos6uldev : bss -8 rodata +8 uniphier_ld4_sld8: bss -8
> > > rodata +8 da850evm   : spl/u-boot-spl:all -614
> > > spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150
> > > spl/u-boot-spl:text -320 spl-u-boot-spl: add: 2/-15, grow: 2/0
> > > bytes: 112/-574 (-462) function
> > > old new   delta spi_flash_probe 38
> > > 82 +44 spi_setup_slave  -
> > > 42 +42 spl_spi_load_image 124 144
> > >   +20 spi_free_slave   -   6
> > > +6 spi_flash_std_remove 4   -  -4
> > > spi_flash_post_bind  4   -  -4
> > > spi_flash_cmd_get_sw_write_prot  8   -  -8
> > > aeabi_uidivmod_from_thumb8   -  -8
> > > spi_flash_std_get_sw_write_prot 18   - -18
> > > spi_flash_read_dm   20   - -20
> > > __aeabi_uidivmod24   - -24
> > > __aeabi_idivmod 24   - -24
> > > spi_flash_std_write  

Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-09 Thread Lukasz Majewski
On Mon, 9 Sep 2019 11:11:50 +
Schrempf Frieder  wrote:

> Hi Lukasz,
> 
> On 05.09.19 20:09, Tom Rini wrote:
> > On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:  
> >> This patch series introduces new SPL and TPL specific Kconfig
> >> entries for DM_SPI* options. Such change allows using the spi
> >> driver in SPL/TPL or U-Boot proper.
> >>
> >> First two patches - related to ls10{42}* NXP soc fix some issues
> >> with defining the DM_SPI* defines in .h file instead of
> >> Kconfig.
> >>
> >> This series doesn't introduce build breaks, but board maintainers
> >> are kindly asked to check if their boards still boots.
> >>
> >> Buildman setup for binary size regression checking:
> >>
> >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >> --output-dir=../BUILD/ --force-build -CveE
> >> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043
> >> --output-dir=../BUILD/ -Ssdel  
> > 
> > So you did fix the ls1043 problems but ls1046 is still a problem.  
> 
> I was trying to clean up this config mess some weeks ago. I stumbled 
> over the same issues (size deltas below) when I tested with buildman
> and finally gave up on it. This was my testing branch for reference:
> [1].
> 
> Thanks for your work and I hope you/we can get this sorted out
> somehow...

For now I've only posted the patch to introduce SPL_DM_SPI in Kconig:
https://patchwork.ozlabs.org/patch/1159655/

> 
> Regards,
> Frieder
> 
> [1]:
> https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl
> 
> > There's also changes in (add 'B' to the buildman flags above for
> > this info):
> > x86: (for 26/26 boards) spl/u-boot-spl:all -31.6
> > spl/u-boot-spl:data -11.4 spl/u-boot-spl:rodata -6.3
> > spl/u-boot-spl:text -13.9 qemu-x86_64: spl/u-boot-spl:all -821
> > spl/u-boot-spl:data -296 spl/u-boot-spl:rodata -164
> > spl/u-boot-spl:text -361 spl-u-boot-spl: add: 0/-10, grow: 0/0
> > bytes: 0/-657 (-657) function   old
> > new   delta spi_flash_post_bind  3
> >  -  -3 dev_get_parent_priv 11   -
> >   -11 spi_post_probe  35   -
> > -35 spi_child_post_bind 37   - -37
> > spi_child_pre_probe 46   - -46
> > _u_boot_list_2_driver_2_spi_generic_drv  68   - -68
> > _u_boot_list_2_uclass_2_spi_nor 76   - -76
> > _u_boot_list_2_uclass_2_spi_generic 76   - -76
> > _u_boot_list_2_uclass_2_spi 76   - -76
> > spi_slave_ofdata_to_platdata   229   --229 arm:
> > (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2
> > spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1
> > spl/u-boot-spl:data -1.9 spl/u-boot-spl:rodata -2.0
> > spl/u-boot-spl:text -7.2 text -12.9 uniphier_v7: bss -8 rodata
> > +8 opos6uldev : bss -8 rodata +8 uniphier_ld4_sld8: bss -8
> > rodata +8 da850evm   : spl/u-boot-spl:all -614
> > spl/u-boot-spl:data -144 spl/u-boot-spl:rodata -150
> > spl/u-boot-spl:text -320 spl-u-boot-spl: add: 2/-15, grow: 2/0
> > bytes: 112/-574 (-462) function
> > old new   delta spi_flash_probe 38
> > 82 +44 spi_setup_slave  -
> > 42 +42 spl_spi_load_image 124 144
> >   +20 spi_free_slave   -   6
> > +6 spi_flash_std_remove 4   -  -4
> > spi_flash_post_bind  4   -  -4
> > spi_flash_cmd_get_sw_write_prot  8   -  -8
> > aeabi_uidivmod_from_thumb8   -  -8
> > spi_flash_std_get_sw_write_prot 18   - -18
> > spi_flash_read_dm   20   - -20
> > __aeabi_uidivmod24   - -24
> > __aeabi_idivmod 24   - -24
> > spi_flash_std_write 42   - -42
> > spi_flash_std_read  42   - -42
> > spi_flash_probe_bus_cs  56   - -56
> > _u_boot_list_2_driver_2_spi_flash_std   68   - -68
> > _u_boot_list_2_uclass_2_spi_nor 76   - -76
> > spi_flash_std_probe 88   - -88
> > spi_flash_std_erase 92   - -92
> > da850evm_nand  : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144
> > spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320 spl-u-boot-spl:
> > add: 2/-15, grow: 2/0 bytes: 112/-574 (-462) function
> > old new   delta spi_flash_probe
> > 38  82 +44 spi_setup_slave
> > -  42 +42 spl_spi_load_image
> >  124 144 +20 spi_free_slave
> >   -   6  +6 spi_flash_std_remove 4
> >  -  -4 spi_flash_post_bind   

Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-09 Thread Schrempf Frieder
Hi Lukasz,

On 05.09.19 20:09, Tom Rini wrote:
> On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
>> This patch series introduces new SPL and TPL specific Kconfig entries for
>> DM_SPI* options. Such change allows using the spi driver in SPL/TPL or
>> U-Boot proper.
>>
>> First two patches - related to ls10{42}* NXP soc fix some issues with
>> defining the DM_SPI* defines in .h file instead of Kconfig.
>>
>> This series doesn't introduce build breaks, but board maintainers are kindly
>> asked to check if their boards still boots.
>>
>> Buildman setup for binary size regression checking:
>>
>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ 
>> --force-build -CveE
>> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ 
>> -Ssdel
> 
> So you did fix the ls1043 problems but ls1046 is still a problem.

I was trying to clean up this config mess some weeks ago. I stumbled 
over the same issues (size deltas below) when I tested with buildman and 
finally gave up on it. This was my testing branch for reference: [1].

Thanks for your work and I hope you/we can get this sorted out somehow...

Regards,
Frieder

[1]: https://github.com/fschrempf/u-boot/commits/non_dm_spi_flash_in_spl

> There's also changes in (add 'B' to the buildman flags above for this
> info):
> x86: (for 26/26 boards) spl/u-boot-spl:all -31.6 spl/u-boot-spl:data 
> -11.4 spl/u-boot-spl:rodata -6.3 spl/u-boot-spl:text -13.9
>  qemu-x86_64: spl/u-boot-spl:all -821 spl/u-boot-spl:data 
> -296 spl/u-boot-spl:rodata -164 spl/u-boot-spl:text -361
> spl-u-boot-spl: add: 0/-10, grow: 0/0 bytes: 0/-657 (-657)
>   function   old new   
> delta
>   spi_flash_post_bind  3   -  
> -3
>   dev_get_parent_priv 11   - 
> -11
>   spi_post_probe  35   - 
> -35
>   spi_child_post_bind 37   - 
> -37
>   spi_child_pre_probe 46   - 
> -46
>   _u_boot_list_2_driver_2_spi_generic_drv  68   - 
> -68
>   _u_boot_list_2_uclass_2_spi_nor 76   - 
> -76
>   _u_boot_list_2_uclass_2_spi_generic 76   - 
> -76
>   _u_boot_list_2_uclass_2_spi 76   - 
> -76
>   spi_slave_ofdata_to_platdata   229   -
> -229
> arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2 
> spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1 spl/u-boot-spl:data -1.9 
> spl/u-boot-spl:rodata -2.0 spl/u-boot-spl:text -7.2 text -12.9
>  uniphier_v7: bss -8 rodata +8
>  opos6uldev : bss -8 rodata +8
>  uniphier_ld4_sld8: bss -8 rodata +8
>  da850evm   : spl/u-boot-spl:all -614 spl/u-boot-spl:data 
> -144 spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
> spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
>   function   old new   
> delta
>   spi_flash_probe 38  82 
> +44
>   spi_setup_slave  -  42 
> +42
>   spl_spi_load_image 124 144 
> +20
>   spi_free_slave   -   6  
> +6
>   spi_flash_std_remove 4   -  
> -4
>   spi_flash_post_bind  4   -  
> -4
>   spi_flash_cmd_get_sw_write_prot  8   -  
> -8
>   aeabi_uidivmod_from_thumb8   -  
> -8
>   spi_flash_std_get_sw_write_prot 18   - 
> -18
>   spi_flash_read_dm   20   - 
> -20
>   __aeabi_uidivmod24   - 
> -24
>   __aeabi_idivmod 24   - 
> -24
>   spi_flash_std_write 42   - 
> -42
>   spi_flash_std_read  42   - 
> -42
>   spi_flash_probe_bus_cs  56   - 
> -56
>   _u_boot_list_2_driver_2_spi_flash_std   68   - 
> -68
>   _u_boot_list_2_uclass_2_spi_nor 76   - 
> -76
>   spi_flash_std_probe 88   - 
> -88
>   spi_flash_std_erase 92   - 
> -92
>  da850evm_nand  : spl/u-boot-spl:all -614 

Re: [U-Boot] [PATCH v3 0/3] spi: Split CONFIG_DM_SPI* to CONFIG_{SPL_TPL}DM_SPI*

2019-09-05 Thread Tom Rini
On Thu, Sep 05, 2019 at 12:16:36AM +0200, Lukasz Majewski wrote:
> This patch series introduces new SPL and TPL specific Kconfig entries for
> DM_SPI* options. Such change allows using the spi driver in SPL/TPL or
> U-Boot proper.
> 
> First two patches - related to ls10{42}* NXP soc fix some issues with
> defining the DM_SPI* defines in .h file instead of Kconfig.
> 
> This series doesn't introduce build breaks, but board maintainers are kindly
> asked to check if their boards still boots.
> 
> Buildman setup for binary size regression checking:
> 
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ 
> --force-build -CveE
> ./tools/buildman/buildman.py -b HEAD --count=4 ls1043 --output-dir=../BUILD/ 
> -Ssdel

So you did fix the ls1043 problems but ls1046 is still a problem.
There's also changes in (add 'B' to the buildman flags above for this
info):
   x86: (for 26/26 boards) spl/u-boot-spl:all -31.6 spl/u-boot-spl:data 
-11.4 spl/u-boot-spl:rodata -6.3 spl/u-boot-spl:text -13.9
qemu-x86_64: spl/u-boot-spl:all -821 spl/u-boot-spl:data -296 
spl/u-boot-spl:rodata -164 spl/u-boot-spl:text -361
   spl-u-boot-spl: add: 0/-10, grow: 0/0 bytes: 0/-657 (-657)
 function   old new   delta
 spi_flash_post_bind  3   -  -3
 dev_get_parent_priv 11   - -11
 spi_post_probe  35   - -35
 spi_child_post_bind 37   - -37
 spi_child_pre_probe 46   - -46
 _u_boot_list_2_driver_2_spi_generic_drv  68   - -68
 _u_boot_list_2_uclass_2_spi_nor 76   - -76
 _u_boot_list_2_uclass_2_spi_generic 76   - -76
 _u_boot_list_2_uclass_2_spi 76   - -76
 spi_slave_ofdata_to_platdata   229   --229
   arm: (for 688/688 boards) all -19.6 bss -4.5 rodata -2.2 
spl/u-boot-spl:all -12.2 spl/u-boot-spl:bss -1.1 spl/u-boot-spl:data -1.9 
spl/u-boot-spl:rodata -2.0 spl/u-boot-spl:text -7.2 text -12.9
uniphier_v7: bss -8 rodata +8
opos6uldev : bss -8 rodata +8
uniphier_ld4_sld8: bss -8 rodata +8
da850evm   : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 
spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
   spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
 function   old new   delta
 spi_flash_probe 38  82 +44
 spi_setup_slave  -  42 +42
 spl_spi_load_image 124 144 +20
 spi_free_slave   -   6  +6
 spi_flash_std_remove 4   -  -4
 spi_flash_post_bind  4   -  -4
 spi_flash_cmd_get_sw_write_prot  8   -  -8
 aeabi_uidivmod_from_thumb8   -  -8
 spi_flash_std_get_sw_write_prot 18   - -18
 spi_flash_read_dm   20   - -20
 __aeabi_uidivmod24   - -24
 __aeabi_idivmod 24   - -24
 spi_flash_std_write 42   - -42
 spi_flash_std_read  42   - -42
 spi_flash_probe_bus_cs  56   - -56
 _u_boot_list_2_driver_2_spi_flash_std   68   - -68
 _u_boot_list_2_uclass_2_spi_nor 76   - -76
 spi_flash_std_probe 88   - -88
 spi_flash_std_erase 92   - -92
da850evm_nand  : spl/u-boot-spl:all -614 spl/u-boot-spl:data -144 
spl/u-boot-spl:rodata -150 spl/u-boot-spl:text -320
   spl-u-boot-spl: add: 2/-15, grow: 2/0 bytes: 112/-574 (-462)
 function   old new   delta
 spi_flash_probe 38  82 +44
 spi_setup_slave  -  42 +42
 spl_spi_load_image 124 144 +20
 spi_free_slave   -   6  +6
 spi_flash_std_remove 4   -  -4
 spi_flash_post_bind