答复: Synopsys pcie driver question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> 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�����٥




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux