linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] Thunderbolt workarounds
@ 2013-07-03 14:04 Mika Westerberg
  2013-07-03 14:04 ` [PATCH v2 1/8] x86/PCI: prevent re-allocation of already existing bridge and ROM resources Mika Westerberg
                   ` (8 more replies)
  0 siblings, 9 replies; 36+ messages in thread
From: Mika Westerberg @ 2013-07-03 14:04 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Bjorn Helgaas, Rafael J. Wysocki
  Cc: Jesse Barnes, Yinghai Lu, john.ronciak, miles.j.penner,
	bruce.w.allan, Heikki Krogerus, Kirill A. Shutemov,
	Mika Westerberg, linux-kernel, linux-acpi, linux-pci, x86

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


^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2013-07-23  1:51 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-03 14:04 [PATCH v2 0/8] Thunderbolt workarounds Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 1/8] x86/PCI: prevent re-allocation of already existing bridge and ROM resources Mika Westerberg
2013-07-23  0:08   ` Bjorn Helgaas
2013-07-23  1:18     ` Bjorn Helgaas
2013-07-23  1:33       ` Bjorn Helgaas
2013-07-23  2:01         ` Rafael J. Wysocki
2013-07-23  1:50       ` Rafael J. Wysocki
2013-07-03 14:04 ` [PATCH v2 2/8] PCI: acpiphp: do not check for SLOT_ENABLED in enable_device() Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 3/8] PCI: acpiphp: enable_device(): rescan even if no new devices on slot Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 4/8] PCI: acpiphp: check for new devices on enabled host Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 5/8] PCI: acpiphp: kill SLOT_ENABLED in favor of always re-enumerating the devices Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 6/8] PCI: acpiphp: workaround for Thunderbolt on Acer Aspire S5 Mika Westerberg
2013-07-03 21:40   ` Rafael J. Wysocki
2013-07-04  8:58     ` Mika Westerberg
2013-07-04 12:36       ` Rafael J. Wysocki
2013-07-04 12:53         ` Mika Westerberg
2013-07-04 13:14           ` Rafael J. Wysocki
2013-07-04 13:33             ` Mika Westerberg
2013-07-04 13:53               ` Rafael J. Wysocki
2013-07-04 14:29                 ` [PATCH v2.1 " Mika Westerberg
2013-07-04 23:48                   ` Rafael J. Wysocki
2013-07-05  5:47                     ` Mika Westerberg
2013-07-19  3:57     ` [PATCH v2 " Robert Hancock
2013-07-19 12:18       ` Rafael J. Wysocki
2013-07-03 21:45   ` Bjorn Helgaas
2013-07-03 21:58     ` Rafael J. Wysocki
2013-07-03 14:04 ` [PATCH v2 7/8] PCI: acpiphp: get rid of unused constants in acpiphp.h Mika Westerberg
2013-07-03 14:04 ` [PATCH v2 8/8] PCI: acpiphp: sanitize acpiphp_get_[latch|adapter]_status() Mika Westerberg
2013-07-03 18:29 ` [PATCH v2 0/8] Thunderbolt workarounds Matthew Garrett
2013-07-03 18:33   ` Greg Kroah-Hartman
2013-07-03 18:44     ` Matthew Garrett
2013-07-03 19:57       ` Ronciak, John
2013-07-03 20:35         ` Matthew Garrett
2013-07-03 20:46           ` Ronciak, John
2013-07-03 21:21             ` Matthew Garrett
2013-07-03 18:41   ` Mika Westerberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).