Subject: Re: [PATCH 03/23] powerpc/eeh: Make eeh_phb_pe_get() public

From: Gavin Shan <[email-masked]>
Date: Mon, 3 Jun 2013 09:02:40 +0800

On Sat, Jun 01, 2013 at 02:14:24PM +1000, Benjamin Herrenschmidt wrote:
>On Thu, 2013-05-30 at 16:23 +0800, Gavin Shan wrote:
>> While processing EEH event interrupt from P7IOC, we need function
>> to retrieve the PE according to the indicated PCI host controller
>> (struct pci_controller). The patch makes function eeh_phb_pe_get()
>> public so that other source files can call it for that purpose.
>
>Just to make things clear to me... You always have the concept of a
>"controller PE" ? What does it actually correspond to in terms of HW
>setting ? Bus 0 ? Bus 0..255 ? IE, A "catch all" fallback ?
>

Ben, each PHB has its corresponding PE and we call it as "PHB PE", and
it can be regarded as domain to bus 0 ... 255. I'll update the change
log to make that more clear.

Thanks,
Gavin

>> Signed-off-by: Gavin Shan <[email-masked]>
>> ---
>>  arch/powerpc/include/asm/eeh.h          |    1 +
>>  arch/powerpc/platforms/pseries/eeh_pe.c |    2 +-
>>  2 files changed, 2 insertions(+), 1 deletions(-)
>> 
>> diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h
>> index eeaeab6..4b48178 100644
>> --- a/arch/powerpc/include/asm/eeh.h
>> +++ b/arch/powerpc/include/asm/eeh.h
>> @@ -185,6 +185,7 @@ static inline void eeh_unlock(void)
>>  typedef void *(*eeh_traverse_func)(void *data, void *flag);
>>  typedef void *(*eeh_pci_traverse_func)(struct pci_dev *dev, void *flag);
>>  int eeh_phb_pe_create(struct pci_controller *phb);
>> +struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb);
>>  int eeh_add_to_parent_pe(struct eeh_dev *edev);
>>  int eeh_rmv_from_parent_pe(struct eeh_dev *edev, int purge_pe);
>>  void *eeh_pe_dev_traverse(struct eeh_pe *root,
>> diff --git a/arch/powerpc/platforms/pseries/eeh_pe.c b/arch/powerpc/platforms/pseries/eeh_pe.c
>> index fe43d1a..6e3eb43 100644
>> --- a/arch/powerpc/platforms/pseries/eeh_pe.c
>> +++ b/arch/powerpc/platforms/pseries/eeh_pe.c
>> @@ -95,7 +95,7 @@ int eeh_phb_pe_create(struct pci_controller *phb)
>>   * hierarchy tree is composed of PHB PEs. The function is used
>>   * to retrieve the corresponding PHB PE according to the given PHB.
>>   */
>> -static struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb)
>> +struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb)
>>  {
>>  	struct eeh_pe *pe;
>>  
>
>