All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikko Rapeli <mikko.rapeli@linaro.org>
To: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: poky@lists.yoctoproject.org
Subject: Re: [poky] [PATCH] linux-yocto: fix compilation of 6.16 kernel on genericarm64
Date: Thu, 28 Aug 2025 09:02:33 +0300	[thread overview]
Message-ID: <aK_w-XjLA3cWLUHA@nuoska> (raw)
In-Reply-To: <CADkTA4McmV9giAU_pZG4eFcKZ_aoOgqE0R40NU2dfgK+WBz_kA@mail.gmail.com>

Hi,

On Wed, Aug 27, 2025 at 09:59:14PM -0300, Bruce Ashfield wrote:
> On Wed, Aug 27, 2025 at 11:14 AM Mikko Rapeli <mikko.rapeli@linaro.org>
> wrote:
> > On Wed, Aug 27, 2025 at 10:55:14AM -0300, Bruce Ashfield wrote:
> > > On Wed, Aug 27, 2025 at 7:11 AM Mikko Rapeli via lists.yoctoproject.org
> > > <mikko.rapeli=linaro.org@lists.yoctoproject.org> wrote:
> > >
> > > > If the TI serial console revert is still needed, which needs
> > > > to be confirmed separately, then one extra revert is needed
> > > > for 6.16 kernel to compile for genericarm64 machine.
> > > > Tested boot and oeqa runtime tests on arm64 build machine
> > > > with qemu and qemu kvm on AMD KV260:
> > > >
> > >
> > > Are those different from ones on 6.12. or the same ? I just ask (i didn't
> > > find anything in a quick search), since if I dropped them, that is my
> > > mistake (When I merge patches that are to be carried forward, they
> > > go into kernel-cache master and will always be in the next version).
> >
> > Yes, the same revert as in 6.12 bbappend.
> >
> > > The real reason I ask is that we shouldn't be patching linux-yocto
> > > like this in a bbappend. I can simply to the reverts and apply the
> > > patches on the BSP branch or v6.16/standard/base if they are
> > > appropriate for all boards.
> >
> > Right. So I should move the patches from linux-yocto bbappend in
> > poky/meta-yocto-bsp to linux-yocto proper for genericarm64?
> > A new branch for genericarm64 would be needed then.
> >
> > If there is a way to reproduce the BeaglePlay serial console
> > issue we could also try the kernel without reverts.
> >
> 
> I forgot to reply to this part.
> 
> I'm not fully aware of the issues, so I haven't tried myself. Do you
> have the subject of any threads on it, so I can look up the details
> and get up to speed ?

https://bugzilla.yoctoproject.org/show_bug.cgi?id=15704

https://git.yoctoproject.org/poky/commit/?id=959db9cb12c19c81c1114b09d8f3eadf9831d280

I guess there are some details between Ross and TI that are not public.
But one major contributing factor is that genericarm64 machine hardcodes
SERIAL_CONSOLES which do not exist on many boards and agetty is
started on those. This impacts "poky" distro with sysvinit the most.
"poky-altcfg" and builds with systemd start agetty via udev to detected
serial ports. But of course starting agetty on serial port connected
wifi controller debug port should not hang/crash the kernel.

Cheers,

-Mikko

> Bruce
> 
> 
> 
> >
> > Cheers,
> >
> > -Mikko
> >
> > > Bruce
> > >
> > >
> > >
> > > >
> > > > https://ledge.validation.linaro.org/scheduler/job/119012
> > > >
> > > > Depends on yocto-kernel-cache change to fix do_kernel_configcheck
> > > > warnings.
> > > >
> > > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > > > ---
> > > >  ...50-unexport-serial8250_rpm_-function.patch | 96 +++++++++++++++++++
> > > >  .../linux/linux-yocto_6.16.bbappend           | 14 +++
> > > >  2 files changed, 110 insertions(+)
> > > >  create mode 100644
> > > >
> > meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> > > >  create mode 100644
> > > > meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> > > >
> > > > diff --git
> > > >
> > a/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> > > >
> > b/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> > > > new file mode 100644
> > > > index 000000000000..b64488458238
> > > > --- /dev/null
> > > > +++
> > > >
> > b/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> > > > @@ -0,0 +1,96 @@
> > > > +From 4fa6940b9891b0107abef9b3b01583332156878c Mon Sep 17 00:00:00 2001
> > > > +From: Mikko Rapeli <mikko.rapeli@linaro.org>
> > > > +Date: Wed, 27 Aug 2025 06:55:58 +0000
> > > > +Subject: [PATCH] Revert "serial: 8250: unexport serial8250_rpm_*()
> > > > functions"
> > > > +
> > > > +This reverts commit 7ba4f02e12e6f2409c5b2afae2963089b5673482.
> > > > +Needed by revert of 8700a7ea5519fb0b3bad2362adfeac358c2119ce
> > > > +which causes kernel hangs when starting getty's on BeaglePlay.
> > > > +
> > > > +[ YOCTO #15704 ]
> > > > +
> > > > +Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > > > +---
> > > > + drivers/tty/serial/8250/8250.h      |  6 ++++++
> > > > + drivers/tty/serial/8250/8250_port.c | 12 ++++++++----
> > > > + 2 files changed, 14 insertions(+), 4 deletions(-)
> > > > +
> > > > +Upstream-Status: Inappropriate
> > > > +
> > > > +diff --git a/drivers/tty/serial/8250/8250.h
> > > > b/drivers/tty/serial/8250/8250.h
> > > > +index 18530c31a598..b861585ca02a 100644
> > > > +--- a/drivers/tty/serial/8250/8250.h
> > > > ++++ b/drivers/tty/serial/8250/8250.h
> > > > +@@ -223,6 +223,12 @@ static inline bool serial8250_clear_THRI(struct
> > > > uart_8250_port *up)
> > > > + struct uart_8250_port *serial8250_setup_port(int index);
> > > > + struct uart_8250_port *serial8250_get_port(int line);
> > > > +
> > > > ++void serial8250_rpm_get(struct uart_8250_port *p);
> > > > ++void serial8250_rpm_put(struct uart_8250_port *p);
> > > > ++
> > > > ++void serial8250_rpm_get_tx(struct uart_8250_port *p);
> > > > ++void serial8250_rpm_put_tx(struct uart_8250_port *p);
> > > > ++
> > > > + int serial8250_em485_config(struct uart_port *port, struct ktermios
> > > > *termios,
> > > > +                           struct serial_rs485 *rs485);
> > > > + void serial8250_em485_start_tx(struct uart_8250_port *p, bool
> > > > toggle_ier);
> > > > +diff --git a/drivers/tty/serial/8250/8250_port.c
> > > > b/drivers/tty/serial/8250/8250_port.c
> > > > +index 6d7b8c4667c9..8d9bb91d4bae 100644
> > > > +--- a/drivers/tty/serial/8250/8250_port.c
> > > > ++++ b/drivers/tty/serial/8250/8250_port.c
> > > > +@@ -517,20 +517,22 @@ void serial8250_clear_and_reinit_fifos(struct
> > > > uart_8250_port *p)
> > > > + }
> > > > + EXPORT_SYMBOL_GPL(serial8250_clear_and_reinit_fifos);
> > > > +
> > > > +-static void serial8250_rpm_get(struct uart_8250_port *p)
> > > > ++void serial8250_rpm_get(struct uart_8250_port *p)
> > > > + {
> > > > +       if (!(p->capabilities & UART_CAP_RPM))
> > > > +               return;
> > > > +       pm_runtime_get_sync(p->port.dev);
> > > > + }
> > > > ++EXPORT_SYMBOL_GPL(serial8250_rpm_get);
> > > > +
> > > > +-static void serial8250_rpm_put(struct uart_8250_port *p)
> > > > ++void serial8250_rpm_put(struct uart_8250_port *p)
> > > > + {
> > > > +       if (!(p->capabilities & UART_CAP_RPM))
> > > > +               return;
> > > > +       pm_runtime_mark_last_busy(p->port.dev);
> > > > +       pm_runtime_put_autosuspend(p->port.dev);
> > > > + }
> > > > ++EXPORT_SYMBOL_GPL(serial8250_rpm_put);
> > > > +
> > > > + /**
> > > > +  *    serial8250_em485_init() - put uart_8250_port into rs485
> > emulating
> > > > +@@ -645,7 +647,7 @@ EXPORT_SYMBOL_GPL(serial8250_em485_config);
> > > > +  * once and disable_runtime_pm_tx() will still disable RPM because
> > the
> > > > fifo is
> > > > +  * empty and the HW can idle again.
> > > > +  */
> > > > +-static void serial8250_rpm_get_tx(struct uart_8250_port *p)
> > > > ++void serial8250_rpm_get_tx(struct uart_8250_port *p)
> > > > + {
> > > > +       unsigned char rpm_active;
> > > > +
> > > > +@@ -657,8 +659,9 @@ static void serial8250_rpm_get_tx(struct
> > > > uart_8250_port *p)
> > > > +               return;
> > > > +       pm_runtime_get_sync(p->port.dev);
> > > > + }
> > > > ++EXPORT_SYMBOL_GPL(serial8250_rpm_get_tx);
> > > > +
> > > > +-static void serial8250_rpm_put_tx(struct uart_8250_port *p)
> > > > ++void serial8250_rpm_put_tx(struct uart_8250_port *p)
> > > > + {
> > > > +       unsigned char rpm_active;
> > > > +
> > > > +@@ -671,6 +674,7 @@ static void serial8250_rpm_put_tx(struct
> > > > uart_8250_port *p)
> > > > +       pm_runtime_mark_last_busy(p->port.dev);
> > > > +       pm_runtime_put_autosuspend(p->port.dev);
> > > > + }
> > > > ++EXPORT_SYMBOL_GPL(serial8250_rpm_put_tx);
> > > > +
> > > > + /*
> > > > +  * IER sleep support.  UARTs which have EFRs need the "extended
> > > > +--
> > > > +2.43.0
> > > > +
> > > > diff --git
> > a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> > > > b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> > > > new file mode 100644
> > > > index 000000000000..ef5f84cfc3aa
> > > > --- /dev/null
> > > > +++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> > > > @@ -0,0 +1,14 @@
> > > > +COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
> > > > +COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
> > > > +COMPATIBLE_MACHINE:genericx86 = "genericx86"
> > > > +COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
> > > > +
> > > > +KMACHINE:beaglebone-yocto ?= "beaglebone"
> > > > +KMACHINE:genericx86 ?= "common-pc"
> > > > +KMACHINE:genericx86-64 ?= "common-pc-64"
> > > > +
> > > > +FILESEXTRAPATHS:prepend:genericarm64 := "${THISDIR}/files:"
> > > > +SRC_URI:append:genericarm64 = " \
> > > > +
> > > > file://0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> > \
> > > > +
> > file://0001-Revert-serial-8250_omap-Drop-pm_runtime_irq_safe.patch \
> > > > +"
> > > > --
> > > > 2.43.0
> > > >
> > > >
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > > Links: You receive all messages sent to this group.
> > > > View/Reply Online (#13730):
> > > > https://lists.yoctoproject.org/g/poky/message/13730
> > > > Mute This Topic: https://lists.yoctoproject.org/mt/114914972/1050810
> > > > Group Owner: poky+owner@lists.yoctoproject.org
> > > > Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [
> > > > bruce.ashfield@gmail.com]
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > >
> > > >
> > >
> > > --
> > > - Thou shalt not follow the NULL pointer, for chaos and madness await
> > thee
> > > at its end
> > > - "Use the force Harry" - Gandalf, Star Trek II
> >
> 
> 
> -- 
> - Thou shalt not follow the NULL pointer, for chaos and madness await thee
> at its end
> - "Use the force Harry" - Gandalf, Star Trek II


      reply	other threads:[~2025-08-28  6:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20250827100852.2093378-1-mikko.rapeli@linaro.org>
2025-08-27 10:11 ` [PATCH] linux-yocto: fix compilation of 6.16 kernel on genericarm64 Mikko Rapeli
2025-08-27 13:55   ` [poky] " Bruce Ashfield
2025-08-27 14:14     ` Mikko Rapeli
2025-08-28  0:58       ` Bruce Ashfield
2025-08-28  0:59       ` Bruce Ashfield
2025-08-28  6:02         ` Mikko Rapeli [this message]

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=aK_w-XjLA3cWLUHA@nuoska \
    --to=mikko.rapeli@linaro.org \
    --cc=bruce.ashfield@gmail.com \
    --cc=poky@lists.yoctoproject.org \
    /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.