Hi Simon,

On 22.01.19 01:32, Simon Glass wrote:
On Sat, 19 Jan 2019 at 00:46, Stefan Roese <s...@denx.de> wrote:

This macro will be used the by the Marvell Armada XP/38x PCIe driver,
which is moved to DM right now.

Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Bin Meng <bmeng...@gmail.com>
Cc: Simon Glass <s...@chromium.org>
---
  include/pci.h | 1 +
  1 file changed, 1 insertion(+)

diff --git a/include/pci.h b/include/pci.h
index 785d7d28b7..f4a9e025b3 100644
--- a/include/pci.h
+++ b/include/pci.h
@@ -501,6 +501,7 @@ typedef int pci_dev_t;
  #define PCI_BUS(d)             (((d) >> 16) & 0xff)
  #define PCI_DEV(d)             (((d) >> 11) & 0x1f)
  #define PCI_FUNC(d)            (((d) >> 8) & 0x7)
+#define PCI_SLOT(d)            (((d) >> 3) & 0x1f)

This seems unrelated to the other macros, since is shifts left only 3
positions. Can you perhaps move it to the end and add a comment as to
what the input is and what it returns? It seems different to the
others.

We seem to have the same different interpretation (U-Boot vs Linux)
as remarked in my last mail. It seems that U-Boot expects devfn
to reside in bits 15-8.

Regarding the input and what it returns: My current understanding is,
that PCI_DEV in U-Boot is identical to PCI_SLOT in Linux (PCI_DEV is
not used there at all). The input here is devfn as well.

I can adapt my driver to use PCI_DEV instead. But frankly, these
different macro implementations (U-Boot vs Linux) are confusing.

Thanks,
Stefan
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to