[PATCH v2 0/8] Thunderbolt workarounds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here's the next revision of the workarounds for Thunderbolt machines. The
previous revision can be found here:

  https://lkml.org/lkml/2013/6/25/400

The series fixes problems seen in ACPI hotplug driver and resource
re-allocation issue in pcibios_resource_survey_bus(). With these applied we
have been able to connect Thunderbolt chain as long as:

  PC +--+ eSata Hub #0 +--+ eSata Hub #1 +--+ Apple Thunderbolt display +--+ Apple ethernet dongle

That's all Thunderbolt devices we have for testing. This results the
following PCIe tree (output of lspci -tv):

  +-1c.4-[06-80]----00.0-[07-80]--+-00.0-[08]--
  |                               +-03.0-[09-7d]----00.0-[0a-7d]--+-03.0-[0b]----00.0  Marvell Technology Group Ltd. Device 9182
  |                               |                               +-04.0-[0c-7c]----00.0-[0d-7c]--+-03.0-[0e]----00.0  Marvell Technology Group Ltd. Device 9182
  |                               |                               |                               +-04.0-[0f-7b]----00.0-[10-7b]--+-00.0-[11-13]----00.0-[12-13]----03.0-[13]--+-00.0  Pericom Semiconductor Device 400e
  |                               |                               |                               |                               |                                            +-00.1  Pericom Semiconductor Device 400e
  |                               |                               |                               |                               |                                            \-00.2  Pericom Semiconductor Device 400f
  |                               |                               |                               |                               +-01.0-[14]----00.0  Broadcom Corporation NetXtreme BCM57761 Gigabit Ethernet PCIe
  |                               |                               |                               |                               +-02.0-[15]----00.0  Agere Systems FW643 PCI Express 1394b Controller (PHY/Link)
  |                               |                               |                               |                               +-03.0-[16]--
  |                               |                               |                               |                               +-04.0-[17-7a]----00.0-[18-7a]----00.0-[19]----00.0  Broadcom Corporation Device 1682
  |                               |                               |                               |                               \-05.0-[7b]--
  |                               |                               |                               \-05.0-[7c]--
  |                               |                               \-05.0-[7d]--
  |                               +-04.0-[7e]--
  |                               +-05.0-[7f]--
  |                               \-06.0-[80]--


There are still problems with individual device drivers not handling the
surprise hotplug nature of Thunderbolt devices correctly but that can be
handled per driver later on.

This has been tested on Acer Aspire S5 ultrabook and in addition to that on
Intel DZ77RE-75K desktop.

Changes to the previous version:
  [1/8] A new patch that fixes pcibios_resource_survey_bus() to handle
        re-allocation of resources properly. This patch should be first one
	in the series because the following patches then enable things that
	depend on this one.
  [3/8] Dropped !dev->subordinate->is_added check. This is handled in [1/6].
  [4/8] Removed 'continue' and call directly pci_trim_stale_devices() and
        fold the pci_trim_stale_devices() to this patch.
  [5/8] A new patch that removes SLOT_ENABLED flag completely from the
        acpiphp driver. This is a separate patch to make reverting easy
	in case there appears regressions but still make Thunderbolt
	working.
  [6/8] Use the original Kirill's workaround for Acer Aspire S5.
  [7,8/8] New cleanups for acpiphp that were found during development.

The series applies on top of v3.10.

Kirill A. Shutemov (4):
  PCI: acpiphp: do not check for SLOT_ENABLED in enable_device()
  PCI: acpiphp: enable_device(): rescan even if no new devices on slot
  PCI: acpiphp: check for new devices on enabled host
  PCI: acpiphp: workaround for Thunderbolt on Acer Aspire S5

Mika Westerberg (4):
  x86/PCI: prevent re-allocation of already existing bridge and ROM
    resources
  PCI: acpiphp: kill SLOT_ENABLED in favor of always re-enumerating the
    devices
  PCI: acpiphp: get rid of unused constants in acpiphp.h
  PCI: acpiphp: sanitize acpiphp_get_[latch|adapter]_status()

 arch/x86/pci/i386.c                |  4 ++
 drivers/pci/hotplug/acpi_pcihp.c   | 13 +++++
 drivers/pci/hotplug/acpiphp.h      |  5 --
 drivers/pci/hotplug/acpiphp_glue.c | 97 ++++++++++++--------------------------
 drivers/pci/remove.c               | 20 ++++++++
 include/linux/pci.h                |  1 +
 6 files changed, 69 insertions(+), 71 deletions(-)

-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux