All of lore.kernel.org
 help / color / mirror / Atom feed
From: Don Dutile <ddutile@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: bhelgaas@google.com, linux-pci@vger.kernel.org,
	indou.takao@jp.fujitsu.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 5/9] pci: Split out pci_dev lock/unlock and save/restore
Date: Thu, 01 Aug 2013 16:59:14 -0400	[thread overview]
Message-ID: <51FACC22.10500@redhat.com> (raw)
In-Reply-To: <20130801165539.16145.79655.stgit@bling.home>

On 08/01/2013 12:55 PM, Alex Williamson wrote:
> Only cosmetic changes to existing paths.
>
> Signed-off-by: Alex Williamson<alex.williamson@redhat.com>
> ---
>   drivers/pci/pci.c |   52 +++++++++++++++++++++++++++++++++++-----------------
>   1 file changed, 35 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index db90692..f6c757a 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -3378,22 +3378,46 @@ done:
>   	return rc;
>   }
>
> +static void pci_dev_lock(struct pci_dev *dev)
> +{
> +	pci_cfg_access_lock(dev);
> +	/* block PM suspend, driver probe, etc. */
> +	device_lock(&dev->dev);
> +}
> +
> +static void pci_dev_unlock(struct pci_dev *dev)
> +{
> +	device_unlock(&dev->dev);
> +	pci_cfg_access_unlock(dev);
> +}
> +
> +static void pci_dev_save_and_disable(struct pci_dev *dev)
> +{
> +	pci_save_state(dev);
> +	/*
> +	 * both INTx and MSI are disabled after the Interrupt Disable bit
> +	 * is set and the Bus Master bit is cleared.
> +	 */
> +	pci_write_config_word(dev, PCI_COMMAND, PCI_COMMAND_INTX_DISABLE);
> +}
although the above is just a shuffling of the previous code,
does the comment need to point out that BARs are disabled by this write as well ?

> +
> +static void pci_dev_restore(struct pci_dev *dev)
> +{
> +	pci_restore_state(dev);
> +}
> +
>   static int pci_dev_reset(struct pci_dev *dev, int probe)
>   {
>   	int rc;
>
> -	if (!probe) {
> -		pci_cfg_access_lock(dev);
> -		/* block PM suspend, driver probe, etc. */
> -		device_lock(&dev->dev);
> -	}
> +	if (!probe)
> +		pci_dev_lock(dev);
>
>   	rc = __pci_dev_reset(dev, probe);
>
> -	if (!probe) {
> -		device_unlock(&dev->dev);
> -		pci_cfg_access_unlock(dev);
> -	}
> +	if (!probe)
> +		pci_dev_unlock(dev);
> +
>   	return rc;
>   }
>   /**
> @@ -3484,17 +3508,11 @@ int pci_reset_function(struct pci_dev *dev)
>   	if (rc)
>   		return rc;
>
> -	pci_save_state(dev);
> -
> -	/*
> -	 * both INTx and MSI are disabled after the Interrupt Disable bit
> -	 * is set and the Bus Master bit is cleared.
> -	 */
> -	pci_write_config_word(dev, PCI_COMMAND, PCI_COMMAND_INTX_DISABLE);
> +	pci_dev_save_and_disable(dev);
>
>   	rc = pci_dev_reset(dev, 0);
>
> -	pci_restore_state(dev);
> +	pci_dev_restore(dev);
>
>   	return rc;
>   }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2013-08-01 20:59 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-01 16:55 [PATCH v3 0/9] pci: bus and slot reset interfaces Alex Williamson
2013-08-01 16:55 ` [PATCH v3 1/9] pci: Create pci_reset_bridge_secondary_bus() Alex Williamson
2013-08-01 16:55 ` [PATCH v3 2/9] pci: Add hotplug_slot_ops.reset_slot() Alex Williamson
2013-08-01 16:55 ` [PATCH v3 3/9] pci: Implement reset_slot for pciehp Alex Williamson
2013-08-01 16:55 ` [PATCH v3 4/9] pci: Add slot reset option to pci_dev_reset Alex Williamson
2013-08-01 16:55 ` [PATCH v3 5/9] pci: Split out pci_dev lock/unlock and save/restore Alex Williamson
2013-08-01 20:59   ` Don Dutile [this message]
2013-08-01 21:04     ` Alex Williamson
2013-08-01 16:55 ` [PATCH v3 6/9] pci: Add slot and bus reset interfaces Alex Williamson
2013-08-01 21:22   ` Don Dutile
2013-08-01 21:32     ` Alex Williamson
2013-08-01 16:55 ` [PATCH v3 7/9] pci: Wake-up devices before save for reset Alex Williamson
2013-08-01 16:55 ` [PATCH v3 8/9] pci: Tune secondary bus reset timing Alex Williamson
2013-08-01 21:29   ` Don Dutile
2013-08-01 21:41     ` Alex Williamson
2013-08-01 21:55       ` Don Dutile
2013-08-01 16:56 ` [PATCH v3 9/9] pci: Remove aer_do_secondary_bus_reset() Alex Williamson

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=51FACC22.10500@redhat.com \
    --to=ddutile@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=indou.takao@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.