ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
CrashTestDummy has joined #armlinux
apritzel has quit [Ping timeout: 268 seconds]
CrashTestDummy2 has quit [Ping timeout: 264 seconds]
mripard has quit [Ping timeout: 272 seconds]
Nact has quit [Quit: Konversation terminated!]
Nact has joined #armlinux
mripard has joined #armlinux
Nact has quit [Quit: Konversation terminated!]
Nact has joined #armlinux
scosu has quit [Read error: Connection reset by peer]
scosu_ has joined #armlinux
Nact has quit [Read error: Connection reset by peer]
Nact has joined #armlinux
sakman_ has joined #armlinux
sakman has quit [Remote host closed the connection]
sakman_ is now known as sakman
Nact has quit [Quit: Konversation terminated!]
paulg has quit [Ping timeout: 268 seconds]
<punit>
milkylainen: This might sound obvious but have you checked if the Image size is suitably larger when the cpio is built into the kernel. I've had instances where I had the wrong path in the config...
elastic_dog has quit [Ping timeout: 244 seconds]
elastic_dog has joined #armlinux
apritzel has joined #armlinux
matthias_bgg has quit [Ping timeout: 268 seconds]
matthias_bgg has joined #armlinux
apritzel has quit [Ping timeout: 272 seconds]
apritzel has joined #armlinux
apritzel has quit [Ping timeout: 240 seconds]
guillaume_g has joined #armlinux
matthias_bgg has quit [Ping timeout: 268 seconds]
matthias_bgg has joined #armlinux
<milkylainen>
punit I have and it is. :) Tried different compressions. Checked the CPIO on host before the kernel includes it. Seems completely fine. Tried uefi-stubbed U-boot + zboot a kernel with initrd. No go. Tried efi-stubbed kernel with builtin initrd. Same. No matter what I do I cannot get the kernel to realize that it has a builin cpio archive to use as
<milkylainen>
initrd.
sszy has joined #armlinux
prabhakarlad has joined #armlinux
audgirka has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
prabhakarlad has joined #armlinux
milkylainen has quit [Quit: Connection closed]
milkylainen has joined #armlinux
sszy has quit [Ping timeout: 244 seconds]
apritzel has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
maz has joined #armlinux
audgirka_ has joined #armlinux
audgirka has quit [Ping timeout: 244 seconds]
prabhakarlad has joined #armlinux
milkylainen has quit [Quit: Connection closed]
<broonie>
Whatever the actual problem is it seems like there's also work to do improving the diagnostics, if there's a Kconfig saying there's something built in there ought to be explicit error messages if we can't find it.
<javierm>
broonie: +1
CrashTestDummy2 has joined #armlinux
sszy has joined #armlinux
CrashTestDummy has quit [Ping timeout: 244 seconds]
<geertu>
Doh, the spanish autoresponder is still subscribed to lakml.
<geertu>
dwmw2 not responding to forced unsubscribe requests?
<javierm>
geertu: so weird. The first time I saw that went to double check if I Cc'ed by mystake
<broonie>
IIRC people did look and it's not obviously subscribed directly or something (eg, someone with a forwarder). ICBW though.
prabhakarlad has quit [Quit: Client closed]
prabhakarlad has joined #armlinux
atorgue has quit [Quit: Leaving.]
atorgue has joined #armlinux
<apritzel>
how much hackery is usually tolerated to avoid 64-bit (or long) divisions (which result in: "undefined reference to `__udivdi3'" on ARM)?
<arnd>
apritzel: if you can prove that a 32-bit division is sufficient, doing that is usually preferred over an explicit div_u64
<apritzel>
I need the "days since the epoch", so use "time64_t / 86400" atm, and changed that to: ((unsigned int)(time64_t >> 7) / 765)
<apritzel>
which solves both year 2038 and the division, but I am wondering if that is too hackish
<arnd>
apritzel: how perfomance-critical is it?
<apritzel>
not at all, RTC
<arnd>
and what do you do with that number?
<apritzel>
write into some RTC MMIO register
<arnd>
apritzel: would using time64_to_tm() solve your problem?
<arnd>
or rtc_time64_to_tm(), alternatively
<apritzel>
I actually come from a broken down struct rtc_time, and need the days since the epoch (don't ask: Allwinner ;-)
<arnd>
apritzel: doing rtc_time64_to_tm() should actually be faster on pre-ARMv7VE which don't have a 32-bit integer division instruction, as that ends up using the optimized division-through-multiplcation
<arnd>
ah
<apritzel>
the compiler does umul anyway, in arm64 and in my "/ 765" above
<arnd>
apritzel: not related to the Rockchip November-31 bug I guess?
<apritzel>
no, they decided to avoid any kind of calendar in hardware, and now just count days
<apritzel>
leaving the conversion to month and days to software
<apritzel>
and lifting their very own year 2033 limit on the way
<arnd>
ah, so you use rtc_tm_to_time64() to compute the seconds rather than having to implement the y/m/d to day conversion yourself
<apritzel>
exactly
<arnd>
apritzel: have you asked abelloni? He may have solved that problem elsewhere already
<arnd>
if you just need to do that division, then using div_u64(time, 86400) should be obvious and reasonably fast, by degrading to a mul+shift
<apritzel>
so I have now a static u32 seconds_to_days(time64_t), with a fat comment (and a single line of code), was just wondering if that problem popped up elsewhere already
<apritzel>
arnd: div_u64> good idea, will look at that
<abelloni>
there are couple other RTCs doing that
<abelloni>
blackfin, cpcap, davinci
<apritzel>
abelloni: indeed, I tried to look for that, but should have just grep'ed for 86400 ;-)
<apritzel>
abelloni: thanks!
<abelloni>
convert2days
<abelloni>
rtc2cpcap_time
<abelloni>
they are not great :)
<abelloni>
set_alarm_or_time does a div_s64_rem
<abelloni>
apritzel: I didn't reply to the series yet but something that would be great is to stop doing the offsetting in the driver and let the core handle that
<abelloni>
i.e. getting rid of SUNXI_YEAR_OFF
<apritzel>
seems like that turns into a separate series ;-), found some "long" bugs on the way ...
paulg has joined #armlinux
<arnd>
abelloni, apritzel: note that the 'signed' helpers, div_s64() and div_s64_rem() are out-of-line, so these will not get the compile-time optimization for constant divisor. If you know that the dividend is positive, use the _u64 version
<apritzel>
arnd: good hint, and yeah, "seconds since 1970" should be positive
<apritzel>
(hopefully there are no Allwinner chips in DeLoreans ...)
<arnd>
apritzel: whichever way you do the calculation, it usually makes sense to pick a range that goes as far into the future as reasonable
<arnd>
apritzel: do you know the reported time on a dead battery?
<arnd>
if it's constant, every other value should ideally be interpreted as later than that
<geertu>
arnd: 0xffffffffU? ;-)
CrashTestDummy3 has joined #armlinux
<apritzel>
arnd: the new RTC stores 16 bits worth of days - I hope we won't have to deal with AW chips after 2149 anymore
<apritzel>
and on power-up it's all zero
<apritzel>
the BSP driver uses the UNIX epoch, and it's the easiest, so I just copied that
<arnd>
yes, makes sense
<arnd>
128 years from now is long enough that we don't have to add any tricks to extend the range
<abelloni>
but there is no trick
<apritzel>
that's probably what they said about 2038 back then ;-)
CrashTestDummy2 has quit [Ping timeout: 240 seconds]
<abelloni>
the driver should just do what the HW supports naturally and leave any range offsetting/windowing to the core
<arnd>
and also short enough that it would be a bad idea to treat the day number is 'signed', which would give you a range from 1880 to 2060
<arnd>
abelloni: right, that is the most sensible way
<apritzel>
arnd: but 1880 would cover Back to the Future III !!!1!!
<abelloni>
and again, the RTC core already allows you to do that
audgirka_ has quit [Remote host closed the connection]
CrashTestDummy has joined #armlinux
nsaenz has quit [Remote host closed the connection]
nsaenz has joined #armlinux
CrashTestDummy3 has quit [Ping timeout: 244 seconds]
prabhakarlad has quit [Quit: Client closed]
prabhakarlad has joined #armlinux
Nact has joined #armlinux
guillaume_g has quit [Quit: Konversation terminated!]
matthias_bgg has quit [Quit: Leaving]
prabhakarlad has quit [Quit: Client closed]
nsaenz has quit [Read error: Connection reset by peer]