[go: nahoru, domu]

History log of /drivers/thunderbolt/tb.h
Revision Date Author Comments
7f2d5f7bc529114c2e67520427be6ebac694e78f 20-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Fix header declaration of tb_find_cap

tb_find_cap in cap.c takes an enum tb_cap and not an u32. Fix the
declaration in tb.h.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
cd22e73bdf5eff7e68a0f8bdfbce123ad43651f6 12-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Read port configuration from eeprom.

All Thunderbolt switches (except the root switch) contain a drom which
contains information about the device. Right now we only read the UID.

Add code to read and parse this drom. For now we are only interested in
which ports are disabled and which ports are "dual link ports" (a
physical thunderbolt port/socket contains two such ports).

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
23dd5bb49d986f37977ed80dd2ca65040ead4392 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Add suspend/hibernate support

We use _noirq since we have to restore the pci tunnels before the pci
core wakes the tunneled devices.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
c90553b3c4ac2389a71a5c012b6e5bb1160d48a7 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Read switch uid from EEPROM

Add eeprom access code and read the uid during switch initialization.
The UID will be used to check device identity after suspend.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3364f0c12795713e89ae1209081c60d64bfb4ca1 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Add support for simple pci tunnels

A pci downstream and pci upstream port can be connected through a
tunnel. To establish the tunnel we have to setup two unidirectional
paths between the two ports.

Right now we only support paths with two hops (i.e. no chaining) and at
most one pci device per thunderbolt device.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
520b670216a15fb949e6ec6a1af9b5dd55d219c7 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Add path setup code.

A thunderbolt path is a unidirectional channel between two thunderbolt
ports. Two such paths are needed to establish a pci tunnel.

This patch introduces struct tb_path as well as a set of tb_path_*
methods which are used to activate & deactivate paths.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
053596d9e26c86352c4b2b372f43f2746b97de45 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Handle hotplug events

We receive a plug event callback whenever a thunderbolt device is added
or removed. This patch fills in the tb_handle_hotplug method and starts
reacting to these events by adding/removing switches from the hierarchy.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9da672a42878c58af5c50d7389dbae17bea9df38 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Scan for downstream switches

Add utility methods tb_port_state and tb_wait_for_port. Add
tb_scan_switch which recursively checks for downstream switches.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ca389f716f6140d5349583a716bc629d63b06b1f 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Enable plug events

Thunderbolt switches have a plug events capability. This patch adds the
tb_plug_events_active method and uses it to activate plug events during
switch allocation.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
e2b8785ed312dad3a18279a3e88435fc269658c1 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Add thunderbolt capability handling

Thunderbolt config areas contain capability lists similar to those found
on pci devices. This patch introduces a tb_find_cap utility method to
search for capabilities.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
a25c8b2fc9636aaf29d9d9d89f92cdfd27a2a23d 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Initialize root switch and ports

This patch adds the structures tb_switch and tb_port as well as code to
initialize the root switch.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
d6cc51cd1a4aed1d9e2dd66d643d729acb4be560 03-Jun-2014 Andreas Noever <andreas.noever@gmail.com> thunderbolt: Setup control channel

Add struct tb which will contain our view of the thunderbolt bus. For
now it just contains a pointer to the control channel and a workqueue
for hotplug events.

Add thunderbolt_alloc_and_start() and thunderbolt_shutdown_and_free()
which are responsible for setup and teardown of struct tb.

Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>