Skip to content
  1. Apr 04, 2023
  2. Mar 24, 2023
  3. Mar 23, 2023
    • Leandro Belli's avatar
      scmi_clock: Return the SCMI agent's state instead of the physical state · 3d633f35
      Leandro Belli authored
      
      
      The current method of reading the clock state calls the Clock HAL directly,
      which can cause inconsistencies between what is being read by Clock Hal and
      what is being set in the SCMI agent state table.
      To address this, the existing `scmi_clock_get_agent_clock_state`
      helper function is used to read the clock state in relation to the
      requesting SCMI agent.
      i.e. function returns the state expected by SCMI agent.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Signed-off-by: Mohamed Omar Asaker's avatarMohamed Omar Asaker <mohamed.omarasaker@arm.com>
      Change-Id: I8f0f00dc06eecd21803983837f3a7f27d0033723
      3d633f35
    • Leandro Belli's avatar
      scmi_clock: clean up policy functions · d0ca6b58
      Leandro Belli authored
      
      
      This patch cleans up the policy functions from the `scmi_clock` module.
      As seen in `c49f0437`, due to the code complexity of the function can
      potentially introduce defects that can be difficult to spot and maintain.
      Refactoring `mod_scmi_clock_config_set_policy` function also helps to
      reduce the number of function calls and processing time, which can
      improve performance and efficiency.
      
      Furthermore, this commit refactors the module by removing all unnecessary
      parameters in helper functions.
      
      In addition, removing the FWK_WEAK to enforce the current policy until
      further requirements.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Signed-off-by: Mohamed Omar Asaker's avatarMohamed Omar Asaker <mohamed.omarasaker@arm.com>
      Change-Id: I03edb2306d6e7acd1cd77168a6d5144fa2c291fa
      d0ca6b58
  4. Mar 16, 2023
    • Leandro Belli's avatar
      scmi_clock: Fix policy reference counter mismatch · 19e4eea5
      Leandro Belli authored
      
      
      The reference count for each clock is stored into an internal array,
      clock_count[], whose size is "number of available clocks" (not SCMI).
      
      In that table, we are mistakenly using an index that is taken from the
      agent's number of clocks. That leads to a mismatch of clock reference
      count in some cases.
      
      Fix this by using the clock index that corresponds to the agent's
      device index to determine to correct location in clock_count[] table to
      update the reference count.
      
      At the same time, clean-up some of the variables' name to ease the
      readability of the various clocks.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I9819891fe2237abb252764dadd4a1d36302bc4bf
      19e4eea5
  5. Mar 15, 2023
    • Leandro Belli's avatar
      docker: fix dependencies and broken links · 3f956b2f
      Leandro Belli authored
      
      
      This patch fixes all outdated dependencies and broken links.
      
      ArmClang compiler 6 is not longer provided in the Docker image,
      if it is required the compiler directory should be mounted as a
      volumen in the specified location in the documentation.
      
      LLVM was updated to the latest supported version by the firmware
      with the instalation script that build the compiler-rt assets.
      
      For the `dev` taget an user was created following the recomendations
      from Docker documentation.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I28bc940fefa754796e98f473bdb1f85bd13cc683
      3f956b2f
  6. Mar 14, 2023
  7. Mar 09, 2023
    • Nicola Mazzucato's avatar
      scmi_perf: Add void handler check · 2bbe84fb
      Nicola Mazzucato authored
      
      
      The scmi_perf_message_handler() function does not check for handlers
      not present in the handler_table.
      
      Although this does not cause an immediate NULL pointer dereferencing,
      cause the sanity is performed against the payload size, the above
      function returns an imprecise error.
      
      The error returned in such case is PROTOCOL_ERROR, while it would be
      more appropriate to return NOT_SUPPORTED, for optional commands,
      according to the specification.
      
      From the specification (4.1.2, Commands)
      "Any command that is sent with an unknown protocol_id or message_id
      must be responded to with a return value of NOT_SUPPORTED as the
      status code".
      
      Therefore properly check for NULL dereferencing and return
      the correct SCMI error status.
      
      Unit tests have been modified/added accordingly.
      
      Change-Id: I053ea2b9d3faddfc11cc3cc1a99c760015759ba4
      Signed-off-by: Nicola Mazzucato's avatarNicola Mazzucato <nicola.mazzucato@arm.com>
      2bbe84fb
    • Nicola Mazzucato's avatar
      scmi_perf: Add initial UT for plugins-handler extension · 350fcfe8
      Nicola Mazzucato authored
      
      
      Initial Unit Testing is added for features in SCMI-Perf
      used by the Performance Plugins Handler.
      
      Signed-off-by: Nicola Mazzucato's avatarNicola Mazzucato <nicola.mazzucato@arm.com>
      Change-Id: I91249521d37e77b2c350bad2759b51c51c931449
      350fcfe8
    • Nicola Mazzucato's avatar
      scmi_perf: Fix level within limits · dd3eca3d
      Nicola Mazzucato authored
      
      
      When performance is evaluated and limits ar enot changed, level still
      needs to be brought within the limits' range.
      Currently it works only for the maximum limit, i.e. level is reduced if
      max limit is pushed down.
      
      Fix the level within both limit boundaries.
      
      This is done only for the case where
      BUILD_HAS_SCMI_PERF_PLUGIN_HANDLER is set.
      
      Change-Id: I03d62dae42ad9907aabb90338b99b0a2bfe84c44
      Signed-off-by: Nicola Mazzucato's avatarNicola Mazzucato <nicola.mazzucato@arm.com>
      dd3eca3d
  8. Mar 08, 2023
  9. Feb 16, 2023
    • Leandro Belli's avatar
      fwk_core: Fix buffered log output behaviour · f71f3423
      Leandro Belli authored
      
      
      When the subsystem mode was disabled, the system would be suspended
      even if there were characters waiting to be printed. This resulted
      in only one character being printed each time the system woke up.
      The issue was resolved by preventing the system from being suspended
      when there were elements in the output log buffer that were ready
      to be printed.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I63322343130b84ba8f10294340cf64d413c07931
      f71f3423
    • Leandro Belli's avatar
      fwk_arch: Fix buffered log output behaviour · 2e931f3f
      Leandro Belli authored
      
      
      When the SCP is compiled as a subsystem `SCP_ENABLE_SUB_SYSTEM_MODE` is
      enabled, logging is not printed correctly. In this mode, only one
      character is printed instead of the complete log message. This defect
      is fixed by replacing `fwk_log_unbuffer` with `fwk_log_flush`.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: If7ae17aad66e252db823b690c794ca6b5620e882
      2e931f3f
  10. Feb 08, 2023
  11. Feb 06, 2023
  12. Jan 30, 2023
  13. Jan 25, 2023
  14. Jan 19, 2023
  15. Jan 10, 2023
    • Leandro Belli's avatar
      scmi_perf: add logs when multiple fast channels events are queued · 9481ebdb
      Leandro Belli authored
      
      
      This patch adds a log message when multiple fast channels events
      are pending to be processed. This will allow to identify issues
      related with the processing time of performance plugins when they are
      configured.
      It is also increased the log level from `TRACE` to `ERROR` when
      it is not possible to create a fast channels process event.
      
      Signed-off-by: Leandro Belli's avatarLeandro Belli <leandro.belli@arm.com>
      Change-Id: I154735381342a363c101209122c15c5e562983b0
      9481ebdb
  16. Jan 06, 2023
Loading