lkml.org 
[lkml]   [2023]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v12 1/1] serial: core: Start managing serial controllers to enable runtime PM
From
On 10/3/23 14:21, Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [231003 12:15]:
>> Hi,
>>
>> * Maximilian Luz <luzmaximilian@gmail.com> [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

\
 
 \ /
  Last update: 2023-10-04 00:10    [W:0.161 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site