summaryrefslogtreecommitdiff
path: root/drivers/soc/ti/knav_qmss.h
diff options
context:
space:
mode:
authorMurali Karicheri <m-karicheri2@ti.com>2018-04-18 00:30:30 +0300
committerDavid S. Miller <davem@davemloft.net>2018-04-19 04:00:56 +0300
commit350601b4f7ab45a3ef39575acc21d6b7a69f724b (patch)
tree308423da4ac70433c6a34a6288d3571a71c4ca7b /drivers/soc/ti/knav_qmss.h
parent0565de29cbd65b378147d36f9642f93a046240dc (diff)
downloadlinux-350601b4f7ab45a3ef39575acc21d6b7a69f724b.tar.xz
soc: ti: K2G: enhancement to support QMSS in K2G NAVSS
Navigator Subsystem (NAVSS) available on K2G SoC has a cut down version of QMSS with less number of queues, internal linking ram with lesser number of buffers etc. It doesn't have status and explicit push register space as in QMSS available on other K2 SoCs. So define reg indices specific to QMSS on K2G. This patch introduces "ti,66ak2g-navss-qm" compatibility to identify QMSS on K2G NAVSS and to customize the dts handling code. Per Device manual, descriptors with index less than or equal to regions0_size is in region 0 in the case of K2 QMSS where as for QMSS on K2G, descriptors with index less than regions0_size is in region 0. So update the size accordingly in the regions0_size bits of the linking ram size 0 register. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: WingMan Kwok <w-kwok2@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/soc/ti/knav_qmss.h')
-rw-r--r--drivers/soc/ti/knav_qmss.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/soc/ti/knav_qmss.h b/drivers/soc/ti/knav_qmss.h
index 905b974d1bdc..56866ba4cfc4 100644
--- a/drivers/soc/ti/knav_qmss.h
+++ b/drivers/soc/ti/knav_qmss.h
@@ -292,6 +292,11 @@ struct knav_queue {
struct list_head list;
};
+enum qmss_version {
+ QMSS,
+ QMSS_66AK2G,
+};
+
struct knav_device {
struct device *dev;
unsigned base_id;
@@ -305,6 +310,7 @@ struct knav_device {
struct list_head pools;
struct list_head pdsps;
struct list_head qmgrs;
+ enum qmss_version version;
};
struct knav_range_ops {