~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/arch/arm/keystone/knav-qmss.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 ======================================================================
  2 Texas Instruments Keystone Navigator Queue Management SubSystem driver
  3 ======================================================================
  4 
  5 Driver source code path
  6   drivers/soc/ti/knav_qmss.c
  7   drivers/soc/ti/knav_qmss_acc.c
  8 
  9 The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
 10 the main hardware sub system which forms the backbone of the Keystone
 11 multi-core Navigator. QMSS consist of queue managers, packed-data structure
 12 processors(PDSP), linking RAM, descriptor pools and infrastructure
 13 Packet DMA.
 14 The Queue Manager is a hardware module that is responsible for accelerating
 15 management of the packet queues. Packets are queued/de-queued by writing or
 16 reading descriptor address to a particular memory mapped location. The PDSPs
 17 perform QMSS related functions like accumulation, QoS, or event management.
 18 Linking RAM registers are used to link the descriptors which are stored in
 19 descriptor RAM. Descriptor RAM is configurable as internal or external memory.
 20 The QMSS driver manages the PDSP setups, linking RAM regions,
 21 queue pool management (allocation, push, pop and notify) and descriptor
 22 pool management.
 23 
 24 knav qmss driver provides a set of APIs to drivers to open/close qmss queues,
 25 allocate descriptor pools, map the descriptors, push/pop to queues etc. For
 26 details of the available APIs, please refers to include/linux/soc/ti/knav_qmss.h
 27 
 28 DT documentation is available at
 29 Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
 30 
 31 Accumulator QMSS queues using PDSP firmware
 32 ============================================
 33 The QMSS PDSP firmware support accumulator channel that can monitor a single
 34 queue or multiple contiguous queues. drivers/soc/ti/knav_qmss_acc.c is the
 35 driver that interface with the accumulator PDSP. This configures
 36 accumulator channels defined in DTS (example in DT documentation) to monitor
 37 1 or 32 queues per channel. More description on the firmware is available in
 38 CPPI/QMSS Low Level Driver document (docs/CPPI_QMSS_LLD_SDS.pdf) at
 39 
 40         git://git.ti.com/keystone-rtos/qmss-lld.git
 41 
 42 k2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin firmware supports upto 48 accumulator
 43 channels. This firmware is available under ti-keystone folder of
 44 firmware.git at
 45 
 46    git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
 47 
 48 To use copy the firmware image to lib/firmware folder of the initramfs or
 49 ubifs file system and provide a sym link to k2_qmss_pdsp_acc48_k2_le_1_0_0_9.bin
 50 in the file system and boot up the kernel. User would see
 51 
 52  "firmware file ks2_qmss_pdsp_acc48.bin downloaded for PDSP"
 53 
 54 in the boot up log if loading of firmware to PDSP is successful.
 55 
 56 Use of accumulated queues requires the firmware image to be present in the
 57 file system. The driver doesn't acc queues to the supported queue range if
 58 PDSP is not running in the SoC. The API call fails if there is a queue open
 59 request to an acc queue and PDSP is not running. So make sure to copy firmware
 60 to file system before using these queue types.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php