162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenuconfig FSL_DPAA
362306a36Sopenharmony_ci	bool "QorIQ DPAA1 framework support"
462306a36Sopenharmony_ci	depends on ((FSL_SOC_BOOKE || ARCH_LAYERSCAPE) && ARCH_DMA_ADDR_T_64BIT)
562306a36Sopenharmony_ci	select GENERIC_ALLOCATOR
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  The Freescale Data Path Acceleration Architecture (DPAA) is a set of
862306a36Sopenharmony_ci	  hardware components on specific QorIQ multicore processors.
962306a36Sopenharmony_ci	  This architecture provides the infrastructure to support simplified
1062306a36Sopenharmony_ci	  sharing of networking interfaces and accelerators by multiple CPUs.
1162306a36Sopenharmony_ci	  The major h/w blocks composing DPAA are BMan and QMan.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  The Buffer Manager (BMan) is a hardware buffer pool management block
1462306a36Sopenharmony_ci	  that allows software and accelerators on the datapath to acquire and
1562306a36Sopenharmony_ci	  release buffers in order to build frames.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  The Queue Manager (QMan) is a hardware queue management block
1862306a36Sopenharmony_ci	  that allows software and accelerators on the datapath to enqueue and
1962306a36Sopenharmony_ci	  dequeue frames in order to communicate.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciif FSL_DPAA
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciconfig FSL_DPAA_CHECKING
2462306a36Sopenharmony_ci	bool "Additional driver checking"
2562306a36Sopenharmony_ci	help
2662306a36Sopenharmony_ci	  Compiles in additional checks, to sanity-check the drivers and
2762306a36Sopenharmony_ci	  any use of the exported API. Not recommended for performance.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig FSL_BMAN_TEST
3062306a36Sopenharmony_ci	tristate "BMan self-tests"
3162306a36Sopenharmony_ci	help
3262306a36Sopenharmony_ci	  Compile the BMan self-test code. These tests will
3362306a36Sopenharmony_ci	  exercise the BMan APIs to confirm functionality
3462306a36Sopenharmony_ci	  of both the software drivers and hardware device.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciconfig FSL_BMAN_TEST_API
3762306a36Sopenharmony_ci	bool "High-level API self-test"
3862306a36Sopenharmony_ci	depends on FSL_BMAN_TEST
3962306a36Sopenharmony_ci	default y
4062306a36Sopenharmony_ci	help
4162306a36Sopenharmony_ci	  This requires the presence of cpu-affine portals, and performs
4262306a36Sopenharmony_ci	  high-level API testing with them (whichever portal(s) are affine
4362306a36Sopenharmony_ci	  to the cpu(s) the test executes on).
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig FSL_QMAN_TEST
4662306a36Sopenharmony_ci	tristate "QMan self-tests"
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  Compile self-test code for QMan.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig FSL_QMAN_TEST_API
5162306a36Sopenharmony_ci	bool "QMan high-level self-test"
5262306a36Sopenharmony_ci	depends on FSL_QMAN_TEST
5362306a36Sopenharmony_ci	default y
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  This requires the presence of cpu-affine portals, and performs
5662306a36Sopenharmony_ci	  high-level API testing with them (whichever portal(s) are affine to
5762306a36Sopenharmony_ci	  the cpu(s) the test executes on).
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig FSL_QMAN_TEST_STASH
6062306a36Sopenharmony_ci	bool "QMan 'hot potato' data-stashing self-test"
6162306a36Sopenharmony_ci	depends on FSL_QMAN_TEST
6262306a36Sopenharmony_ci	default y
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  This performs a "hot potato" style test enqueuing/dequeuing a frame
6562306a36Sopenharmony_ci	  across a series of FQs scheduled to different portals (and cpus), with
6662306a36Sopenharmony_ci	  DQRR, data and context stashing always on.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciendif # FSL_DPAA
69