From: Brian King <brking@linux.vnet.ibm.com>
To: Brian King <brking@linux.vnet.ibm.com>
Cc: paulus@samba.org, linas@boardhead.austin.ibm.com,
linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 1/1] powerpc: Export PCI slot reset API
Date: Tue, 23 Jan 2007 17:28:42 -0600 [thread overview]
Message-ID: <45B69A2A.9060207@linux.vnet.ibm.com> (raw)
In-Reply-To: <11686349711123-patch-mail.ibm.com>
Any comments on this?
Thanks,
Brian
Brian King wrote:
> Adds two new APIs to assert/deassert PCI reset to a given
> device. This is needed for an ipr PCI-E adapter which does not
> properly implement either BIST nor PCI-E hot reset, requiring
> a PCI-E warm reset, which is what this implements.
>
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
> ---
>
> linux-2.6-bjking1/arch/powerpc/platforms/pseries/eeh.c | 41 +++++++++++++++++
> linux-2.6-bjking1/include/asm-powerpc/ppc-pci.h | 3 +
> 2 files changed, 44 insertions(+)
>
> diff -puN arch/powerpc/platforms/pseries/eeh.c~powerpc_slot_reset_api2 arch/powerpc/platforms/pseries/eeh.c
> --- linux-2.6/arch/powerpc/platforms/pseries/eeh.c~powerpc_slot_reset_api2 2007-01-11 15:52:57.000000000 -0600
> +++ linux-2.6-bjking1/arch/powerpc/platforms/pseries/eeh.c 2007-01-11 15:52:57.000000000 -0600
> @@ -591,6 +591,47 @@ static void __rtas_set_slot_reset(struct
> msleep (PCI_BUS_SETTLE_TIME_MSEC);
> }
>
> +/**
> + * pci_set_slot_reset - Assert PCI reset to the PCI slot
> + * @dev: pci device struct
> + *
> + * After asserting PCI reset, the caller should wait for
> + * 100 milliseconds or longer.
> + *
> + * Return value:
> + * 0 if success
> + **/
> +int pci_set_slot_reset(struct pci_dev *dev)
> +{
> + struct device_node *dn = pci_device_to_OF_node(dev);
> + struct pci_dn *pdn = PCI_DN(dn);
> +
> + rtas_pci_slot_reset(pdn, 3);
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(pci_set_slot_reset);
> +
> +/**
> + * pci_clear_slot_reset - Clear PCI reset to the PCI slot
> + * @dev: pci device struct
> + *
> + * After clearing PCI reset, the caller should wait 1.8 seconds
> + * or longer for the bus to stabilize and the device to come
> + * ready.
> + *
> + * Return value:
> + * 0 if success
> + **/
> +int pci_clear_slot_reset(struct pci_dev *dev)
> +{
> + struct device_node *dn = pci_device_to_OF_node(dev);
> + struct pci_dn *pdn = PCI_DN(dn);
> +
> + rtas_pci_slot_reset (pdn, 0);
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(pci_clear_slot_reset);
> +
> int rtas_set_slot_reset(struct pci_dn *pdn)
> {
> int i, rc;
> diff -puN include/asm-powerpc/ppc-pci.h~powerpc_slot_reset_api2 include/asm-powerpc/ppc-pci.h
> --- linux-2.6/include/asm-powerpc/ppc-pci.h~powerpc_slot_reset_api2 2007-01-11 15:52:57.000000000 -0600
> +++ linux-2.6-bjking1/include/asm-powerpc/ppc-pci.h 2007-01-11 15:52:57.000000000 -0600
> @@ -124,6 +124,9 @@ void eeh_clear_slot (struct device_node
> /* Find the associated "Partiationable Endpoint" PE */
> struct device_node * find_device_pe(struct device_node *dn);
>
> +int pci_set_slot_reset(struct pci_dev *dev);
> +int pci_clear_slot_reset(struct pci_dev *dev);
> +
> #endif
>
> #endif /* __KERNEL__ */
> _
--
Brian King
eServer Storage I/O
IBM Linux Technology Center
next prev parent reply other threads:[~2007-01-23 23:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-12 20:49 [PATCH 1/1] powerpc: Export PCI slot reset API Brian King
2007-01-23 23:28 ` Brian King [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-01-24 22:03 Brian King
2007-01-26 2:49 Christoph Hellwig
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=45B69A2A.9060207@linux.vnet.ibm.com \
--to=brking@linux.vnet.ibm.com \
--cc=linas@boardhead.austin.ibm.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.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.