summaryrefslogtreecommitdiff
path: root/include/soc/fsl/qman.h
Commit message (Collapse)AuthorAgeFilesLines
* soc: fsl: qbman_portals: add APIs to retrieve the probing statusLaurentiu Tudor2019-05-201-0/+9
| | | | | | | | | | | | | | | | | | | | | | | Add a couple of new APIs to check the probing status of the required cpu bound qman and bman portals: 'int bman_portals_probed()' and 'int qman_portals_probed()'. They return the following values. * 1 if qman/bman portals were all probed correctly * 0 if qman/bman portals were not yet probed * -1 if probing of qman/bman portals failed Portals are considered successful probed if no error occurred during the probing of any of the portals and if enough portals were probed to have one available for each cpu. The error handling paths were slightly rearranged in order to fit this new functionality without being too intrusive. Drivers that use qman/bman portal driver services are required to use these APIs before calling any functions exported by these drivers or otherwise they will crash the kernel. First user will be the dpaa1 ethernet driver, coming in a subsequent patch. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
* soc/qman: add return value to interrupt coalesce changing APIsMadalin Bucur2018-11-231-2/+6
| | | | | | | | | Check that the values received by the portal interrupt coalesce change APIs are in range. Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* soc: fsl: qbman: add interrupt coalesce changing APIsMadalin Bucur2018-10-051-0/+28
| | | | | | | | Add the APIs required to control the QMan portal interrupt coalescing settings. Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
* soc: fsl: qbman: add APIs to retrieve the probing statusLaurentiu Tudor2018-09-271-0/+8
| | | | | | | | | | | | | | | | | Add a couple of new APIs to check the probing status of qman and bman: 'int bman_is_probed()' and 'int qman_is_probed()'. They return the following values. * 1 if qman/bman were probed correctly * 0 if qman/bman were not yet probed * -1 if probing of qman/bman failed Drivers that use qman/bman driver services are required to use these APIs before calling any functions exported by qman or bman drivers or otherwise they will crash the kernel. The APIs will be used in the following couple of qbman portal patches and later in the series in the dpaa1 ethernet driver. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
* soc/qman: add macros needed by caam/qi driverHoria Geantă2017-03-241-0/+2
| | | | | | | | A few other things need to be added in soc/qman, such that caam/qi won't open-code them. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* soc/qman: export non-programmable FQD fields queryHoria Geantă2017-03-241-0/+68
| | | | | | | | | Export qman_query_fq_np() function and related structures. This will be needed in the caam/qi driver, where "queue empty" condition will be decided based on the frm_cnt. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* soc/qman: add dedicated channel ID for CAAMHoria Geantă2017-03-241-0/+3
| | | | | | | | Add and export the ID of the channel serviced by the CAAM (Cryptographic Acceleration and Assurance Module) DCP. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* soc/qman: export volatile dequeue related structsHoria Geantă2017-03-241-0/+36
| | | | | | | | Since qman_volatile_dequeue() is already exported, move the related structures into the public header too. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* soc/qman: Handle endianness of h/w descriptorsClaudiu Manoil2016-11-231-23/+25
| | | | | | | | | | The hardware descriptors have big endian (BE) format. Provide proper endianness handling for the remaining descriptor fields, to ensure they are correctly accessed by non-BE CPUs too. Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/qman: Clean up CGR CSCN target update operationsClaudiu Manoil2016-11-231-2/+2
| | | | | Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/qman: Change remaining contextB into context_bClaudiu Manoil2016-11-231-6/+6
| | | | | | | | | | There are multiple occurences of both contextB and context_b in different h/w descriptors, referring to the same descriptor field known as "Context B". Stick with the "context_b" naming, for obvious reasons including consistency (see also context_a). Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/qman: Drop unused field from eqcr/dqrr descriptorsClaudiu Manoil2016-11-231-2/+1
| | | | | | | ORP ("Order Restoration Point") mechanism not supported. Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/qman: Fix accesses to fqid, cleanupClaudiu Manoil2016-11-231-0/+5
| | | | | | | | | | Preventively mask every access to the 'fqid' h/w field, since it is defined as a 24-bit field, for every h/w descriptor. Add generic accessors for this field to ensure correct access. Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/qman: Fix struct qm_fqd set accessor for context_aClaudiu Manoil2016-11-231-1/+1
| | | | | | | context_a.hi is 32bit Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>
* soc/fsl: Introduce DPAA 1.x QMan device driverClaudiu Manoil2016-09-251-0/+1074
This driver enables the Freescale DPAA 1.x Queue Manager block. QMan is a hardware accelerator that manages frame queues. It allows CPUs and other accelerators connected to the SoC datapath to enqueue and dequeue ethernet frames, thus providing the infrastructure for data exchange among CPUs and datapath accelerators. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: Scott Wood <oss@buserror.net>