thunderbolt: Add support for XDomain discovery protocol
Mika Westerberg authored
When two hosts are connected over a Thunderbolt cable, there is a
protocol they can use to communicate capabilities supported by the host.
The discovery protocol uses automatically configured control channel
(ring 0) and is build on top of request/response transactions using
special XDomain primitives provided by the Thunderbolt base protocol.

The capabilities consists of a root directory block of basic properties
used for identification of the host, and then there can be zero or more
directories each describing a Thunderbolt service and its capabilities.

Once both sides have discovered what is supported the two hosts can
setup high-speed DMA paths and transfer data to the other side using
whatever protocol was agreed based on the properties. The software
protocol used to communicate which DMA paths to enable is service
specific.

This patch adds support for the XDomain discovery protocol to the
Thunderbolt bus. We model each remote host connection...
d1ff7024
Name Last commit Last update
configfs-acpi
configfs-iio
configfs-rdma_cm
configfs-spear-pcie-gadget
configfs-stp-policy
configfs-usb-gadget
configfs-usb-gadget-acm
configfs-usb-gadget-ecm
configfs-usb-gadget-eem
configfs-usb-gadget-ffs
configfs-usb-gadget-hid
configfs-usb-gadget-loopback
configfs-usb-gadget-mass-storage
configfs-usb-gadget-midi
configfs-usb-gadget-ncm
configfs-usb-gadget-obex
configfs-usb-gadget-phonet
configfs-usb-gadget-printer
configfs-usb-gadget-rndis
configfs-usb-gadget-serial
configfs-usb-gadget-sourcesink
configfs-usb-gadget-subset
configfs-usb-gadget-tcm
configfs-usb-gadget-uac1
configfs-usb-gadget-uac1_legacy
configfs-usb-gadget-uac2
configfs-usb-gadget-uvc
debugfs-driver-genwqe
debugfs-ec
debugfs-ideapad
debugfs-olpc
debugfs-pfo-nx-crypto
debugfs-pktcdvd
dev-kmsg
evm
gpio-cdev
ima_policy
ppc-memtrace
procfs-diskstats
procfs-smaps_rollup
pstore
sysfs-ata
sysfs-block
sysfs-block-bcache
sysfs-block-dm
sysfs-block-rssd
sysfs-block-zram
sysfs-bus-acpi
sysfs-bus-amba
sysfs-bus-bcma
sysfs-bus-coresight-devices-etb10
sysfs-bus-coresight-devices-etm3x
sysfs-bus-coresight-devices-etm4x
sysfs-bus-coresight-devices-funnel
sysfs-bus-coresight-devices-stm
sysfs-bus-coresight-devices-tmc
sysfs-bus-css
sysfs-bus-event_source-devices-events
sysfs-bus-event_source-devices-format
sysfs-bus-event_source-devices-hv_24x7
sysfs-bus-event_source-devices-hv_gpci
sysfs-bus-fcoe
sysfs-bus-fsi
sysfs-bus-fsl-mc
sysfs-bus-hsi
sysfs-bus-i2c-devices-bq32k
sysfs-bus-i2c-devices-fsa9480
sysfs-bus-i2c-devices-hm6352
sysfs-bus-i2c-devices-lm3533
sysfs-bus-iio
sysfs-bus-iio-accel-bmc150
sysfs-bus-iio-adc-envelope-detector
sysfs-bus-iio-adc-hi8435
sysfs-bus-iio-adc-max9611
sysfs-bus-iio-adc-stm32
sysfs-bus-iio-chemical-vz89x
sysfs-bus-iio-counter-104-quad-8
sysfs-bus-iio-cros-ec
sysfs-bus-iio-dac-dpot-dac
sysfs-bus-iio-distance-srf08
sysfs-bus-iio-frequency-ad9523
sysfs-bus-iio-frequency-adf4350
sysfs-bus-iio-gyro-bmg160
sysfs-bus-iio-health-afe440x
sysfs-bus-iio-humidity-hdc100x
sysfs-bus-iio-ina2xx-adc
sysfs-bus-iio-light-isl29018
sysfs-bus-iio-light-lm3533-als
sysfs-bus-iio-light-tsl2583
sysfs-bus-iio-lptimer-stm32
sysfs-bus-iio-magnetometer-hmc5843
sysfs-bus-iio-meas-spec
sysfs-bus-iio-mpu6050
sysfs-bus-iio-potentiometer-mcp4531
sysfs-bus-iio-proximity-as3935
sysfs-bus-iio-timer-stm32
sysfs-bus-iio-trigger-sysfs
sysfs-bus-iio-vf610
sysfs-bus-intel_th-devices-gth
sysfs-bus-intel_th-devices-msc