18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig FSL_DPAA
38c2ecf20Sopenharmony_ci	bool "QorIQ DPAA1 framework support"
48c2ecf20Sopenharmony_ci	depends on ((FSL_SOC_BOOKE || ARCH_LAYERSCAPE) && ARCH_DMA_ADDR_T_64BIT)
58c2ecf20Sopenharmony_ci	select GENERIC_ALLOCATOR
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  The Freescale Data Path Acceleration Architecture (DPAA) is a set of
88c2ecf20Sopenharmony_ci	  hardware components on specific QorIQ multicore processors.
98c2ecf20Sopenharmony_ci	  This architecture provides the infrastructure to support simplified
108c2ecf20Sopenharmony_ci	  sharing of networking interfaces and accelerators by multiple CPUs.
118c2ecf20Sopenharmony_ci	  The major h/w blocks composing DPAA are BMan and QMan.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	  The Buffer Manager (BMan) is a hardware buffer pool management block
148c2ecf20Sopenharmony_ci	  that allows software and accelerators on the datapath to acquire and
158c2ecf20Sopenharmony_ci	  release buffers in order to build frames.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	  The Queue Manager (QMan) is a hardware queue management block
188c2ecf20Sopenharmony_ci	  that allows software and accelerators on the datapath to enqueue and
198c2ecf20Sopenharmony_ci	  dequeue frames in order to communicate.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciif FSL_DPAA
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciconfig FSL_DPAA_CHECKING
248c2ecf20Sopenharmony_ci	bool "Additional driver checking"
258c2ecf20Sopenharmony_ci	help
268c2ecf20Sopenharmony_ci	  Compiles in additional checks, to sanity-check the drivers and
278c2ecf20Sopenharmony_ci	  any use of the exported API. Not recommended for performance.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig FSL_BMAN_TEST
308c2ecf20Sopenharmony_ci	tristate "BMan self-tests"
318c2ecf20Sopenharmony_ci	help
328c2ecf20Sopenharmony_ci	  Compile the BMan self-test code. These tests will
338c2ecf20Sopenharmony_ci	  exercise the BMan APIs to confirm functionality
348c2ecf20Sopenharmony_ci	  of both the software drivers and hardware device.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig FSL_BMAN_TEST_API
378c2ecf20Sopenharmony_ci	bool "High-level API self-test"
388c2ecf20Sopenharmony_ci	depends on FSL_BMAN_TEST
398c2ecf20Sopenharmony_ci	default y
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  This requires the presence of cpu-affine portals, and performs
428c2ecf20Sopenharmony_ci	  high-level API testing with them (whichever portal(s) are affine
438c2ecf20Sopenharmony_ci	  to the cpu(s) the test executes on).
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig FSL_QMAN_TEST
468c2ecf20Sopenharmony_ci	tristate "QMan self-tests"
478c2ecf20Sopenharmony_ci	help
488c2ecf20Sopenharmony_ci	  Compile self-test code for QMan.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig FSL_QMAN_TEST_API
518c2ecf20Sopenharmony_ci	bool "QMan high-level self-test"
528c2ecf20Sopenharmony_ci	depends on FSL_QMAN_TEST
538c2ecf20Sopenharmony_ci	default y
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  This requires the presence of cpu-affine portals, and performs
568c2ecf20Sopenharmony_ci	  high-level API testing with them (whichever portal(s) are affine to
578c2ecf20Sopenharmony_ci	  the cpu(s) the test executes on).
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig FSL_QMAN_TEST_STASH
608c2ecf20Sopenharmony_ci	bool "QMan 'hot potato' data-stashing self-test"
618c2ecf20Sopenharmony_ci	depends on FSL_QMAN_TEST
628c2ecf20Sopenharmony_ci	default y
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  This performs a "hot potato" style test enqueuing/dequeuing a frame
658c2ecf20Sopenharmony_ci	  across a series of FQs scheduled to different portals (and cpus), with
668c2ecf20Sopenharmony_ci	  DQRR, data and context stashing always on.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciendif # FSL_DPAA
69