[PATCH V3 1/5] powerpc/fsl-pci: Unify pci/pcie initialization code

Kumar Gala galak at kernel.crashing.org
Tue Jul 31 00:46:41 EST 2012


On Jul 30, 2012, at 3:07 AM, Jia Hongtao-B38951 wrote:

>> -----Original Message-----
>> From: Kumar Gala [mailto:galak at kernel.crashing.org]
>> Sent: Friday, July 27, 2012 8:47 PM
>> To: Jia Hongtao-B38951
>> Cc: linuxppc-dev at lists.ozlabs.org; Wood Scott-B07421; Li Yang-R58472
>> Subject: Re: [PATCH V3 1/5] powerpc/fsl-pci: Unify pci/pcie
>> initialization code
>> 
>> 
>> On Jul 27, 2012, at 3:35 AM, Jia Hongtao-B38951 wrote:
>> 
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: Kumar Gala [mailto:galak at kernel.crashing.org]
>>>> Sent: Friday, July 27, 2012 2:15 AM
>>>> To: Jia Hongtao-B38951
>>>> Cc: linuxppc-dev at lists.ozlabs.org; Wood Scott-B07421; Li Yang-R58472
>>>> Subject: Re: [PATCH V3 1/5] powerpc/fsl-pci: Unify pci/pcie
>>>> initialization code
>>>> 
>>>> 
>>>> On Jul 26, 2012, at 7:30 AM, Jia Hongtao wrote:
>>>> 
>>>>> We unified the Freescale pci/pcie initialization by changing the
>>>> fsl_pci
>>>>> to a platform driver. In previous PCI code architecture the
>>>> initialization
>>>>> routine is called at board_setup_arch stage. Now the initialization
>> is
>>>> done
>>>>> in probe function which is architectural better. Also It's convenient
>>>> for
>>>>> adding PM support for PCI controller in later patch.
>>>>> 
>>>>> One issue introduced by this architecture is the timing of
>> swiotlb_init.
>>>>> During PCI initialization the need of swiotlb is determined and this
>>>> should
>>>>> be done before swiotlb_init. So a new function to determine swiotlb
>> by
>>>>> parsing pci ranges is made. This function is called at
>> board_setup_arch
>>>>> stage which is earlier than swiotlb_init.
>>>>> 
>>>>> Signed-off-by: Jia Hongtao <B38951 at freescale.com>
>>>>> Signed-off-by: Li Yang <leoli at freescale.com>
>>>>> ---
>>>>> Changed for V3:
>>>>> - Rebase the patch set on the latest tree
>>>>> - merge PCI unify and swiotlb patch into one
>>>>> 
>>>>> arch/powerpc/sysdev/fsl_pci.c |  155
>> ++++++++++++++++++++++++++++++++--
>>>> -------
>>>>> arch/powerpc/sysdev/fsl_pci.h |    9 +--
>>>>> 2 files changed, 125 insertions(+), 39 deletions(-)
>>>> 
>>>> I'd like the SWIOTLB refactoring as a separate patch.  Additionally,
>> the
>>>> order of patches should be as follows:
>>>> 
>>>> 1. refactor PCI node parsing code
>>>> 2. add pci_determine_swiotlb (should rename to
>> fsl_pci_determine_swiotlb)
>>>> 3. Determine primary bus by looking for ISA node
>>>> 4. convert all boards over to fsl_pci_init
>>>> 5. convert fsl pci to platform driver (edac and other fixes should be
>>>> merged in here)
>>>> 6. PM support
>>>> 
>>>> - k
>>> 
>>> Should I convert all boards over to fsl_pci_init first and then convert
>> them
>>> over to platform driver again or just convert them direct to platform
>> driver?
>> 
>> Yes do the fsl_pci_init conversion first.  The reason is we should NOT
>> break functionality from one patch to another.
>> 
>> - k
> 
> 
> Actually, the functionality is not broken, other boards just use the old
> Way to init pci controller and it still works.

How do you figure?  The platform driver is going to get called on boards not yet converted.  So than you will get 2 different inits of PCI going on.

- k


More information about the Linuxppc-dev mailing list