Page MenuHomeFreeBSD

uart: Add UART_ACPI_SPCR_CLASS
ClosedPublic

Authored by andrew on Aug 12 2025, 4:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 3, 9:52 PM
Unknown Object (File)
Tue, Oct 28, 5:24 AM
Unknown Object (File)
Wed, Oct 22, 5:00 PM
Unknown Object (File)
Wed, Oct 22, 12:47 AM
Unknown Object (File)
Tue, Oct 14, 6:10 PM
Unknown Object (File)
Sat, Oct 11, 11:31 PM
Unknown Object (File)
Sat, Oct 11, 11:31 PM
Unknown Object (File)
Sat, Oct 11, 11:31 PM
Subscribers

Details

Summary

We don't care about most of acpi_uart_compat_data in the spcr code.
Split out the mapping from the SPCR interface type to uart class into
a new struct. This allows new SPCR interface types to be added that
don't have an entry in the DSDT, e.g. some PCI uarts may not.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

andrew created this revision.
jrtc27 added inline comments.
sys/dev/uart/uart_cpu_acpi.h
40

May make sense to flip these to recognise that cd_port_subtype is the key in this struct?

If it builds, it ships!

sys/dev/uart/uart_cpu_acpi.h
40

cd_port_subtype may be the key within the struct, but the iteration below iterates only over non-NULL cd_class.

This revision is now accepted and ready to land.Aug 12 2025, 6:55 PM
sys/dev/uart/uart_cpu_acpi.h
40

I put it that way around so the padding is at the end rather than the middle of the struct.

This revision was automatically updated to reflect the committed changes.