Thread (1 message) 1 message, 1 author, 2013-10-11

Re: [PATCH v2 3/6] powerpc/pci: use pci_is_pcie() to simplify code

From: Yijing Wang <hidden>
Date: 2013-10-11 08:23:45
Also in: linux-pci, lkml

quoted
In my idea, dev->pcie_cap(here is pci_dev->pcie_cap) will update in set_pcie_port_type() function,
and this function always be called after allocate pci device. We get pci_dev by eeh_dev_to_pci_dev(),
I think pci_dev has been initialized completely.
quoted
This function has possibility to be invoked before that. However,
we don't have the binding (eeh device <-> PCI device) for the case.
So the piece of code shouldn't be running
In PCI core, I knew

pci_scan_device()
  pci_setup_device()
      set_pcie_port_type()
           pci_dev->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP);

In powerpc, I also found

of_scan_pci_dev()
  of_create_pci_dev()
      set_pcie_port_type()
	    pci_dev->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP);
quoted
However, it's a bit safer to have pci_find_capability(dev, PCI_CAP_ID_EXP)
as well even though we needn't it for 99.9% cases if you agree :-)
I agree, this function is not the performance bottleneck,
safety is more important. :)
So if Bjorn and Benjamin think it's not safe, it's ok to drop it. :)
No, it's not what I mean. Anyway, "v3" looks good to me.
At least, it can save PCI-CFG access cycles find locate
the PCIe capability position :-)
Thanks! :)
Thanks,
Gavin


.

-- 
Thanks!
Yijing
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help