Re: [PATCH] Add option to passively listen for PCIE hotplug events

Matthew Garrett
2008-11-04T02:07:21Z

On Tue, Nov 04, 2008 at 10:58:11AM +0900, Kenji Kaneshige wrote:

> - Even with pciehp_passive option, pciehp driver controls hotplug
> related registers at the initialization time, enabling software
> notification mechanism for hotplug events, trying to turn power
> on the slot and so on. Is this your intended behaviour?

Yes, although the most recent version of the patch doesn't do the
forcible power on if no card is detected.

> - Maybe I don't understand what "pciehp will listen for events..."
> in your patch description means. But if you expect the pciehp's
> interrupts for hotplug events, it would not work properly when
> hotplug control is not granted through _OSC or OSHP.

What do you mean by "not work properly"? The hardware we've tested with
fires events even without an OSHP method being present. That's the case
we're trying to deal with.

> > t_slot->hpc_ops->get_adapter_status(t_slot, &value); /* Check if
> > slot is occupied */
> >- if (value && pciehp_force) {
> >+ if (value && (pciehp_force || pciehp_passive)) {
> > rc = pciehp_enable_slot(t_slot);
> > if (rc) /* -ENODEV: shouldn't happen, but deal with it */
> > value = 0;

This code no longer runs in the pciehp_passive case. However, by the
looks of it it still does in the resume case - that probably wants
fixing.