Re: [PATCH -v3 3/3] PCI,pciehp: use PCIe DSN to identify device changeduring suspend

From: Yijing Wang
Date: Fri Jul 26 2013 - 04:26:39 EST


Hi Bjorn,
Thanks for your review and comments!

>
> I'm not sure this is implemented at the correct place. The idea of
> using the serial number to detect card swaps is not really specific to
> pciehp. I know the Device Serial Number capability is defined in the
> PCIe spec, but it doesn't *require* any PCIe functionality, and
> there's no reason a similar capability couldn't be defined for
> conventional PCI.

Yes, maybe implement this interface in PCI core is better.

>
> I don't know much about it, but conventional PCI *does* in fact
> support the VPD capability, which can contain a serial number. I
> wonder if we should enhance pci_device_serial_number() to look for a
> VPD serial number if there's no PCIe DSN. Then we would want this
> check for card swap in a more generic place, e.g., somewhere in
> pci_scan_slot(), so all forms of hotplug would benefit from it.

This is a good idea, I will try to enhance pci_device_serial_number to
support legacy PCI device VPD capability. Then I will try to move this to
a more generic place.

>
> Also, I think it's possible to use acpiphp for ExpressCard slots, and
> this patch doesn't help acpiphp detect card swaps. I don't see any
> mention of suspend/resume in acpiphp, so I don't know if it does
> anything at all to detect card changes while suspended. Maybe Rafael
> can shed some light?

Acpiphp driver is not attached to a specific pci/pcie device, so i think
there is no point to call driver->suspend/resume interface.
Add cc Rafael J. Wysocki.

>
> I put the first two patches on a pci/yijing-dsn-v3 branch while we
> work out the details of this one.

Thanks!

>
> Bjorn
>
>> } else if (!list_empty(&pbus->devices)) {
>> pciehp_disable_slot(slot);
>> }
>> --
>> 1.7.1
>>
>>
>
> .
>


--
Thanks!
Yijing

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/