[PATCH v2 4/6] soc: ti: add Keystone Navigator QMSS driver

Santosh Shilimkar santosh.shilimkar at ti.com
Thu Apr 24 06:18:43 PDT 2014


On Wednesday 23 April 2014 09:30 PM, Felipe Balbi wrote:
> Hi,
> 
> On Wed, Apr 23, 2014 at 07:46:20PM -0400, Santosh Shilimkar wrote:
>> From: Sandeep Nair <sandeep_n at ti.com>
>>
>> The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of
>> the main hardware sub system which forms the backbone of the Keystone
>> Multi-core Navigator. QMSS consist of queue managers, packed-data structure
>> processors(PDSP), linking RAM, descriptor pools and infrastructure
>> Packet DMA.
>>
>> The Queue Manager is a hardware module that is responsible for accelerating
>> management of the packet queues. Packets are queued/de-queued by writing or
>> reading descriptor address to a particular memory mapped location. The PDSPs
>> perform QMSS related functions like accumulation, QoS, or event management.
>> Linking RAM registers are used to link the descriptors which are stored in
>> descriptor RAM. Descriptor RAM is configurable as internal or external memory.
>>
>> The QMSS driver manages the PDSP setups, linking RAM regions,
>> queue pool management (allocation, push, pop and notify) and descriptor
>> pool management. The specifics on the device tree bindings for
>> QMSS can be found in:
>> 	Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt
>>
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>> Cc: Kumar Gala <galak at codeaurora.org>
>> Cc: Olof Johansson <olof at lixom.net>
>> Cc: Arnd Bergmann <arnd at arndb.de>
>> Cc: Grant Likely <grant.likely at linaro.org>
>> Cc: Rob Herring <robh+dt at kernel.org>
>> Cc: Mark Rutland <mark.rutland at arm.com>
>> Signed-off-by: Sandeep Nair <sandeep_n at ti.com>
>> Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
>> ---
>>  drivers/Kconfig                  |    2 +
>>  drivers/soc/Kconfig              |    2 +
>>  drivers/soc/Makefile             |    5 +
>>  drivers/soc/ti/Kconfig           |   21 +
>>  drivers/soc/ti/Makefile          |    4 +
>>  drivers/soc/ti/knav_qmss.h       |  386 ++++++++
>>  drivers/soc/ti/knav_qmss_acc.c   |  591 +++++++++++++
>>  drivers/soc/ti/knav_qmss_queue.c | 1814 ++++++++++++++++++++++++++++++++++++++
>>  include/linux/soc/ti/knav_qmss.h |   90 ++
>>  9 files changed, 2915 insertions(+)
>>  create mode 100644 drivers/soc/Makefile
>>  create mode 100644 drivers/soc/ti/Kconfig
>>  create mode 100644 drivers/soc/ti/Makefile
>>  create mode 100644 drivers/soc/ti/knav_qmss.h
>>  create mode 100644 drivers/soc/ti/knav_qmss_acc.c
>>  create mode 100644 drivers/soc/ti/knav_qmss_queue.c
>>  create mode 100644 include/linux/soc/ti/knav_qmss.h
>>
>> diff --git a/drivers/Kconfig b/drivers/Kconfig
>> index 0e87a34..8993913 100644
>> --- a/drivers/Kconfig
>> +++ b/drivers/Kconfig
>> @@ -148,6 +148,8 @@ source "drivers/remoteproc/Kconfig"
>>  
>>  source "drivers/rpmsg/Kconfig"
>>  
>> +source "drivers/soc/Kconfig"
> 
> This hunk was already in patch one but in a different offset in this
> file.
> 
right.. I will drop this one... Thanks for spotting it



More information about the linux-arm-kernel mailing list