> > Hi, > > > On Wed, Aug 10, 2016 at 2:03 PM, First Light <xiaoguang.chen@xxxxxxx> > wrote: > > Hi, Dear maintainers for sysnopsys pcie driver > > Please always keep the mailing list in CC, so that you can have response from > wider audience. Thanks for the reminder:) > > > > > I have one question for this driver > > > > > > we are using synopsys PCIE IP in our platform,and I'm trying to use > > linux driver(drivers/pci/host/pcie-designware.c) to bring up this IP. > > > > but I met one issue which I cannot understand whether it is software > > issue or hardware issue, please help to clearify. thank you very > > much! > > > > In pcie-designware.c, the interface to read config is dw_pcie_rd_conf > > function, below is part of the code: > > > > if (bus->number == pp->root_bus_nr) > > return dw_pcie_rd_own_conf(...) > > else > > return dw_pcie_rd_other_conf(...) > > > > this part of code checks if it is the root bus, if so, read own config > > registers, otherwise use DBF way to read configs from EPs. > > > > In our platform, we put one SSD device under bus0 device1. during > > enumration, when above software code try to read ssd's registers, > > > > it found the bus is 0, so it reads the RC's register, but not the > > SSD's register. > > > > How do you know that when it tried to read bus 0, it was your SSD device? That > should always be RC. Did you check if linkup was OK for your endpoint device? > Do you see "link up" in your dmesg? [First Light] Yes, I found linkup message. And this issue is solved, it is software configuration issue. I fixed it by mapping pci address to 1MB offset cpu address and we can see ssd be emumrated. > > > > so our ssd is never enumrated. > > Which host platform for designware do you use? Is that host driver in mainline? > Does other standard PCIe card work with your host? [First Light] Yes, we are using linaro stable kernel linux4.4. and also back ported several patches from mainline, current code is aligned with mainline. > > ~Pratyush [First Light] Pratyush, thanks for your reply, I have another question about designware pcie driver, it looks that it doesn't support MSIX handling, as I'm using nvme to connect pcie to ssd, and I see nvme driver just tried to enable msix irq, when it calls into this designeware pcie driver with callback function: setup_irqs, but in dw_msi_setup_irqs, it checks PCI_CAP_ID_MSIX and return -EINVAL, so nvme driver probe failed. Why this driver doesn't support MSIX? Or is there other way to use it with nvme? Thanks very much! > > > > > is there any way to do some hardware or software configuration to make > > it work? or do we need to change our hardware design? > > > > > > Thanks > > Xiaoguang > > > > > > > > > > > > This email and any attachments thereto may contain private, > > confidential, and privileged material for the sole use of the intended > > recipient. Any review, copying, or distribution of this email (or any > > attachments thereto) by others is strictly prohibited. If you are not > > the intended recipient, please contact the sender immediately and > > permanently delete the original and any copies of this email and any > attachments thereto. > > > > 此电子邮件及附件所包含内容具有机密性,且仅限于接收人使用。未经 > 允 > > 许,禁止第三人阅读、复制或传播该电子邮件中的任何信息。如果您不 > 属于以上电子邮件的目标接收者,请您立即通知发送人并删除原电子邮件 > 及其相关的附件 > > 。 ��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥