-----邮件原件-----
发件人: arndbergm...@gmail.com [mailto:arndbergm...@gmail.com] 代表 Arnd Bergmann
发送时间: 2017年5月18日 4:29
收件人: songxiaowei
抄送: Bjorn Helgaas; Kishon; Jingoo Han; Tomasz Nowicki; Keith Busch; 
niklas.cas...@axis.com; Duc Dang; liudongdong (C); Chenfeng (puck); Guodong Xu; 
Wangbinghui; Suzhuangluan; Linux Kernel Mailing List; linux-pci
主题: Re: [PATCH 1/2] PCI: dwc: kirin: add PCIe Driver for HiSilicon Kirin SoC

On Fri, May 12, 2017 at 3:51 AM, Song Xiaowei <songxiao...@hisilicon.com> wrote:
> From: songxiaowei <songxiao...@hisilicon.com>

Looks good overall, just a few details:

Please fix your ~/.gitconfig to contain the same real name ("Song Xiaowei"
instead of "songxiaowei") that you use for sending the emails.

> +
> +static int kirin_pcie_phy_init(struct kirin_pcie *kirin_pcie) {
...
> +       reg_val = kirin_apb_phy_readl(kirin_pcie, 0x400);
> +       while (reg_val & pipe_clk_stable) {
> +               udelay(100);
> +               if (time == 0) {
> +                       dev_err(kirin_pcie->pci->dev, "PIPE clk is not 
> stable\n");
> +                       return -EINVAL;
> +               }
> +               time--;
> +               reg_val = kirin_apb_phy_readl(kirin_pcie, 0x400);
> +       }

If this is not called with interrupts disabled, please use a sleeping function 
(e.g. msleep(1)) as the delay and compare against ktime_before() to see how 
much total time has expired when waiting for a timeout, instead of using a 
counter.

Since the time of pipe clk stable is from 450us to 520us, I think function 
usleep_range is better.
The patches is going to be updated.
-Xiaowei. 

> diff --git a/drivers/pci/dwc/pcie-kirin.h 
> b/drivers/pci/dwc/pcie-kirin.h new file mode 100644 index 
> 000000000000..ad9a3b427298
> --- /dev/null
> +++ b/drivers/pci/dwc/pcie-kirin.h
> @@ -0,0 +1,79 @@
> +/*
> + * PCIe host controller driver for Kirin 960 SoCs
> + *
> + * Copyright (C) 2015 Huawei Electronics Co., Ltd.
> + *             http://www.huawei.com
> + *
> + * Author: Xiaowei Song <songxiao...@huawei.com>

The header is only used in one .c file, so just remove it and add the contents 
to that file.

    Arnd

Reply via email to