2023-11-30 23:17:38

by Francesco Dolcini

[permalink] [raw]
Subject: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
is not adequate for embedded systems that use SoCs where it's common to
have a large number of serial ports.

No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").

This enables using the UART connected Bluetooth device on Verdin AM62
board.

Cc: Tony Lindgren <[email protected]>
Signed-off-by: Francesco Dolcini <[email protected]>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index b60aa1f89343..ecd365cd1d87 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -448,6 +448,7 @@ CONFIG_SERIO_AMBAKMI=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_BCM2835AUX=y
--
2.39.2


2023-12-01 06:04:21

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

* Francesco Dolcini <[email protected]> [231130 23:17]:
> Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> is not adequate for embedded systems that use SoCs where it's common to
> have a large number of serial ports.
>
> No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
>
> This enables using the UART connected Bluetooth device on Verdin AM62
> board.

OK makes sense for distro use.

Disabling unused ports leads into port names shifting, which we still can't
easily tolerate until we have the DEVNAME:0.0 style addressing available for
ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
that too should become just a legacy ISA port array.. Meanwhile:

Reviewed-by: Tony Lindgren <[email protected]>

2023-12-01 06:50:18

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On 08:03-20231201, Tony Lindgren wrote:
> * Francesco Dolcini <[email protected]> [231130 23:17]:
> > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> > is not adequate for embedded systems that use SoCs where it's common to
> > have a large number of serial ports.
> >
> > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
> >
> > This enables using the UART connected Bluetooth device on Verdin AM62
> > board.
>
> OK makes sense for distro use.
>
> Disabling unused ports leads into port names shifting, which we still can't
> easily tolerate until we have the DEVNAME:0.0 style addressing available for
> ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
> that too should become just a legacy ISA port array.. Meanwhile:
>
> Reviewed-by: Tony Lindgren <[email protected]>

I'd prefer to get Arnd's view on the topic as well (I kind of
recollect some historic discussion which I am not failing to trace
that there usage model doesn't exceed 4 and aliases could be used to
map these as required for the platform). The 8250 debate has been
popping on and off over the years.. Sigh.. memories of [1] still haunt
me.

I assume you are talking of
arch/arm64/boot/dts/ti/k3-am62-verdin-wifi.dtsi which in turn uses
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi (5 uarts) and that is where the
increase in serial port is coming from.

Now 8 or 5 (which seems to be the relevant need) is subjective :(


[1] https://lore.kernel.org/linux-arm-kernel/Y3x%[email protected]/

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-12-01 08:48:31

by Francesco Dolcini

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On Fri, Dec 01, 2023 at 12:49:19AM -0600, Nishanth Menon wrote:
> On 08:03-20231201, Tony Lindgren wrote:
> > * Francesco Dolcini <[email protected]> [231130 23:17]:
> > > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> > > is not adequate for embedded systems that use SoCs where it's common to
> > > have a large number of serial ports.
> > >
> > > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> > > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
> > >
> > > This enables using the UART connected Bluetooth device on Verdin AM62
> > > board.
> >
> > OK makes sense for distro use.
> >
> > Disabling unused ports leads into port names shifting, which we still can't
> > easily tolerate until we have the DEVNAME:0.0 style addressing available for
> > ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
> > that too should become just a legacy ISA port array.. Meanwhile:
> >
> > Reviewed-by: Tony Lindgren <[email protected]>
>
> I'd prefer to get Arnd's view on the topic as well (I kind of
> recollect some historic discussion which I am not failing to trace
> that there usage model doesn't exceed 4 and aliases could be used to
> map these as required for the platform).

The usage model that triggered this change exceed 4, we >4 uart in
use at the same time.

And the issue is not really "distro use", and I do not think anything
about aliases matter (the BT device is described as a child of the uart
in the DT).

&main_uart5 {
bluetooth {
compatible = "nxp,88w8987-bt";
};
};

The change here is required to have basic hardware functionalities
working for kernel development and debugging using the in-tree
defconfig.


> Now 8 or 5 (which seems to be the relevant need) is subjective :(

Correct.

Francesco

2023-12-01 09:00:45

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On 09:48-20231201, Francesco Dolcini wrote:
> On Fri, Dec 01, 2023 at 12:49:19AM -0600, Nishanth Menon wrote:
> > On 08:03-20231201, Tony Lindgren wrote:
> > > * Francesco Dolcini <[email protected]> [231130 23:17]:
> > > > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> > > > is not adequate for embedded systems that use SoCs where it's common to
> > > > have a large number of serial ports.
> > > >
> > > > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> > > > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
> > > >
> > > > This enables using the UART connected Bluetooth device on Verdin AM62
> > > > board.
> > >
> > > OK makes sense for distro use.
> > >
> > > Disabling unused ports leads into port names shifting, which we still can't
> > > easily tolerate until we have the DEVNAME:0.0 style addressing available for
> > > ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
> > > that too should become just a legacy ISA port array.. Meanwhile:
> > >
> > > Reviewed-by: Tony Lindgren <[email protected]>
> >
> > I'd prefer to get Arnd's view on the topic as well (I kind of
> > recollect some historic discussion which I am not failing to trace
> > that there usage model doesn't exceed 4 and aliases could be used to
> > map these as required for the platform).
>
> The usage model that triggered this change exceed 4, we >4 uart in
> use at the same time.
>
> And the issue is not really "distro use", and I do not think anything
> about aliases matter (the BT device is described as a child of the uart
> in the DT).
>
> &main_uart5 {
> bluetooth {
> compatible = "nxp,88w8987-bt";
> };
> };
>
> The change here is required to have basic hardware functionalities
> working for kernel development and debugging using the in-tree
> defconfig.
>
>
> > Now 8 or 5 (which seems to be the relevant need) is subjective :(
>

I'd suggest to elaborate on "This enables using the UART connected
Bluetooth device on Verdin AM62 board."
Commit message a bit more to indicate what each of the uarts are used
for - this will help explain that we have a real platform that needs
more than 4 uarts simultaneously. we seem to have survived quite a few
years with count of 4.. so we need to defend why this change now and why
it helps the ecosystem.. just my 2 cents.

Yes, I did indeed look and found the case you are indicating, but for
rest of the community, commit message should indicate why (it will help
if other boards benefit as well, but I personally feel this case, if
elaborated is sufficient enough reason by itself).


--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-12-01 09:19:14

by Francesco Dolcini

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On Fri, Dec 01, 2023 at 02:59:57AM -0600, Nishanth Menon wrote:
> On 09:48-20231201, Francesco Dolcini wrote:
> > On Fri, Dec 01, 2023 at 12:49:19AM -0600, Nishanth Menon wrote:
> > > On 08:03-20231201, Tony Lindgren wrote:
> > > > * Francesco Dolcini <[email protected]> [231130 23:17]:
> > > > > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> > > > > is not adequate for embedded systems that use SoCs where it's common to
> > > > > have a large number of serial ports.
> > > > >
> > > > > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> > > > > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
> > > > >
> > > > > This enables using the UART connected Bluetooth device on Verdin AM62
> > > > > board.
> > >
> > > I'd prefer to get Arnd's view on the topic as well (I kind of
> > > recollect some historic discussion which I am not failing to trace
> > > that there usage model doesn't exceed 4 and aliases could be used to
> > > map these as required for the platform).
> >
> > The usage model that triggered this change exceed 4, we >4 uart in
> > use at the same time.
> >
> > And the issue is not really "distro use", and I do not think anything
> > about aliases matter (the BT device is described as a child of the uart
> > in the DT).
> >
> > &main_uart5 {
> > bluetooth {
> > compatible = "nxp,88w8987-bt";
> > };
> > };
> >
> > The change here is required to have basic hardware functionalities
> > working for kernel development and debugging using the in-tree
> > defconfig.
>
> I'd suggest to elaborate on "This enables using the UART connected
> Bluetooth device on Verdin AM62 board."

I can do this, of course, I'll wait for some more feedback in the coming
days as you somehow already suggested.

Francesco

2023-12-01 15:32:28

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On Fri, Dec 1, 2023, at 07:49, Nishanth Menon wrote:
> On 08:03-20231201, Tony Lindgren wrote:
>> * Francesco Dolcini <[email protected]> [231130 23:17]:
>> > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
>> > is not adequate for embedded systems that use SoCs where it's common to
>> > have a large number of serial ports.
>> >
>> > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
>> > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
>> >
>> > This enables using the UART connected Bluetooth device on Verdin AM62
>> > board.
>>
>> OK makes sense for distro use.
>>
>> Disabling unused ports leads into port names shifting, which we still can't
>> easily tolerate until we have the DEVNAME:0.0 style addressing available for
>> ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
>> that too should become just a legacy ISA port array.. Meanwhile:
>>
>> Reviewed-by: Tony Lindgren <[email protected]>
>
> I'd prefer to get Arnd's view on the topic as well (I kind of
> recollect some historic discussion which I am not failing to trace
> that there usage model doesn't exceed 4 and aliases could be used to
> map these as required for the platform). The 8250 debate has been
> popping on and off over the years.. Sigh.. memories of [1] still haunt
> me.

I don't recall any reason to have the limit set to the default
of 4, other than possibly using excessive amounts of .data in
vmlinux, but we have other serial port drivers that just hardcode
a much larger value.

Arnd

2023-12-01 16:32:10

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH] arm64: defconfig: increase SERIAL_8250_NR_UARTS

On 16:31-20231201, Arnd Bergmann wrote:
> On Fri, Dec 1, 2023, at 07:49, Nishanth Menon wrote:
> > On 08:03-20231201, Tony Lindgren wrote:
> >> * Francesco Dolcini <[email protected]> [231130 23:17]:
> >> > Increase CONFIG_SERIAL_8250_NR_UARTS from 4 to 8, the current legacy value
> >> > is not adequate for embedded systems that use SoCs where it's common to
> >> > have a large number of serial ports.
> >> >
> >> > No need to change CONFIG_SERIAL_8250_RUNTIME_UARTS, see commit 9d86719f8769
> >> > ("serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS").
> >> >
> >> > This enables using the UART connected Bluetooth device on Verdin AM62
> >> > board.
> >>
> >> OK makes sense for distro use.
> >>
> >> Disabling unused ports leads into port names shifting, which we still can't
> >> easily tolerate until we have the DEVNAME:0.0 style addressing available for
> >> ports. So for now we still depend CONFIG_SERIAL_8250_NR_UARTS, eventually
> >> that too should become just a legacy ISA port array.. Meanwhile:
> >>
> >> Reviewed-by: Tony Lindgren <[email protected]>
> >
> > I'd prefer to get Arnd's view on the topic as well (I kind of
> > recollect some historic discussion which I am not failing to trace
> > that there usage model doesn't exceed 4 and aliases could be used to
> > map these as required for the platform). The 8250 debate has been
> > popping on and off over the years.. Sigh.. memories of [1] still haunt
> > me.
>
> I don't recall any reason to have the limit set to the default
> of 4, other than possibly using excessive amounts of .data in
> vmlinux, but we have other serial port drivers that just hardcode
> a much larger value.

Thanks Arnd, we will queue this up.

Francesco: Could you respin with a more clear commit message to indicate
actual board usage instance.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D