linux/drivers/thunderbolt
Rajmohan Mani ccc5cb8ad5 thunderbolt: Add support for ACPI _DSM to power on/off retimers
Typically retimers can be accessed only when the USB4 link is up (e.g
there is a cable connected). However, sometimes it is useful to be able
to access retimers even if there is nothing connected to the USB4 port.
For instance we may still want to be able to upgrade the retimer NVM
firmware even if the user does not have any USB4 devices. This is
something that USB4 spec leaves to implementers.

In case of ACPI based systems, we can support this by providing a
special _DSM method under each USB4 port. This _DSM can be used to turn
on power to on-board retimers (and cycle it through different modes so
that the sideband becomes usable).

This patch adds support for this _DSM and makes the functionality
available to the rest of the driver through tb_acpi_power_[on|off]_retimers().

Signed-off-by: Rajmohan Mani <rajmohan.mani@intel.com>
Co-developed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-01 10:53:31 +03:00
..
acpi.c thunderbolt: Add support for ACPI _DSM to power on/off retimers 2021-06-01 10:53:31 +03:00
cap.c thunderbolt: cap: Fix kernel-doc formatting issue 2021-01-28 12:33:18 +03:00
ctl.c thunderbolt: Decrease control channel timeout for software connection manager 2021-03-18 18:25:30 +03:00
ctl.h thunderbolt: Decrease control channel timeout for software connection manager 2021-03-18 18:25:30 +03:00
debugfs.c thunderbolt: debugfs: Show all accessible dwords 2021-03-12 13:13:34 +03:00
dma_port.c thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices 2021-05-31 14:37:54 +03:00
dma_port.h thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
dma_test.c thunderbolt: Allow multiple DMA tunnels over a single XDomain connection 2021-03-18 18:25:31 +03:00
domain.c thunderbolt: Add support for ACPI _DSM to power on/off retimers 2021-06-01 10:53:31 +03:00
eeprom.c thunderbolt: Add support for USB4 DROM 2021-03-18 18:25:32 +03:00
icm.c thunderbolt: Allow multiple DMA tunnels over a single XDomain connection 2021-03-18 18:25:31 +03:00
Kconfig thunderbolt: Add DMA traffic test driver 2020-11-11 10:20:16 +03:00
lc.c thunderbolt: Add wake from DisplayPort 2021-05-31 14:39:52 +03:00
Makefile thunderbolt: Add USB4 port devices 2021-06-01 10:53:31 +03:00
nhi_ops.c thunderbolt: Software CM only should set force power in Tiger Lake 2020-09-03 12:06:40 +03:00
nhi_regs.h thunderbolt: Add support for Intel Ice Lake 2019-08-26 12:15:06 +03:00
nhi.c thunderbolt: Add support for native USB4 _OSC 2021-02-04 10:45:25 +03:00
nhi.h thunderbolt: Changes for v5.11 merge window 2020-12-08 13:41:45 +01:00
nvm.c thunderbolt: Split NVM read/write generic functions out from usb4.c 2021-05-31 14:37:48 +03:00
path.c thunderbolt: Move nfc_credits field to struct tb_path_hop 2021-06-01 10:48:59 +03:00
property.c thunderbolt: Add tb_property_copy_dir() 2021-03-18 18:25:31 +03:00
quirks.c thunderbolt: Add quirk for Intel Goshen Ridge DP credits 2021-06-01 10:48:59 +03:00
retimer.c thunderbolt: Add USB4 port devices 2021-06-01 10:53:31 +03:00
sb_regs.h thunderbolt: Add support for on-board retimers 2020-06-22 19:58:32 +03:00
switch.c thunderbolt: Add USB4 port devices 2021-06-01 10:53:31 +03:00
tb_msgs.h thunderbolt: Add USB4 router operation proxy for firmware connection manager 2020-11-30 14:39:24 +03:00
tb_regs.h thunderbolt: Read router preferred credit allocation information 2021-06-01 10:48:59 +03:00
tb.c thunderbolt: Changes for v5.13 merge window 2021-04-13 12:17:14 +02:00
tb.h thunderbolt: Add support for ACPI _DSM to power on/off retimers 2021-06-01 10:53:31 +03:00
test.c thunderbolt: Add KUnit tests for credit allocation 2021-06-01 10:48:59 +03:00
tmu.c thunderbolt: Add support for Time Management Unit 2019-12-18 15:41:15 +01:00
tunnel.c thunderbolt: Allocate credits according to router preferences 2021-06-01 10:48:59 +03:00
tunnel.h thunderbolt: Allocate credits according to router preferences 2021-06-01 10:48:59 +03:00
usb4_port.c thunderbolt: Add USB4 port devices 2021-06-01 10:53:31 +03:00
usb4.c thunderbolt: Add USB4 port devices 2021-06-01 10:53:31 +03:00
xdomain.c thunderbolt: Update port credits after bonding is enabled/disabled 2021-06-01 10:48:59 +03:00