On Thu, Aug 31, 2023 at 12:33:33PM -0600, Dan Raymond wrote: > On 8/31/2023 12:08 PM, Andy Shevchenko wrote: > > Warning: This email is from an unusual correspondent. > > Warning: Make sure this is someone you trust. > > > > On Thu, Aug 24, 2023 at 02:59:01PM -0600, Dan Raymond wrote: > >> Implement a UART register tracing facility using the debugfs. This can be > >> used as a "serial port sniffer" to monitor UART traffic and line settings > >> with timestamps at microsecond granularity. This can be useful for general > >> serial port debugging or to debug the UART driver itself. > > > >> drivers/tty/serial/8250/8250_debug.c | 530 +++++++++++++++++++++++++++ > > > > My gosh. Why trace points and trace events can't be used for that? > > I don't understand your post. Are you saying there is already a way to > trace UART register reads/writes without this patch? Can you elaborate? Besides what Greg an I were telling you (another type of infrastructure), as a matter of fact you may trace any IO on some architectures (at least x86), it's called mmiotracer (I have used it like 5 years ago or so to trace UART). Below is the excerpt from my old shell script rebind() { local drvdir="/sys/bus/$1/drivers/$2" local devdir="/sys/bus/$1/devices/$3" [ -d "$drvdir" -a -d "$devdir" ] || return echo "$3" > "$drvdir/unbind" echo "$3" > "$drvdir/bind" } mmiotrace() { echo mmiotrace > /sys/kernel/tracing/current_tracer echo 1 > /sys/kernel/tracing/tracing_on rebind platform 'dw-apb-uart' '80860F0A:00' # BYT ttyS1 (ACPI) rebind platform 'dw-apb-uart' '8086228A:00' # BSW ttyS1 (ACPI) rebind pci '8250_mid' '0000:00:04.2' # Edison ttyS1 rebind pci 'intel-lpss' '0000:00:18.1' # BXT LH ttyS1 rebind pci 'intel-lpss' '0000:00:1e.0' # SKL ttyS1 rebind pci '8250_lpss' '0000:00:1e.3' # BSW ttyS1 (PCI) } -- With Best Regards, Andy Shevchenko