linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Gavin Shan <gwshan@linux.vnet.ibm.com>
To: Gavin Shan <gwshan@linux.vnet.ibm.com>
Cc: linuxppc-dev@ozlabs.org, mpe@ellerman.id.au
Subject: Re: [PATCH 1/5] powerpc/eeh: Don't unfreeze PHB PE after reset
Date: Thu, 8 Oct 2015 15:05:52 +1100	[thread overview]
Message-ID: <20151008040551.GA22416@gwshan> (raw)
In-Reply-To: <20151007232014.GA5040@gwshan>

On Thu, Oct 08, 2015 at 10:20:14AM +1100, Gavin Shan wrote:
>On Wed, Oct 07, 2015 at 02:12:05PM +1100, Gavin Shan wrote:
>>On PowerNV platform, the PE is kept in frozen state until the PE
>>reset is completed to avoid recursive EEH error caused by MMIO
>>access during the period of EEH reset. The PE's frozen state is
>>cleared after BARs of PCI device included in the PE are restored
>>and enabled. However, we needn't clear the frozen state for PHB PE
>>explicitly at this point as there is no real PE for PHB PE. As the
>>PHB PE is always binding with PE#0, we actually clear PE#0, which
>>is wrong. It doesn't incur any problem though.
>>
>>This checks if the PE is PHB PE and doesn't clear the frozen state
>>if it is.
>>
>>Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
>
>Michael, please ignore this series for now. One or two patches are
>still missed. Also, this series needs respin.
>

v2 was just sent out. Please look at v2 instead of this one.

Thanks,
Gavin

>>---
>> arch/powerpc/kernel/eeh_driver.c | 14 ++++++++++----
>> 1 file changed, 10 insertions(+), 4 deletions(-)
>>
>>diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c
>>index 89eb4bc..3a626ed 100644
>>--- a/arch/powerpc/kernel/eeh_driver.c
>>+++ b/arch/powerpc/kernel/eeh_driver.c
>>@@ -587,10 +587,16 @@ static int eeh_reset_device(struct eeh_pe *pe, struct pci_bus *bus)
>> 	eeh_ops->configure_bridge(pe);
>> 	eeh_pe_restore_bars(pe);
>>
>>-	/* Clear frozen state */
>>-	rc = eeh_clear_pe_frozen_state(pe, false);
>>-	if (rc)
>>-		return rc;
>>+	/*
>>+	 * If it's PHB PE, the frozen state on all available PEs should have
>>+	 * been cleared by the PHB reset. Otherwise, we unfreeze the PE and its
>>+	 * child PEs because they might be in frozen state.
>>+	 */
>>+	if (!(pe->type & EEH_PE_PHB)) {
>>+		rc = eeh_clear_pe_frozen_state(pe, false);
>>+		if (rc)
>>+			return rc;
>>+	}
>>
>> 	/* Give the system 5 seconds to finish running the user-space
>> 	 * hotplug shutdown scripts, e.g. ifdown for ethernet.  Yes,
>>-- 
>>2.1.0
>>

      reply	other threads:[~2015-10-08  4:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-07  3:12 [PATCH 1/5] powerpc/eeh: Don't unfreeze PHB PE after reset Gavin Shan
2015-10-07  3:12 ` [PATCH 2/5] powerpc/eeh: More relexed hotplug criterion Gavin Shan
2015-10-07  3:12 ` [PATCH 3/5] powerpc/eeh: Force reset on fenced PHB Gavin Shan
2015-10-07  3:12 ` [PATCH 4/5] powerpc/eeh: More relxed condition for enabled IO path Gavin Shan
2015-10-07  3:12 ` [PATCH 5/5] powerpc/pseries: Cleanup on pseries_eeh_get_state() Gavin Shan
2015-10-07 23:20 ` [PATCH 1/5] powerpc/eeh: Don't unfreeze PHB PE after reset Gavin Shan
2015-10-08  4:05   ` Gavin Shan [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=20151008040551.GA22416@gwshan \
    --to=gwshan@linux.vnet.ibm.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mpe@ellerman.id.au \
    /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).