Re: [PATCH v2 2/2] serial: 8250: Add new 8250-core based Broadcom STB driver
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-01-19 12:42:13
Also in:
linux-devicetree, linux-serial, lkml
On Mon, Jan 18, 2021 at 03:32:57PM -0500, Al Cooper wrote:
On Mon, Jan 18, 2021 at 12:45 PM Greg Kroah-Hartman [off-list ref] wrote:quoted
On Fri, Jan 15, 2021 at 04:15:43PM -0500, Al Cooper wrote:quoted
Add a UART driver for the new Broadcom 8250 based STB UART. The new UART is backward compatible with the standard 8250, but has some additional features. The new features include a high accuracy baud rate clock system and DMA support. The driver will use the new optional BAUD MUX clock to select the best one of the four master clocks (81MHz, 108MHz, 64MHz and 48MHz) to feed the baud rate selection logic for any requested baud rate. This allows for more accurate BAUD rates when high speed baud rates are selected. The driver will use the new UART DMA hardware if the UART DMA registers are specified in Device Tree "reg" property. The DMA functionality can be disabled on kernel boot with the argument: "8250_bcm7271.disable_dma=Y".Shouldn't that be on a per-device basis, and not a per-driver basis?There is only one instance of the UART DMA hardware and it gets muxed to just one of the possible UARTS.
But the driver doesn't know/care about that, it binds to any device that matches it. per-module/driver flags are not a good idea.
quoted
And why would you want to disable this, if you have support for this in the DT? Why not just rely on the DT setting?The DMA feature is used when the UART is connected to a Bluetooth controller and the BAUD rate is typically 2-3Mbs. The ability to easily disable DMA is very useful when debugging BT communication problems in the field. DT settings could also be used to disable DMA, but knowing the correct modifications to the "reg" and "reg-names" properties is a lot more complicated.
So this is a debug-only option? If so, why not just make it a debugfs file then? No need to clutter up a module parameter for this mess. thanks, greg k-h