diff mbox

[U-Boot,5/7,v3] pci/layerscape: add stream ID allocator

Message ID 1456504322-4968-6-git-send-email-stuart.yoder@nxp.com
State Superseded
Delegated to: York Sun
Headers show

Commit Message

Stuart Yoder Feb. 26, 2016, 4:32 p.m. UTC
From: Stuart Yoder <stuart.yoder@nxp.com>

add a function to return the next available stream ID
for PCI

Signed-off-by: Stuart Yoder <stuart.yoder@nxp.com>
---
-v3
   -return 0xffffffff on error

 drivers/pci/pcie_layerscape.c |   11 +++++++++++
 1 file changed, 11 insertions(+)
diff mbox

Patch

diff --git a/drivers/pci/pcie_layerscape.c b/drivers/pci/pcie_layerscape.c
index 8b1e6fb..230aec4 100644
--- a/drivers/pci/pcie_layerscape.c
+++ b/drivers/pci/pcie_layerscape.c
@@ -510,6 +510,17 @@  static void ls_pcie_lut_set_mapping(struct ls_pcie *pcie, int index, u32 devid,
 	writel(streamid | PCIE_LUT_ENABLE, lut + PCIE_LUT_LDR(index));
 }
 
+/* returns the next available streamid */
+static u32 ls_pcie_next_streamid(void)
+{
+	static int next_stream_id = FSL_PEX_STREAM_ID_START;
+
+	if (next_stream_id > FSL_PEX_STREAM_ID_END)
+		return 0xffffffff;
+
+	return next_stream_id++;
+}
+
 int ls_pcie_init_ctrl(int busno, enum srds_prtcl dev, struct ls_pcie_info *info)
 {
 	struct ls_pcie *pcie;