[PATCH V3 1/5] powerpc/fsl-pci: Unify pci/pcie initialization code
Kumar Gala
galak at kernel.crashing.org
Tue Jul 31 23:37:30 EST 2012
On Jul 31, 2012, at 2:21 AM, Li Yang wrote:
> On Mon, Jul 30, 2012 at 10:46 PM, Kumar Gala <galak at kernel.crashing.org> wrote:
>>
>> On Jul 30, 2012, at 3:26 AM, Jia Hongtao-B38951 wrote:
>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Kumar Gala [mailto:galak at kernel.crashing.org]
>>>> Sent: Saturday, July 28, 2012 5:17 AM
>>>> To: Wood Scott-B07421
>>>> Cc: Jia Hongtao-B38951; 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:24 PM, Scott Wood wrote:
>>>>
>>>>> On 07/27/2012 05:10 AM, Jia Hongtao-B38951 wrote:
>>>>>> Hi kumar,
>>>>>>
>>>>>> I know "duplicate code from pci_process_bridge_OF_ranges()" is
>>>>>> hard to accept but "refactor the code to have a shared function"
>>>>>> is knotty. Actually this is the reason I didn't do the refactor.
>>>>>
>>>>> Maybe we should keep doing the init early? We could still have a
>>>>> platform device for the PM stuff, but some init would be done before
>>>> probe.
>>>>>
>>>>> Another possibility is to try to handle swiotlb init later -- possibly
>>>>> by reserving memory for it if the platform indicates it's a possibility
>>>>> that it will be needed, then freeing the memory if it's not needed.
>>>>>
>>>>> -Scott
>>>>
>>>> I think the first option seems reasonable. Can we leave fsl_pci_init()
>>>> as we now have it and just have the platform driver deal with PM restore
>>>> via calling setup_pci_atmu() [probably need to update setup_pci_atmu to
>>>> handle restore case, but seems like minor changes]
>>>>
>>>> - k
>>>>
>>>
>>>
>>> I think the second option is better if it's hard to decouple swiotlb
>>> determination from pci init. I believe the better architecture that
>>> PCI init in probe function of platform driver will bring us considerable
>>> advantage. I really like to keep the completion of pci controller
>>> platform driver not only for PM support but also for pci init.
>>>
>>> -Hongtao.
>>>
>>
>> Shifting of swiotlb init has a lot more issues. Why do we need to do the PCI init in probe?
>
> The ordering issues are introduced by swiotlb. And the ideal way is
> to solve the problem within swiotlb instead of changing PCI to
> workaround it. Take the implementation of x86 as reference it's
> possible to be addressed bu allocating first and free later approach.
>
> It is common sense that the initialization of a device is in the probe
> function of the driver of the device. And the change will provide
> better unification of PCI controller code. The PCI controller is
> generic enough not to be taken care of at the platform area.
>
> Leo
Than lets look at going with that approach.. Be careful with impact on other users of swiotlb on PPC, I believe one 44x board uses swiotlb.
- k
More information about the Linuxppc-dev
mailing list