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]

 



On 10/3/23 14:21, Tony Lindgren wrote:
* Tony Lindgren <tony@xxxxxxxxxxx> [231003 12:15]:
Hi,

* Maximilian Luz <luzmaximilian@xxxxxxxxx> [231003 11:57]:
A bad workaround is to disable runtime PM, e.g. via

   echo on > /sys/bus/serial-base/devices/dw-apb-uart.4:0/dw-apb-uart.4:0.0/power/control

If the touchscreen controller driver(s) are using serdev they are
children of the dw-apb-uart.4:0.0 and can use runtime PM calls to
block the parent device from idling as necessary. The hierarchy
unless changed using ignore_children.

Sorry about all the typos, I meant "the hierarchy works unless changed"
above. The rest of the typos are easier to decipher probably :)

Unfortunately that doesn't quite line up with what I can see on v6.5.5. The
serdev controller seems to be a child of dw-apb-uart.4, a platform device. The
serial-base and serdev devices are siblings. According to sysfs:

    /sys/bus/platform/devices/dw-apb-uart.4
    ├── driver -> ../../../../bus/platform/drivers/dw-apb-uart
    ├── subsystem -> ../../../../bus/platform
    │
    ├── dw-apb-uart.4:0
    │  ├── driver -> ../../../../../bus/serial-base/drivers/ctrl
    │  ├── subsystem -> ../../../../../bus/serial-base
    │  │
    │  └── dw-apb-uart.4:0.0
    │     ├── driver -> ../../../../../../bus/serial-base/drivers/port
    │     └── subsystem -> ../../../../../../bus/serial-base
    │
    └── serial0
       ├── subsystem -> ../../../../../bus/serial
       │
       └── serial0-0
          ├── driver -> ../../../../../../bus/serial/drivers/surface_serial_hub
          └── subsystem -> ../../../../../../bus/serial

Runtime suspend on serial0-0 is disabled/not set up at all. So I assume that if
it were a descendent of dw-apb-uart.4:0.0, things should have worked
out-of-the-box.

Regards,
Max




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux