linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] ACPI / dock / PCI: Fix problems with dock and PCI hotplug
@ 2013-06-22 21:19 Rafael J. Wysocki
  2013-06-22 21:21 ` [PATCH 1/3] ACPI / dock: Initialize ACPI dock subsystem upfront Rafael J. Wysocki
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Rafael J. Wysocki @ 2013-06-22 21:19 UTC (permalink / raw)
  To: linux-acpi
  Cc: Rafael J . Wysocki, Bjorn Helgaas, Yinghai Lu,
	Alexander E . Patrakov, Jiang Liu, Greg Kroah-Hartman,
	Yijing Wang, Jiang Liu, linux-pci, linux-kernel

Hi All,

Unfortunately, the Alexander's docking station for Sony VAIO VPCZ23A4R is
basically unusable with v3.10-rc6 and, as it turns out, there are multiple
problems with it.

First, the acpiphp initialization ordering has changed recently,
acpiphp_enumerate_slots() is now always run for the first time during the
initial ACPI namespace scan in acpi_scan_init() which has broken support
for PCI devices on ACPI-based docking stations, because the ACPI dock
subsystem has to be initialized *before* acpiphp_enumerate_slots() is first
run.

Fix that, and it turns out that undocking actually doesn't work correctly
because of some synchronization problems between the dock driver, acpiphp
and the PCI core.  [That part was actually the most difficult to fix.]

Fix that, and you'll find that PCI resources are not allocated correctly
after undocking and re-docking (when initially docked).

The three patches in this series make the Alexander's docking station kind
of usable, so if no one has objections, I'd like to put them on a fast track
to Linus.

[1/3] Initialize ACPI dock subsystem before enumerating the PCI hierarchy
      (that also makes the dock driver non-modular).

[2/3] Make acpiphp use the same rules for allocating PCI resources that are
      used at boot time.

[3/3] Make acpiphp handle dock events synchronously (instead of spawning
      separate work items to handle them).  [The changelog of this patch
      is likely one of the longest I've ever written and it sort of looks
      like a crime story.]

This series is mostly based on the work of Jiang Liu (thanks Gerry!) and
the Alexander's testing that we wouldn't have done much progress without
(thanks Alexander!).

Alexander, I've modified patch [3/3] a bit since you have tested it.
The modifications shouldn't affect the behavior, but if you could re-test it,
that would be great.

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

end of thread, other threads:[~2013-06-24  9:45 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-22 21:19 [PATCH 0/3] ACPI / dock / PCI: Fix problems with dock and PCI hotplug Rafael J. Wysocki
2013-06-22 21:21 ` [PATCH 1/3] ACPI / dock: Initialize ACPI dock subsystem upfront Rafael J. Wysocki
2013-06-22 21:39   ` Yinghai Lu
2013-06-22 21:22 ` [PATCH 2/3] PCI / ACPI: Use boot-time resource allocation rules during hotplug Rafael J. Wysocki
2013-06-22 21:25 ` [PATCH 3/3] ACPI / dock / PCI: Synchronous handling of dock events for PCI devices Rafael J. Wysocki
2013-06-23  0:22   ` Yinghai Lu
2013-06-23  9:59     ` Rafael J. Wysocki
2013-06-23 19:49       ` Yinghai Lu
2013-06-23 15:54   ` Jiang Liu
2013-06-23 19:57     ` Yinghai Lu
2013-06-23 20:29       ` Yinghai Lu
2013-06-23 21:42         ` [Update][PATCH " Rafael J. Wysocki
2013-06-23 23:04           ` Yinghai Lu
2013-06-24  0:40             ` Rafael J. Wysocki
2013-06-24  4:34               ` Yinghai Lu
2013-06-24  9:55                 ` Rafael J. Wysocki
2013-06-22 21:43 ` [PATCH 0/3] ACPI / dock / PCI: Fix problems with dock and PCI hotplug Illya Klymov
2013-06-22 23:26   ` Rafael J. Wysocki
2013-06-23 17:50 ` Alexander E. Patrakov
2013-06-23 21:25   ` Rafael J. Wysocki

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).