login
Header Space

 
 

Re: [PATCH 0/4, v3] Physical PCI slot objects

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Kenji Kaneshige <kaneshige.kenji@...>
Cc: <pcihpd-discuss@...>, Gary Hade <garyhade@...>, Matthew Wilcox <matthew@...>, <gregkh@...>, <kristen.c.accardi@...>, <lenb@...>, <rick.jones2@...>, <linux-kernel@...>, <linux-pci@...>, <linux-acpi@...>
Date: Monday, December 10, 2007 - 7:02 pm

Hi Kenji-san,

I have been thinking about this problem for quite a bit, and
think that there are no good solutions...

* Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>:

If I/O unit A or B can never appear while the system is turned on
(aka not hotpluggable), then it is incorrect to present them in
the current namespace. 


There is nothing illegal about evaluating _SUN for an object that
returns 0x0 for _STA. 

Also, when you say "non-existing", I think of the ACPI CA
exception code AE_NOT_EXIST which means "absent from
the namespace", and is the reason why my code works on both HP
and IBM machines. It does not mean "_STA == 0x0".


I did some experiments on HP low-end ia64 (ACPI 1.0b only) and
our mid-range and high-end ia64 platforms (ACPI 2.0c). Checking
for _STA before evaluating _SUN leads to the same result for me:
we only detect populated slots.

I think that the real issue is not 1.0 vs 2.0, but the semantics
that our different firmware teams have placed on _STA. Again,

  - HP firmware thinks _STA should give status of the card
  - Fujitsu firmware thinks _STA should give status of the slot

So we are at an impasse. :(


I did some experiments to see if I could write a quick hack, like

  - do not register a slot if we've already seen this _SUN

But it broke my reference counting, and I don't think it would be
robust enough if users wanted to modprobe/rmmod pci_slot and
acpiphp/pciehp in random order.

I do not agree that _SUN should return a repeating, non-compliant
value even if _STA says the device is not present. A truly
non-existent device is one that does not appear in the namespace.
If you cannot hotplug an I/O unit on your machine, then your
firmware shouldn't be presenting those devices in the namespace.

I think the best option would be for your firmware to return the
actual value of _SUN if I/O unit A and/or B was plugged in. That
way, nothing special has to happen when the units are hotplugged
-- they'll already have correct entries in sysfs. If they are
never hotplugged, it shouldn't be confusing for the user, since
they will never actually get any devices in those slots anyway.

What happens if you try to load acpiphp on your system today?
Does it work, or do you get the same messages about trying to
create multiple entries in sysfs with the same name?

Do you have any better ideas for detecting all physical slots in
a system, regardless of whether they are populated?

Thanks.

/ac

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Sat Nov 17, 2:29 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Mon Nov 19, 7:32 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Mon Nov 26, 6:22 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kenji Kaneshige, (Thu Nov 29, 3:47 am)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kristen Carlson Accardi, (Tue Mar 11, 3:15 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kenji Kaneshige, (Wed Mar 12, 8:25 am)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Thu Nov 29, 9:51 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kenji Kaneshige, (Sun Dec 2, 11:30 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Mon Dec 3, 6:43 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kenji Kaneshige, (Tue Dec 4, 8:57 am)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Mon Dec 10, 7:02 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Mon Nov 26, 11:04 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kristen Carlson Accardi, (Tue Nov 27, 3:11 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Wed Nov 28, 5:31 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Thu Nov 29, 9:19 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Fri Nov 30, 3:10 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kristen Carlson Accardi, (Wed Nov 28, 8:02 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Wed Nov 28, 9:09 pm)
[PATCH 3/4, v5] PCI, PCI Hotplug: Introduce pci_slot, Alex Chiang, (Mon Nov 26, 6:26 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Matthew Garrett, (Mon Nov 19, 10:04 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Gary Hade, (Tue Nov 20, 3:53 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kenji Kaneshige, (Mon Nov 19, 9:33 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Kristen Carlson Accardi, (Mon Nov 19, 1:43 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Mon Nov 19, 6:02 pm)
Re: [PATCH 0/4, v3] Physical PCI slot objects, Alex Chiang, (Mon Nov 19, 1:57 pm)
[PATCH 3/4, v3] PCI, PCI Hotplug: Introduce pci_slot, Alex Chiang, (Sat Nov 17, 2:37 pm)
[PATCH 3/4, v4] PCI, PCI Hotplug: Introduce pci_slot, Alex Chiang, (Mon Nov 19, 6:03 pm)
speck-geostationary