1. 01 3月, 2018 4 次提交
    • S
      firmware: arm_scmi: add initial support for performance protocol · a9e3fbfa
      Sudeep Holla 提交于
      The performance protocol is intended for the performance management of
      group(s) of device(s) that run in the same performance domain. It
      includes even the CPUs. A performance domain is defined by a set of
      devices that always have to run at the same performance level.
      For example, a set of CPUs that share a voltage domain, and have a
      common frequency control, is said to be in the same performance domain.
      
      The commands in this protocol provide functionality to describe the
      protocol version, describe various attribute flags, set and get the
      performance level of a domain. It also supports discovery of the list
      of performance levels supported by a performance domain, and the
      properties of each performance level.
      
      This patch adds basic support for the performance protocol.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      a9e3fbfa
    • S
      firmware: arm_scmi: add scmi protocol bus to enumerate protocol devices · 933c5044
      Sudeep Holla 提交于
      The SCMI specification encompasses various protocols. However, not every
      protocol has to be present on a given platform/implementation as not
      every protocol is relevant for it.
      
      Furthermore, the platform chooses which protocols it exposes to a given
      agent. The only protocol that must be implemented is the base protocol.
      The base protocol is used by an agent to discover which protocols are
      available to it.
      
      In order to enumerate the discovered implemented protocols, this patch
      adds support for a separate scmi protocol bus. It also adds mechanism to
      register support for different protocols.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      933c5044
    • S
      firmware: arm_scmi: add common infrastructure and support for base protocol · b6f20ff8
      Sudeep Holla 提交于
      The base protocol describes the properties of the implementation and
      provide generic error management. The base protocol provides commands
      to describe protocol version, discover implementation specific
      attributes and vendor/sub-vendor identification, list of protocols
      implemented and the various agents are in the system including OSPM
      and the platform. It also supports registering for notifications of
      platform errors.
      
      This protocol is mandatory. This patch adds support for the same along
      with some basic infrastructure to add support for other protocols.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      b6f20ff8
    • S
      firmware: arm_scmi: add basic driver infrastructure for SCMI · aa4f886f
      Sudeep Holla 提交于
      The SCMI is intended to allow OSPM to manage various functions that are
      provided by the hardware platform it is running on, including power and
      performance functions. SCMI provides two levels of abstraction, protocols
      and transports. Protocols define individual groups of system control and
      management messages. A protocol specification describes the messages
      that it supports. Transports describe the method by which protocol
      messages are communicated between agents and the platform.
      
      This patch adds basic infrastructure to manage the message allocation,
      initialisation, packing/unpacking and shared memory management.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NSudeep Holla <sudeep.holla@arm.com>
      aa4f886f