[GIT PULL 00/22] intel_th: Updates for v5.2

From: Alexander Shishkin
Date: Fri May 03 2019 - 04:45:49 EST


Hi Greg,

Here are the updates that I have for v5.2. The main item on the list is
the support for software trace sinks that I call "buffer drivers". The
purpose is to create a software path for the trace data coming out of
the TH that would allow exporting it via a USB gadget or ethernet or
some such. Most of the patches are reworks in the MSU code to enable
this, including interrupt handling and resource passing between glue
layers and the driver core. An example sink driver is included. Also,
there's a bugfix that's backportable all the way to stable 4.4.

These are all, as usual, tested with aiaiai for bisectability, cppcheck,
sparse, smatch, coccinelle and checkpatch errors.

Signed tag is at the repo below. Individual patches follow. Please
consider pulling or applying. Apologies for late request.

The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b:

Linux 5.1-rc1 (2019-03-17 14:22:26 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ash/stm.git tags/intel_th-for-greg-20190503

for you to fetch changes up to c0e8a65abd2e4ad47e5257de6bde1822e9c458b6:

intel_th: msu: Preserve pre-existing buffer configuration (2019-05-03 11:35:46 +0300)

----------------------------------------------------------------
intel_th: Updates for v5.2

These are:
* Support for software trace sinks
* Interrupt handling, MSI support
* Reworks in resource passing between glue layers and driver core
* Reworks in buffer management code
* Various small reworks in the MSU code
* Support for window switching in MSU "multi" mode
* A fix for the MSU "single" mode, backportable all the way to v4.4
* A new "rtit" subdevice

----------------------------------------------------------------
Alexander Shishkin (22):
intel_th: msu: Fix single mode with IOMMU
intel_th: SPDX-ify the documentation
intel_th: Rework resource passing between glue layers and core
intel_th: Skip subdevices if their MMIO is missing
intel_th: Add "rtit" source device
intel_th: Communicate IRQ via resource
intel_th: pci: Use MSI interrupt signalling
intel_th: msu: Start handling IRQs
intel_th: Only report useful IRQs to subdevices
intel_th: msu: Replace open-coded list_{first,last,next}_entry variants
intel_th: msu: Switch over to scatterlist
intel_th: msu: Support multipage blocks
intel_th: msu: Factor out pipeline draining
intel_th: gth: Factor out trace start/stop
intel_th: Add switch triggering support
intel_th: msu: Correct the block wrap detection
intel_th: msu: Add a sysfs attribute to trigger window switch
intel_th: msu: Add current window tracking
intel_th: msu: Introduce buffer driver interface
intel_th: msu: Add a sysfs attribute showing possible modes
intel_th: msu-sink: An example msu buffer driver
intel_th: msu: Preserve pre-existing buffer configuration

.../ABI/testing/sysfs-bus-intel_th-devices-msc | 19 +-
Documentation/trace/intel_th.rst | 2 +
MAINTAINERS | 1 +
drivers/hwtracing/intel_th/Makefile | 3 +
drivers/hwtracing/intel_th/acpi.c | 10 +-
drivers/hwtracing/intel_th/core.c | 139 +++-
drivers/hwtracing/intel_th/gth.c | 125 ++-
drivers/hwtracing/intel_th/gth.h | 19 +
drivers/hwtracing/intel_th/intel_th.h | 30 +-
drivers/hwtracing/intel_th/msu-sink.c | 137 ++++
drivers/hwtracing/intel_th/msu.c | 864 +++++++++++++++++----
drivers/hwtracing/intel_th/msu.h | 31 +-
drivers/hwtracing/intel_th/pci.c | 32 +-
include/linux/intel_th.h | 67 ++
14 files changed, 1270 insertions(+), 209 deletions(-)
create mode 100644 drivers/hwtracing/intel_th/msu-sink.c
create mode 100644 include/linux/intel_th.h

--
2.20.1