diff mbox series

arm64: defconfig: increase SERIAL_8250_NR_UARTS

Message ID 20231130231657.12715-1-francesco@dolcini.it (mailing list archive)
State New, archived
Headers show
Series arm64: defconfig: increase SERIAL_8250_NR_UARTS | expand

Commit Message

Francesco Dolcini Nov. 30, 2023, 11:16 p.m. UTC
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 <tony@atomide.com>
Signed-off-by: Francesco Dolcini <francesco@dolcini.it>
---
 arch/arm64/configs/defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Tony Lindgren Dec. 1, 2023, 6:03 a.m. UTC | #1
* Francesco Dolcini <francesco@dolcini.it> [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 <tony@atomide.com>
Nishanth Menon Dec. 1, 2023, 6:49 a.m. UTC | #2
On 08:03-20231201, Tony Lindgren wrote:
> * Francesco Dolcini <francesco@dolcini.it> [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 <tony@atomide.com>

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%2FcGYWLLB+J2zU@atomide.com/
Francesco Dolcini Dec. 1, 2023, 8:48 a.m. UTC | #3
On Fri, Dec 01, 2023 at 12:49:19AM -0600, Nishanth Menon wrote:
> On 08:03-20231201, Tony Lindgren wrote:
> > * Francesco Dolcini <francesco@dolcini.it> [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 <tony@atomide.com>
> 
> 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
Nishanth Menon Dec. 1, 2023, 8:59 a.m. UTC | #4
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 <francesco@dolcini.it> [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 <tony@atomide.com>
> > 
> > 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).
Francesco Dolcini Dec. 1, 2023, 9:18 a.m. UTC | #5
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 <francesco@dolcini.it> [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
Arnd Bergmann Dec. 1, 2023, 3:31 p.m. UTC | #6
On Fri, Dec 1, 2023, at 07:49, Nishanth Menon wrote:
> On 08:03-20231201, Tony Lindgren wrote:
>> * Francesco Dolcini <francesco@dolcini.it> [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 <tony@atomide.com>
>
> 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
Nishanth Menon Dec. 1, 2023, 4:31 p.m. UTC | #7
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 <francesco@dolcini.it> [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 <tony@atomide.com>
> >
> > 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.
diff mbox series

Patch

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