[PATCH] PCI: exynos: remove redundant code in exynos_pcie_establish_link

Pankaj Dubey pankaj.dubey at samsung.com
Tue Oct 10 06:46:23 PDT 2017


Hi Jingoo,


On 10/09/2017 09:50 PM, Jingoo Han wrote:
> On Monday, October 9, 2017 10:44 AM, Krzysztof Kozlowski wrote:
>> On Mon, Oct 9, 2017 at 4:14 PM, Pankaj Dubey <pankaj.dubey at samsung.com>
>> wrote:
>>> From: Anvesh Salveru <anvesh.s at samsung.com>
>>>
>>> In exynos_pcie_establish_link if driver is not using generic phy,
>>> we are resetting PHY twice, which is redundant, so this patch removes
>> Hi Pankaj,
>>
>> This lacks the information why it is redundant.
> (I resend this mail, because email address of pci list was corrupted.)
Thanks, somehow I typed wrong email id.
> I think so, too.
>
> Did you test this code on some boards with Exynos PCIe?
> Or did hardware engineers confirm this?
> Please add more information on this patch.
I have replied reason behind this patch in reply to Krzysztof, hope I am 
able to
explain logic behind this change.

I do not have access to Exynos5440 PCIe, and this PHY_COMMON_RESET is not
applicable to other Exynos SoC which I have with me, so I can't test 
this change,
but if you see the change it is an obvious change, before introducing 
generic phy
support to this driver PHY_COMMON_RESET was programmed only once, then
in case platform is not using PHY it suppose to be done only once during 
linkup.
I am not sure when Jaehoon introduced this patch, he verified this on 
Exynos5440 or
not. We are just trying to make the logic as it was before without 
affecting anything.

Thanks,
Pankaj Dubey
> Best regards,
> Jingoo Han
>
>>> repeated lines of code for PHY reset.
>>>
>>> Signed-off-by: Anvesh Salveru <anvesh.s at samsung.com>
>> Your Signed-off-by is needed here.
>>
>> Best regards,
>> Krzysztof
>>
>>> ---
>>>   drivers/pci/dwc/pci-exynos.c | 7 -------
>>>   1 file changed, 7 deletions(-)
>>>
>>> diff --git a/drivers/pci/dwc/pci-exynos.c b/drivers/pci/dwc/pci-exynos.c
>>> index 5596fde..85d2f4b 100644
>>> --- a/drivers/pci/dwc/pci-exynos.c
>>> +++ b/drivers/pci/dwc/pci-exynos.c
>>> @@ -423,13 +423,6 @@ static int exynos_pcie_establish_link(struct
>> exynos_pcie *ep)
>>>                  exynos_pcie_deassert_phy_reset(ep);
>>>                  exynos_pcie_power_on_phy(ep);
>>>                  exynos_pcie_init_phy(ep);
>>> -
>>> -               /* pulse for common reset */
>>> -               exynos_pcie_writel(ep->mem_res->block_base, 1,
>>> -                                       PCIE_PHY_COMMON_RESET);
>>> -               udelay(500);
>>> -               exynos_pcie_writel(ep->mem_res->block_base, 0,
>>> -                                       PCIE_PHY_COMMON_RESET);
>>>          }
>>>
>>>          /* pulse for common reset */
>>> --
>>> 2.7.4
>>>
>
>
>
>




More information about the linux-arm-kernel mailing list