Re: [PATCH] bus: ti-sysc: mark AM62 wkup_uart0 as non deferrable

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

 




On 09/01/2025 19:52, Francesco Valla wrote:
> The ti-sysc driver implements a probe deferral logic to be sure to probe
> the parent interconnects before their children, postponing the probe of
> interconnects not marked as "early" instances until one of these is
> found.
> 
> Since the driver is alse used for the wkup_uart0 block found on the AM62

alse/also

> SoC, but not for other devices on the same platform, this logic forces
> the probe for it to be artificially deferred 10 times and can lead to
> the device not being probed at all. The missed probe was seen on a
> BeaglePlay with the kernel configuration stripped to bare minimum and
> no module support.
> 
> Add the ranges for wkup_uart0 to the list of "early" interconnect
> instances, forcing the driver to skip the defer logic entirely for this
> device.
> 
> Signed-off-by: Francesco Valla <francesco@xxxxxxxx>
> ---
>  drivers/bus/ti-sysc.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> index f67b927ae4ca..917b7168fbd0 100644
> --- a/drivers/bus/ti-sysc.c
> +++ b/drivers/bus/ti-sysc.c
> @@ -687,6 +687,8 @@ static struct resource early_bus_ranges[] = {
>  	{ .start = 0x4a300000, .end = 0x4a300000 + 0x30000,  },
>  	/* omap5 and dra7 l4_wkup without dra7 dcan segment */
>  	{ .start = 0x4ae00000, .end = 0x4ae00000 + 0x30000,  },
> +	/* am62 wkup_uart0 */
> +	{ .start = 0x2b300000, .end = 0x2b300000 + 0x100000, },
>  };
>  
>  static atomic_t sysc_defer = ATOMIC_INIT(10);

While this is probably OK for now, we need to ensure that sysc_defer_non_critical()
is not called for such devices that don't have an interconnect managed by
the sysc driver (i.e. non OMAP based systems).

Maybe this calls for a new compatible for AM62 sysc?

Reviewed-by: Roger Quadros <rogerq@xxxxxxxxxx>

-- 
cheers,
-roger





[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