Commit 376d6b02 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'thunderbolt-for-v5.19-rc1' of...

Merge tag 'thunderbolt-for-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next

Mika writes:

thunderbolt: Changes for v5.19 merge window

This includes following Thunderbolt/USB4 changes for the v5.19 merge
window:

  * Improvements for Thunderbolt 1 DisplayPort tunneling
  * Link USB4 ports to their USB Type-C connectors
  * Lane bonding support for host-to-host (XDomain) connections
  * Buffer allocation improvement for devices with no DisplayPort
    adapters
  * Few cleanups and minor fixes.

All these have been in linux-next with no reported issues except that
there is a minor merge conflict with the kunit-next tree because one of
the commits touches the driver KUnit tests.

* tag 'thunderbolt-for-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt:
  thunderbolt: Add KUnit test for devices with no DisplayPort adapters
  thunderbolt: Fix buffer allocation of devices with no DisplayPort adapters
  thunderbolt: Add support for XDomain lane bonding
  thunderbolt: Ignore port locked error in tb_port_wait_for_link_width()
  thunderbolt: Split setting link width and lane bonding into own functions
  thunderbolt: Move tb_port_state() prototype to correct place
  thunderbolt: Add debug logging when lane is enabled/disabled
  thunderbolt: Link USB4 ports to their USB Type-C connectors
  misc/mei: Add NULL check to component match callback functions
  thunderbolt: Use different lane for second DisplayPort tunnel
  thunderbolt: Dump path config space entries during discovery
  thunderbolt: Use decimal number with port numbers
  thunderbolt: Fix typo in comment
  thunderbolt: Replace usage of found with dedicated list iterator variable
parents 74f55a62 c7c99a09
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -293,6 +293,16 @@ Contact: thunderbolt-software@lists.01.org
Description:	This contains XDomain service specific settings as
		bitmask. Format: %x

What:		/sys/bus/thunderbolt/devices/usb4_portX/connector
Date:		April 2022
Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
		Symlink to the USB Type-C connector. This link is only
		created when USB Type-C Connector Class is enabled,
		and only if the system firmware is capable of
		describing the connection between a port and its
		connector.

What:		/sys/bus/thunderbolt/devices/usb4_portX/link
Date:		Sep 2021
KernelVersion:	v5.14
+1 −1
Original line number Diff line number Diff line
@@ -784,7 +784,7 @@ static int mei_hdcp_component_match(struct device *dev, int subcomponent,
{
	struct device *base = data;

	if (strcmp(dev->driver->name, "i915") ||
	if (!dev->driver || strcmp(dev->driver->name, "i915") ||
	    subcomponent != I915_COMPONENT_HDCP)
		return 0;

+1 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ static int mei_pxp_component_match(struct device *dev, int subcomponent,
{
	struct device *base = data;

	if (strcmp(dev->driver->name, "i915") ||
	if (!dev->driver || strcmp(dev->driver->name, "i915") ||
	    subcomponent != I915_COMPONENT_PXP)
		return 0;

+7 −8
Original line number Diff line number Diff line
@@ -158,21 +158,20 @@ static bool tb_cfg_request_is_active(struct tb_cfg_request *req)
static struct tb_cfg_request *
tb_cfg_request_find(struct tb_ctl *ctl, struct ctl_pkg *pkg)
{
	struct tb_cfg_request *req;
	bool found = false;
	struct tb_cfg_request *req = NULL, *iter;

	mutex_lock(&pkg->ctl->request_queue_lock);
	list_for_each_entry(req, &pkg->ctl->request_queue, list) {
		tb_cfg_request_get(req);
		if (req->match(req, pkg)) {
			found = true;
	list_for_each_entry(iter, &pkg->ctl->request_queue, list) {
		tb_cfg_request_get(iter);
		if (iter->match(iter, pkg)) {
			req = iter;
			break;
		}
		tb_cfg_request_put(req);
		tb_cfg_request_put(iter);
	}
	mutex_unlock(&pkg->ctl->request_queue_lock);

	return found ? req : NULL;
	return req;
}

/* utility functions */
+1 −1
Original line number Diff line number Diff line
@@ -1207,7 +1207,7 @@ static int nhi_probe(struct pci_dev *pdev, const struct pci_device_id *id)

	nhi->pdev = pdev;
	nhi->ops = (const struct tb_nhi_ops *)id->driver_data;
	/* cannot fail - table is allocated bin pcim_iomap_regions */
	/* cannot fail - table is allocated in pcim_iomap_regions */
	nhi->iobase = pcim_iomap_table(pdev)[0];
	nhi->hop_count = ioread32(nhi->iobase + REG_HOP_COUNT) & 0x3ff;
	dev_dbg(&pdev->dev, "total paths: %d\n", nhi->hop_count);
Loading