-----邮件原件----- 发件人: arndbergmann@xxxxxxxxx [mailto:arndbergmann@xxxxxxxxx] 代表 Arnd Bergmann 发送时间: 2017年5月18日 4:29 收件人: songxiaowei 抄送: Bjorn Helgaas; Kishon; Jingoo Han; Tomasz Nowicki; Keith Busch; niklas.cassel@xxxxxxxx; 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 <songxiaowei@xxxxxxxxxxxxx> wrote: > From: songxiaowei <songxiaowei@xxxxxxxxxxxxx> 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 <songxiaowei@xxxxxxxxxx> The header is only used in one .c file, so just remove it and add the contents to that file. Arnd