1. 10 Jan, 2020 1 commit
    • Deepika Bhavnani's avatar
      Unify type of "cpu_idx" across PSCI module. · 5b33ad17
      Deepika Bhavnani authored
      
      
      NOTE for platform integrators:
         API `plat_psci_stat_get_residency()` third argument
         `last_cpu_idx` is changed from "signed int" to the
         "unsigned int" type.
      
      Issue / Trouble points
      1. cpu_idx is used as mix of `unsigned int` and `signed int` in code
      with typecasting at some places leading to coverity issues.
      
      2. Underlying platform API's return cpu_idx as `unsigned int`
      and comparison is performed with platform specific defines
      `PLAFORM_xxx` which is not consistent
      
      Misra Rule 10.4:
      The value of a complex expression of integer type may only be cast to
      a type that is narrower and of the same signedness as the underlying
      type of the expression.
      
      Based on above points, cpu_idx is kept as `unsigned int` to match
      the API's and low-level functions and platform defines are updated
      where ever required
      Signed-off-by: default avatarDeepika Bhavnani <deepika.bhavnani@arm.com>
      Change-Id: Ib26fd16e420c35527204b126b9b91e8babcc3a5c
      5b33ad17
  2. 01 Apr, 2019 1 commit
  3. 25 Jan, 2019 3 commits
  4. 15 Jan, 2019 1 commit
    • Antonio Nino Diaz's avatar
      plat/arm: Fix header dependencies · 234bc7f8
      Antonio Nino Diaz authored
      
      
      From now on, platform_def.h must include any header with definitions that
      are platform-specific (like arm_def.h) and the included headers mustn't
      include back platform_def.h, and shouldn't be used by other files. Only
      platform_def.h should be included in other files. This will ensure that all
      needed definitions are present, rather than needing to include all the
      headers in all the definitions' headers just in case.
      
      This also prevents problems like cyclic dependencies.
      
      Change-Id: I9d3cf4d1de4b956fa035c79545222697acdaf5ca
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      234bc7f8
  5. 04 Jan, 2019 1 commit
    • Antonio Nino Diaz's avatar
      Sanitise includes across codebase · 09d40e0e
      Antonio Nino Diaz authored
      Enforce full include path for includes. Deprecate old paths.
      
      The following folders inside include/lib have been left unchanged:
      
      - include/lib/cpus/${ARCH}
      - include/lib/el3_runtime/${ARCH}
      
      The reason for this change is that having a global namespace for
      includes isn't a good idea. It defeats one of the advantages of having
      folders and it introduces problems that are sometimes subtle (because
      you may not know the header you are actually including if there are two
      of them).
      
      For example, this patch had to be created because two headers were
      called the same way: e0ea0928 ("Fix gpio includes of mt8173 platform
      to avoid collision."). More recently, this patch has had similar
      problems: 46f9b2c3 ("drivers: add tzc380 support").
      
      This problem was introduced in commit 4ecca339
      
       ("Move include and
      source files to logical locations"). At that time, there weren't too
      many headers so it wasn't a real issue. However, time has shown that
      this creates problems.
      
      Platforms that want to preserve the way they include headers may add the
      removed paths to PLAT_INCLUDES, but this is discouraged.
      
      Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f
      Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
      09d40e0e
  6. 29 Nov, 2018 1 commit
  7. 18 Oct, 2018 1 commit
    • Chandni Cherukuri's avatar
      plat/arm/scmi: introduce plat_css_get_scmi_info API · b911dddc
      Chandni Cherukuri authored
      
      
      The default values of 'plat_css_scmi_plat_info' is not applicable for
      all the platforms. There should be a provision to let platform code to
      register a platform specific instance of scmi_channel_plat_info_t.
      
      Add a new API 'plat_css_get_scmi_info' which lets the platform to
      register a platform specific instance of scmi_channel_plat_info_t and
      remove the default values.
      
      In addition to this, the existing 'plat_css_scmi_plat_info' structure
      is removed from the common code and instantiated for the platforms that
      need it. This allows for a consistent provisioning of the SCMI channel
      information across all the existing and upcoming platforms.
      
      Change-Id: I4fb65d7f2f165b78697b4677f1e8d81edebeac06
      Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
      b911dddc
  8. 16 Oct, 2018 1 commit
  9. 03 Oct, 2018 1 commit
  10. 10 Sep, 2018 1 commit
  11. 03 Aug, 2018 1 commit
  12. 12 Jul, 2018 1 commit
  13. 10 Jul, 2018 2 commits
    • Roberto Vargas's avatar
      Fix MISRA rule 8.4 · a9b5b4ae
      Roberto Vargas authored
      
      
      Rule 8.4: A compatible declaration shall be visible when
      an object or function with external linkage is defined
      
      Fixed for:
      	make DEBUG=1 PLAT=juno ARCH=aarch32 AARCH32_SP=sp_min RESET_TO_SP_MIN=1 JUNO_AARCH32_EL3_RUNTIME=1 bl32
      
      Change-Id: I3ac25096b55774689112ae37bdf1222f9a9ecffb
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      a9b5b4ae
    • Roberto Vargas's avatar
      Fix MISRA rule 8.3 · c96f297f
      Roberto Vargas authored
      
      
      Rule 8.3: All declarations of an object or function shall
                    use the same names and type qualifiers.
      
      Fixed for:
      	make DEBUG=1 PLAT=juno ARCH=aarch32 AARCH32_SP=sp_min RESET_TO_SP_MIN=1 JUNO_AARCH32_EL3_RUNTIME=1 bl32
      
      Change-Id: Ia34f5155e1cdb67161191f69e8d1248cbaa39e1a
      Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
      c96f297f
  14. 23 Jun, 2018 1 commit
  15. 12 Jun, 2018 2 commits
    • Daniel Boulby's avatar
      Fix MISRA Rule 5.7 Part 2 · a138f768
      Daniel Boulby authored
      
      
      Follow convention of shorter names for smaller scope to fix
      violations of MISRA rule 5.7
      
      To prevent violation of directive 4.5 having variable name channel
      in css_pm_scmi.c not being typographically ambiguous change macro
      argument CHANNEL in css_mhu_doorbell.h change argument to _channel
      to fit with our convention which is a permitted exception of
      directive 4.5 for this project
      
      Rule 5.7: A tag name shall be a unique identifier
      
      Fixed for:
          make LOG_LEVEL=50 PLAT=juno
      
      Change-Id: I147cdb13553e83ed7df19149b282706db115d612
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      a138f768
    • Daniel Boulby's avatar
      Fix MISRA Rule 5.3 Part 5 · ff4e86f9
      Daniel Boulby authored
      
      
      Use a _ prefix for macro arguments to prevent that argument from
      hiding variables of the same name in the outer scope
      
      Rule 5.3: An identifier declared in an inner scope shall not
                hide an identifier declared in an outer scope
      
      Fixed For:
          make LOG_LEVEL=50 PLAT=juno
      
      Change-Id: I575fbc96e8267f2b075e88def1f6e3185394613a
      Signed-off-by: default avatarDaniel Boulby <daniel.boulby@arm.com>
      ff4e86f9
  16. 16 Apr, 2018 1 commit
    • Samarth Parikh's avatar
      plat/arm: Add MHUv2 support to SCMI driver · a427785c
      Samarth Parikh authored
      
      
      Currently the SCMI driver supports MHUv1, but Arm platforms may have
      varied versions of MHU driver, with MHUv2 controllers being in the
      latest Arm platforms.
      
      This patch updates the SCMI driver to support MHUv2, specifically that
      the sender must send the wake-up to the receiver before initiating any
      data transfer.
      
      Also, the existing mhu driver files, css_mhu.c and css_mhu.h, have been
      moved from the scpi directory to a new directory, css/drivers/mhu.
      
      Change-Id: I9b46b492a3e1d9e26db12d83a9773958a8c8402f
      Signed-off-by: default avatarSamarth Parikh <samarth.parikh@arm.com>
      a427785c
  17. 13 Apr, 2018 1 commit
  18. 28 Feb, 2018 1 commit
  19. 13 Oct, 2017 2 commits
  20. 06 Sep, 2017 1 commit
    • Soby Mathew's avatar
      CSS: Changes for SDS framework · 18e279eb
      Soby Mathew authored
      
      
      This patch does the required changes to enable CSS platforms
      to build and use the SDS framework. Since SDS is always coupled with
      SCMI protocol, the preexisting SCMI build flag is now renamed to
      `CSS_USE_SCMI_SDS_DRIVER` which will enable both SCMI and SDS on
      CSS platforms. Also some of the workarounds applied for SCMI are
      now removed with SDS in place.
      
      Change-Id: I94e8b93f05e3fe95e475c5501c25bec052588a9c
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      18e279eb
  21. 29 Aug, 2017 1 commit
    • Jeenu Viswambharan's avatar
      plat/arm: Fix ARM_INSTANTIATE_LOCK syntax anomaly · 19583169
      Jeenu Viswambharan authored
      
      
      The current definition of ARM_INSTANTIATE_LOCK macro includes a
      semicolon, which means it's omitted where it's used. This is anomalous
      for a C statement in global scope.
      
      Fix this by removing semicolon from the definition; and where it's a
      NOP, declare a file-scoped variable explicitly tagged as unused to avoid
      compiler warning.
      
      No functional changes.
      
      Change-Id: I2c1d92ece4777e272a025011e03b8003f3543335
      Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
      19583169
  22. 09 Jun, 2017 1 commit
  23. 05 Jun, 2017 1 commit
    • Soby Mathew's avatar
      CSS: Add SCMI driver for SCP · c04a3b6c
      Soby Mathew authored
      
      
      This patch adds the SCMI driver for communicating with SCP. The power
      domain management and system power management protocol of the SCMI
      specification[1] is implemented in the driver. The SCP power management
      abstraction layer for SCMI for CSS power management is also added.
      
      A new buid option `CSS_USE_SCMI_DRIVER` is introduced to select SCMI
      driver over SCPI.
      
      [1] ARM System Control and Management Interface v1.0 (SCMI)
      Document number: ARM DEN 0056A
      
      Change-Id: I67265615a17e679a2afe810b9b0043711ba09dbb
      Signed-off-by: default avatarSoby Mathew <soby.mathew@arm.com>
      c04a3b6c