lkml.org 
[lkml]   [2013]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH 5/6] PCI: acpiphp: look _RMV method a bit deeper in the hierarhcy
Date
Mika Westerberg wrote:
> The acpiphp driver finds out whether the device is hotpluggable by checking
> whether it has _RMV method behind it (and if it returns 1). However, at
> least Acer Aspire S5 with Thunderbolt host router has this method placed
> behind device called EPUP (endpoint upstream port?) and not directly behind
> the root port as can be seen from the ASL code below:
>
> Device (RP05)
> {
> ...
> Device (HRUP)
> {
> Name (_ADR, Zero)
> Name (_PRW, Package (0x02)
> {
> 0x09,
> 0x04
> })
> Device (HRDN)
> {
> Name (_ADR, 0x00040000)
> Name (_PRW, Package (0x02)
> {
> 0x09,
> 0x04
> })
> Device (EPUP)
> {
> Name (_ADR, Zero)
> Method (_RMV, 0, NotSerialized)
> {
> Return (One)
> }
> }
> }
> }
>
> If we want to support such machines we must look for the _RMV method a bit
> deeper in the hierarchy. Fix this by changing pcihp_is_ejectable() to check
> few more devices down from the root port.

We found that this approach is broken. We've got false positive: host
bridge itself was detected as hotplugable slot %) I think it's not
acceptable.

Mika has tried few more approaches, but we haven't found anything better
then hardcoded path like in original workaround patch[1]. It's not generic
at all, but safe from false positives.

Any thoughts?

[1] http://article.gmane.org/gmane.linux.kernel.pci/19102

--
Kirill A. Shutemov


\
 
 \ /
  Last update: 2013-07-02 20:21    [W:0.405 / U:0.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site