Age | Commit message (Collapse) | Author |
|
This commit replaces any instances of `@`-style Doxygen commands with
their `\`-style equivalents. This is done for consistency across the
codebase.
The `\sa` Doxygen command has been added to the Clang-Format
configuration to prevent it from reflowing see-also comments, which
often exceed the column limit due to referring to long URLs.
Change-Id: Ia4ebe8bd310293da9e2af55fe253f0762807e88a
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
Build system conditional variables do not set a zero value when not set,
but rather are simply not defined. Relying on a lack of a definition to
evaluate to 0 is potentially unsafe, as it can mask logical errors.
Change-Id: Ic1281fae2da176cad224514f355ff00886abe04c
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
This patch simplifies the power domain api. The power_domain user
should only call set_state. Each domain recognizes if it supports
composite state or not and acts accordingly.
Change-Id: I260e06712dbbf2863ab36ecd6506e24625228fae
Signed-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>
|
|
This commit modifies the assertion logic so that it is inlineable, and
uses more of the facilities provided by the compiler and standard
library for more robust error handling.
Change-Id: I3064b96eccf183b704aba0c319c94c43131ab25b
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
This commit moves the message logging functionality, previously only
available through the logging module, into the framework as a
free-function interface.
A number of improvements to this interface have been made, owing to the
tighter integration this new interface has with the framework and its
scheduler:
- Simplistic synchronous logging can be enabled before the framework
has fully initialized
- Message logging may be filtered at preprocessing-time to reduce
the size of the code and read-only data sections in the firmware
binary
- Logging is deprioritized at runtime to reduce response latency caused
by logging to output devices
Change-Id: I5112df359df8a304a176e68994e2408d91f6ac89
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
This commit introduces the ability to filter logs based on their
criticality. Log messages that do not exceed the configured criticality
are removed at preprocessing time.
This, in turn, allows us to remove logging calls that do not meet the
criticality requirement, reducing the size of the executable image and
increasing the performance of release images.
Change-Id: I56e14175b67a3e4e68fd03b8e457a802192898d1
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
This commit cleans up include directives across the project to reduce
the number of implicit transitive dependencies in preparation for mass
header changes in the logging patches later on.
These changes were made using two tools: clang-include-fixer and
include-what-you-use, which identify and remove headers that are
unnecessary, and insert headers which are used but not referenced. Some
manual tweaking was involved to handle special cases, like #ifdef'd
includes.
Includes have also been reordered and categorized according to their
project locality, and non-module includes now use quotes rather than
angle brackets.
Change-Id: Id39dc473f44b73cb98f3b8949f9e768fd2ace6cd
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
Currently the framework will return NULL if the memory allocation
fails. As the system will ultimately fail on receiving the error
we could just panic instead, saving the memory used for the NULL
checks.
Change-Id: I731b87b7acb19d30df84936b07c76cbfe0d0726e
Signed-off-by: Jim Quigley <jim.quigley@arm.com>
|
|
To ensure proper operation on system resume, the last
core on system suspend being turned off needs to be the
first one to be turned on. This requires the identifier
of the power domain of that core to be fetched and saved
before system suspend.
This patch replaces the fixed pre-defined power domain
for the primary cpu with the one provided by the power
domain module via get_last_core_pd_id.
Change-Id: I7538bcb1dd95d99faf65a425c58c6c3a2e968a00
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
Disable the interrupt request for SoC wakeup
in the wakeup handler.
Change-Id: Ie8d910caf07ec5b26d515a3f7ecaaa568a082949
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
When a set_state request is performed, this module stores the
requested power state and uses it to report just once to
power_domain module.
The same strategy needs to be done in case of shutdown request,
and this patch adds such missing piece.
Change-Id: Id44ca7089e722b22a74233408a5287f0110fcd20
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
All the relevant headers in files have been updated to 2020.
Change-Id: I8ef14a4c87b65c87933ef79697dcb5fc5dda87d4
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
System_power module uses drivers that are defined by
the power_domain module. These drivers can optionally
implement the shutdown function which is called during
the shutdown procedure.
This patch extends the shutdown procedure within this
module so the shutdown function in the drivers will be
called, if provided.
Change-Id: I8c02809ee5669f3651a19fa7b69a9c084521749e
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
This change is to reduce memory footprint.
Change-Id: I1d10681b3cdf28520b45a698ed607cca4df39b65
Signed-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>
|
|
This patch removes the constraint of a fixed number of
system PPUs by expanding the module to support an
adjustable number of elements.
Change-Id: Ic52c2751fa32e5e267e0940255af0b1a1fc570d1
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
This patch adds support for platform-specific
interrupts that may be required at system level.
Change-Id: Ibff0ecf48a8076b77197346db656050854625955
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
Change-Id: I00bc809a0db98ade3e1344ceb000037debdc6653
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
This patch updates the assertions and removes
the unused 'system_power_isr' structure
Change-Id: I8a25563f08f0c15c43cdec97bd551c31ad14a454
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
|
|
Change-Id: I8060024e45a187afacdc70f9f39c9083f4cce71c
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
|
|
This patch fixes an issue in the support for extended PPU handling in
system_power, where the ext_ppu_apis field represented a pointer to an
API structure, whilst being initialised like a pointer to an array of
pointers to API structures.
This manifested itself in a crash whenever the module tried to iterate
over the array to perform power management tasks.
Change-Id: I81d071d82f8ed0f677f585a83670ed519cdb8d26
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
Change-Id: I73e35e5caa53544c7f3bcb0097f2ad79fb0e2122
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
|
|
This commit moves all inclusions of <assert.h> into <fwk_assert.h>,
which now includes it instead. This allows us to keep all assert-related
logic under one roof.
Change-Id: I4ec0d950dfd9264733645bc14da952b8c1619501
Signed-off-by: Chris Kay <chris.kay@arm.com>
|
|
Co-authored-by: Filipe Rinaldi <filipe.rinaldi@arm.com>
Co-authored-by: Paul Beesley <paul.beesley@arm.com>
Co-authored-by: Chris Kay <chris.kay@arm.com>
Co-authored-by: Elieva Pignat <elieva.pignat@arm.com>
Co-authored-by: Pedro Custodio <pedro.krewinkelcustodio@arm.com>
Change-Id: Ic7524ad58a7c15d5b055e88a9719b2feee437f1d
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
|