Re: [PATCH 1/1] pci: pciehp: Handle MRL interrupts to enable slot for hotplug.

From: Kuppuswamy, Sathyanarayanan
Date: Fri Nov 20 2020 - 14:34:54 EST


Hi,

On 11/19/20 2:08 PM, Raj, Ashok wrote:
If an Attention Button is present, the current behavior is to bring up
the hotplug slot as soon as presence or link is detected. We don't wait
for a button press. This is intended as a convience feature to bring up
slots as quickly as possible, but the behavior can be changed if the
button press and 5 second delay is preferred.
No personal preference, I thought that is how the code in Linux was
earlier.

Looks like we still don't subscribe to PDC if ATTN is present? So you don't
get an event until someone presses the button to process hotplug right?

pciehp_hpc.c:pcie_enable_notification()
{
....

* Always enable link events: thus link-up and link-down shall
* always be treated as hotplug and unplug respectively. Enable
* presence detect only if Attention Button is not present.
*/
cmd = PCI_EXP_SLTCTL_DLLSCE;
if (ATTN_BUTTN(ctrl))
cmd |= PCI_EXP_SLTCTL_ABPE;
else
cmd |= PCI_EXP_SLTCTL_PDCE;
....
}


Looks like we still wait for button press to process. When you don't have a
power control yes the DLLSC would kick in and we would process them. but if
you have power control, you won't turn on until the button press?

Yes, as per current logic, if attention button is present, then we don't
subscribe to PDC event changes. we wait for button press  to turn on/off
the slot.

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer