linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bhelgaas@google.com>
To: Keith Busch <keith.busch@intel.com>
Cc: linux-pci@vger.kernel.org, Rajat Jain <rajatxjain@gmail.com>
Subject: Re: [PATCH] pci: Use hot-plug capable for testing presence on
Date: Wed, 21 Jan 2015 11:09:27 -0600	[thread overview]
Message-ID: <20150121170927.GA13072@google.com> (raw)
In-Reply-To: <20150116203330.GJ29776@google.com>

On Fri, Jan 16, 2015 at 02:33:30PM -0600, Bjorn Helgaas wrote:
> [+cc Rajat]
> 
> On Mon, Dec 22, 2014 at 12:07:03PM -0700, Keith Busch wrote:
> > The PCI-e Base specifically says Hot-Plug Surprise capability is for
> > removal only, but pciehp checked this to determine if it should handle a
> > slot event on device add. Lots of platform's pcie slots don't advertise
> > support for surprise removal, but are perfectly capable of handling
> > hot-add, so checking surprise removal is not appropriate.
> > 
> > This patch checks the Hot-Plug Capable bit in the slot capabilities to
> > determine if the detected presence on is a reliable event instead of
> > Hot-Plug Surprise.
> > 
> > Signed-off-by: Keith Busch <keith.busch@intel.com>
> 
> This seems reasonable to me, and I applied it to pci/hotplug for v3.20.

After our follow-up discussion, I replaced this patch with the following.
If anybody objects, let me know.

commit dc0c25c0ee9f92ba1872fdda9c2a0014611cf722
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Wed Jan 21 10:28:07 2015 -0600

    PCI: pciehp: Handle surprise add even if surprise removal isn't supported
    
    The PCIe spec (r3.0, sec 7.8.9) says Hot-Plug Surprise indicates support
    for surprise *removal*, but pciehp checked this to determine if it should
    handle presence detect interrupts for device *addition*.
    
    Allow surprise device addition even if the slot doesn't advertise support
    for surprise removal.
    
    Keith has a platform with slots for front-loading SFF devices.  The slots
    do not have attention buttons and do not support surprise removal, but they
    do have presence detect.  In that case, we still want to use presence
    detect for device addition.
    
    Keith's original patch handled surprise insertions only if Hot-Plug Capable
    is set.  I think that test is superfluous because pciehp only claims slots
    that advertise Hot-Plug Capable (see get_port_device_capability()).
    
    Link: http://lkml.kernel.org/r/1419275223-14602-1-git-send-email-keith.busch@intel.com
    Based-on-patch-by: Keith Busch <keith.busch@intel.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index ff32e85e1de6..f052e951b23e 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -532,8 +532,6 @@ static void interrupt_event_handler(struct work_struct *work)
 		pciehp_green_led_off(p_slot);
 		break;
 	case INT_PRESENCE_ON:
-		if (!HP_SUPR_RM(ctrl))
-			break;
 		ctrl_dbg(ctrl, "Surprise Insertion\n");
 		handle_surprise_event(p_slot);
 		break;

      parent reply	other threads:[~2015-01-21 17:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-22 19:07 [PATCH] pci: Use hot-plug capable for testing presence on Keith Busch
2015-01-15 22:17 ` Keith Busch
2015-01-16 20:33 ` Bjorn Helgaas
2015-01-16 20:50   ` Rajat Jain
2015-01-16 21:24     ` Keith Busch
2015-01-16 23:44     ` Bjorn Helgaas
2015-01-21 17:09   ` Bjorn Helgaas [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150121170927.GA13072@google.com \
    --to=bhelgaas@google.com \
    --cc=keith.busch@intel.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=rajatxjain@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).