All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Jesse Taube <mr.bossman075@gmail.com>
Cc: samuel@sholland.org, u-boot@lists.denx.de,
	jagan@amarulasolutions.com, hdegoede@redhat.com,
	sjg@chromium.org, icenowy@aosc.io, marek.behun@nic.cz,
	festevam@denx.de, narmstrong@baylibre.com, tharvey@gateworks.com,
	christianshewitt@gmail.com, pbrobinson@gmail.com,
	jernej.skrabec@gmail.com, hs@denx.de, arnaud.ferraris@gmail.com,
	giulio.benetti@benettiengineering.com,
	thirtythreeforty@gmail.com
Subject: Re: [PATCH v2 02/12] mach-sunxi: Move timer code to mach folder
Date: Fri, 28 Jan 2022 14:28:03 +0000	[thread overview]
Message-ID: <20220128142803.2d8369eb@donnerap.cambridge.arm.com> (raw)
In-Reply-To: <a65264d2-a47d-4d2d-4049-8ccaf5aff7c3@gmail.com>

On Thu, 27 Jan 2022 23:51:09 -0500
Jesse Taube <mr.bossman075@gmail.com> wrote:

Hi Jesse,

> On 1/27/22 19:41, Andre Przywara wrote:
> > On Thu, 27 Jan 2022 15:40:13 -0500
> > Jesse Taube <mr.bossman075@gmail.com> wrote:
> > 
> > Hi,
> >   
> >> On 1/27/22 05:21, Andre Przywara wrote:  
> >>> On Wed, 26 Jan 2022 08:53:19 -0500
> >>> Jesse Taube <mr.bossman075@gmail.com> wrote:
> >>>      
> >>>> Both armv7 and arm926ejs use this timer code so move it to mach-sunxi.  
> >>>
> >>> Very nice, thanks for cleaning this up.
> >>>
> >>> But please remove the respective line from the Makefile in
> >>> arch/arm/cpu/armv7/sunxi/, otherwise 32-bit board builds fail:
> >>> make[2]: *** No rule to make target 'arch/arm/cpu/armv7/sunxi/timer.o' ...  
> >> Oh my I'm very sorry about this. There is one thing though
> >> arch/arm/cpu/armv7/sunxi/ needs to have one .o file in there to compile.
> >> If I remove `ifdef CONFIG_SPL_BUILD` for fel_utils it will work but its
> >> not used in u-boot proper.  
> > 
> > Mmh, not sure I follow, I cannot reproduce any problem. Can you
> > elaborate? And did you do a "make clean" afterwards?  
> If nothing is built by that MAKEFILE which would happen if
> !(CONFIG_MACH_SUN6I || CONFIG_MACH_SUN8I_H3
> CONFIG_MACH_SUN8I || CONFIG_ARMV7_PSCI) it will error with the following
> `ar: arch/arm/cpu/armv7/sunxi/built-in.o: No such file or directory`

How did you trigger this? I built all 159 (+1 F1C100s) sunxi defconfigs
without errors.
What toolchain are you using? I see that for instance Cubieboard_defconfig
comes out empty for U-Boot proper, but this does not seem to be a problem
for my "arm-linux-gnueabihf-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0" and
"GNU ld (GNU Binutils for Ubuntu) 2.34". I see an 8 byte sized built-in.o,
and no other .o files in the directory.

> I don't know if there is a config that will break it currently but it is 
> possible. So we will have to let it generate some .o file. Even if it is 
> optimized out.
> 
> Should I still wait for your review of V2?

I will check the rest of the patches today, but there are only minor
things.

> Also thank you so much for being interested in this!

Yeah, I decided to bite the bullet and join Allwinner's race to the
bottom ;-) After all, a mainline Linux capable device in the size of an SD
card has something to it, even when it's missing half of the bits ;-)
I ordered a LicheePi Nano, but not sure if that makes it out before
Chinese New Year still.

> Have my patches been okay so far?

They look good so far, yes.

> I really hope this gets in before cleanup of sunxi starts as rebasing it 
> was already difficult.

Pretty sure of that.

Cheers,
Andre

> 
> Thank you,
> 	Jesse Taube
> > Cheers, 
> > Andre
> > 
> >   
> >>> Cheers,
> >>> Andre
> >>>      
> >>>> Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
> >>>> ---
> >>>> V1->V2:
> >>>> * New commit
> >>>> ---
> >>>>    arch/arm/mach-sunxi/Makefile                     | 3 +++
> >>>>    arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c | 7 ++++---
> >>>>    2 files changed, 7 insertions(+), 3 deletions(-)
> >>>>    rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%)
> >>>>
> >>>> diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile
> >>>> index 5d3fd70f74..b1adb75e17 100644
> >>>> --- a/arch/arm/mach-sunxi/Makefile
> >>>> +++ b/arch/arm/mach-sunxi/Makefile
> >>>> @@ -25,6 +25,9 @@ obj-$(CONFIG_MACH_SUN8I)	+= clock_sun6i.o
> >>>>    endif
> >>>>    obj-$(CONFIG_MACH_SUN9I)	+= clock_sun9i.o gtbus_sun9i.o
> >>>>    obj-$(CONFIG_SUN50I_GEN_H6)	+= clock_sun50i_h6.o
> >>>> +ifndef CONFIG_ARM64
> >>>> +obj-y	+= timer.o
> >>>> +endif
> >>>>    
> >>>>    ifdef CONFIG_SPL_BUILD
> >>>>    obj-$(CONFIG_DRAM_SUN4I)	+= dram_sun4i.o
> >>>> diff --git a/arch/arm/cpu/armv7/sunxi/timer.c b/arch/arm/mach-sunxi/timer.c
> >>>> similarity index 97%
> >>>> rename from arch/arm/cpu/armv7/sunxi/timer.c
> >>>> rename to arch/arm/mach-sunxi/timer.c
> >>>> index b758599636..fc9d419a25 100644
> >>>> --- a/arch/arm/cpu/armv7/sunxi/timer.c
> >>>> +++ b/arch/arm/mach-sunxi/timer.c
> >>>> @@ -51,6 +51,7 @@ int timer_init(void)
> >>>>    	struct sunxi_timer_reg *timers =
> >>>>    		(struct sunxi_timer_reg *)SUNXI_TIMER_BASE;
> >>>>    	struct sunxi_timer *timer = &timers->timer[TIMER_NUM];
> >>>> +
> >>>>    	writel(TIMER_LOAD_VAL, &timer->inter);
> >>>>    	writel(TIMER_MODE | TIMER_DIV | TIMER_SRC | TIMER_RELOAD | TIMER_EN,
> >>>>    	       &timer->ctl);
> >>>> @@ -58,15 +59,14 @@ int timer_init(void)
> >>>>    	return 0;
> >>>>    }
> >>>>    
> >>>> -/* timer without interrupts */
> >>>>    static ulong get_timer_masked(void)
> >>>>    {
> >>>>    	/* current tick value */
> >>>>    	ulong now = TICKS_TO_HZ(read_timer());
> >>>>    
> >>>> -	if (now >= gd->arch.lastinc)	/* normal (non rollover) */
> >>>> +	if (now >= gd->arch.lastinc) {	/* normal (non rollover) */
> >>>>    		gd->arch.tbl += (now - gd->arch.lastinc);
> >>>> -	else {
> >>>> +	} else {
> >>>>    		/* rollover */
> >>>>    		gd->arch.tbl += (TICKS_TO_HZ(TIMER_LOAD_VAL)
> >>>>    				- gd->arch.lastinc) + now;
> >>>> @@ -76,6 +76,7 @@ static ulong get_timer_masked(void)
> >>>>    	return gd->arch.tbl;
> >>>>    }
> >>>>    
> >>>> +/* timer without interrupts */
> >>>>    ulong get_timer(ulong base)
> >>>>    {
> >>>>    	return get_timer_masked() - base;  
> >>>      
> >   


  reply	other threads:[~2022-01-28 14:28 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-26 13:53 [PATCH v2 00/12] Add support for SUNIV and F1C100s Jesse Taube
2022-01-26 13:53 ` [PATCH v2 01/12] arm: arm926ej-s: start.S: port save_boot_params support from armv7 code Jesse Taube
2022-01-26 13:53 ` [PATCH v2 02/12] mach-sunxi: Move timer code to mach folder Jesse Taube
2022-01-27 10:21   ` Andre Przywara
2022-01-27 20:40     ` Jesse Taube
2022-01-28  0:41       ` Andre Przywara
2022-01-28  4:51         ` Jesse Taube
2022-01-28 14:28           ` Andre Przywara [this message]
2022-01-28 22:40             ` Jesse Taube
2022-01-26 13:53 ` [PATCH v2 03/12] arm: arm926ej-s: Add sunxi code Jesse Taube
2022-01-29  2:05   ` Andre Przywara
2022-01-29  2:42     ` Jesse Taube
2022-01-29 11:22       ` Andre Przywara
2022-01-26 13:53 ` [PATCH v2 04/12] dt-bindings: clock: Add initial suniv headers Jesse Taube
2022-01-29  2:05   ` Andre Przywara
2022-01-26 13:53 ` [PATCH v2 05/12] dt-bindings: reset: " Jesse Taube
2022-01-26 13:53 ` [PATCH v2 06/12] ARM: sunxi: Add clock and uart to sunxi headers Jesse Taube
2022-01-29  2:11   ` Andre Przywara
2022-01-26 13:53 ` [PATCH v2 07/12] sunxi: Add F1C100s DRAM initial support Jesse Taube
2022-01-26 13:53 ` [PATCH v2 08/12] sunxi: board: Add support for SUNIV Jesse Taube
2022-01-26 13:53 ` [PATCH v2 09/12] configs: sunxi: Add common SUNIV header Jesse Taube
2022-01-26 17:43   ` Jesse Taube
2022-01-29  2:18   ` Andre Przywara
2022-01-26 13:53 ` [PATCH v2 10/12] mach-sunxi: Add support for SUNIV architecture Jesse Taube
2022-01-26 13:53 ` [PATCH v2 11/12] ARM: dts: suniv: Add device tree files for F1C100s Jesse Taube
2022-01-29  2:25   ` Andre Przywara
2022-01-29  2:31     ` Jesse Taube
2022-01-29  2:37       ` Andre Przywara
2022-01-29  3:01         ` Jesse Taube
2022-01-29 11:25           ` Andre Przywara
2022-01-26 13:53 ` [PATCH v2 12/12] configs: sunxi: Add support for Lichee Pi Nano Jesse Taube
2022-01-29  2:40 ` [PATCH v2 00/12] Add support for SUNIV and F1C100s Andre Przywara
2022-01-29  2:44   ` Jesse Taube

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=20220128142803.2d8369eb@donnerap.cambridge.arm.com \
    --to=andre.przywara@arm.com \
    --cc=arnaud.ferraris@gmail.com \
    --cc=christianshewitt@gmail.com \
    --cc=festevam@denx.de \
    --cc=giulio.benetti@benettiengineering.com \
    --cc=hdegoede@redhat.com \
    --cc=hs@denx.de \
    --cc=icenowy@aosc.io \
    --cc=jagan@amarulasolutions.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=marek.behun@nic.cz \
    --cc=mr.bossman075@gmail.com \
    --cc=narmstrong@baylibre.com \
    --cc=pbrobinson@gmail.com \
    --cc=samuel@sholland.org \
    --cc=sjg@chromium.org \
    --cc=tharvey@gateworks.com \
    --cc=thirtythreeforty@gmail.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.