soc: ti: K2G: enhancement to support QMSS in K2G NAVSS
authorMurali Karicheri <m-karicheri2@ti.com>
Tue, 17 Apr 2018 21:30:30 +0000 (17:30 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Apr 2018 01:00:56 +0000 (21:00 -0400)
commit350601b4f7ab45a3ef39575acc21d6b7a69f724b
tree308423da4ac70433c6a34a6288d3571a71c4ca7b
parent0565de29cbd65b378147d36f9642f93a046240dc
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>
Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
drivers/soc/ti/knav_qmss.h
drivers/soc/ti/knav_qmss_queue.c