Re: [PATCH v12 1/1] serial: core: Start managing serial controllers to enable runtime PM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

* Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> [230601 11:00]:
> Hi Tony,
> 
> On 25.05.2023 13:30, Tony Lindgren wrote:
> > We want to enable runtime PM for serial port device drivers in a generic
> > way. To do this, we want to have the serial core layer manage the
> > registered physical serial controller devices.
> >
> > To manage serial controllers, let's set up a struct bus and struct device
> > for the serial core controller as suggested by Greg and Jiri. The serial
> > core controller devices are children of the physical serial port device.
> > The serial core controller device is needed to support multiple different
> > kind of ports connected to single physical serial port device.
> >
> > Let's also set up a struct device for the serial core port. The serial
> > core port instances are children of the serial core controller device.
> >
> > With the serial core port device we can now flush pending TX on the
> > runtime PM resume as suggested by Johan.
> >
> > Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Suggested-by: Jiri Slaby <jirislaby@xxxxxxxxxx>
> > Suggested-by: Johan Hovold <johan@xxxxxxxxxx>
> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> 
> This patch landed in today's linux next-20230601 as commit 84a9582fd203 
> ("serial: core: Start managing serial controllers to enable runtime 
> PM"). Unfortunately it breaks booting some of my test boards. This can 
> be easily reproduced with QEMU and ARM64 virt machine. The last message 
> I see in the log is:
> 
> [    3.084743] Run /sbin/init as init process

OK thanks for the report. I wonder if this issue is specific to ttyAM
serial port devices somehow?

> I've tried a hack posted here by Steven Price, but unfortunately it 
> doesn't fix my issue. Reverting $subject on top of next-20230601 fixes 
> the boot.

OK

> Here is my qemu test command (nothing really special...):
> 
> qemu-system-aarch64 -kernel Image -append "console=ttyAMA0 
> no_console_suspend root=/dev/vda rootwait ip=::::target::off" -M virt 
> -cpu cortex-a57 -smp 2 -m 1024 -device 
> virtio-blk-device,drive=virtio-blk0 -device 
> virtio-blk-device,drive=virtio-blk1 -drive 
> file=qemu-virt-rootfs.raw,id=virtio-blk1,if=none,format=raw -drive 
> file=initrd,id=virtio-blk0,if=none,format=raw -netdev user,id=user 
> -device virtio-net-device,netdev=user -display none

OK thanks I'll try to reproduce it.

Regards,

Tony



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux