A common structure should be define for all cAVS platforms
for data that will be used by common cAVS pm runtime routines.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Another platform specific platform_wait_for_interrupt handler
enables more platform level power optimizations when
entering sleep mode.
By default implemented as a call to the generic wait_for_interrupt
until the platforms start additing their specific settings there.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This header may be included by a platform specific, intermediate
wait() layer inserted between the lib and the architecture code.
Therefore the including unit should not be limited to lib only.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
The 3rd DMAC that CHT has seems to be causing issues. Since it is not
needed lets make it optional so the platform can be usable.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
Low latency scheduler is low latency, so the tasks shouldn't
be preempted by other things. This doesn't change any flow,
because xtos sets highest possible irq level in interrupt
dispatcher anyway.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Update the topology to use the same iDisp link_id's as in
tgl-rt1308 m/c driver.
Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
These functions replace the raw io_reg_* functions for accessing the DMA
hardware registers.
Every DMA driver makes auxiliary functions for accessing the hardware
registers; this is an effort to make common functions for this purpose.
This commit adds the generic functions.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
In case when we overwrite "old" data in buffer
(when buffer is full) we should align r_ptr
with w_ptr.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
This function is called too early for native timers to work. On the
other platform which uses native timers (Haswell) this function is also
empty.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Dynamic allocations of the stack with the default size
may impact the performance in case of frequently re-initiated
short tasks. This option may be useful in that case.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This patch fixes the incorrect check for
host_period_bytes. This value was incorrectly used
to store host request for stream position. After
we introduced dedicated parameter for this purpose
(no_stream_position) the check needs to be updated
accordingly. Therefore this patch adds a check
for no_stream_position rather than host_period_bytes
to decide if stream position shall be send.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This change is to align sof_ipc_stream_params with its
kernel equivalent. In this patch no_stream_position
parameter is added to relax host_period_bytes from
storing information about the need of stream position
update.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
reproducibility field is duplicated and soft is archived and no longer
needed. Add placeholders for needed system information.
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
The DAI definition needs to come first otherwise the media pipeline with
be parsed incorrectly resulting in a failure to load the topology
Signed-off-by: Curtis Malainey <cujomalainey@google.com>
This patch checks if during scheduling we were
delayed.
If such situation happens we log error message.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This patch reworks cAVS timer_set() interface used
to write into timer's compare register.
This change takes care of ticks request which are
"past time". If such condition occur we set compare
register to current time so the latency is minimum.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This adds @tlauda and @mrajwa as codeowners of
src\scheduler directory so they will be
auto-requested for review in all changes related
to files under this directory.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
The qemu for BDW and HSW removed shm mbox and moved it into dram.
Change the scripts to the new version.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Changes clock used by agent to PLATFORM_DEFAULT_CLOCK.
Previously used PLATFORM_WORKQ_CLOCK also has value of
PLATFORM_DEFAULT_CLOCK.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Refactors ll scheduler in order to incorporate the usage
of ll scheduling domain. Functionally it stays the same.
Now we use data shared in ll_schedule_domain instead
of allocating shared ll context.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Adds first ll scheduler domain, which is timer.
Timer domain implementation is functionally the same,
as the implementation already used in ll_schedule.
It will replace the original ll_schedule one.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Changes timer API to save interrupt handler argument
in ll scheduler shared context instead of timer struct.
This way we will be able to share the same timer structure
between all the cores.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch introduces new structure called ll_schedule_domain.
It will be used to initialize ll scheduler with different
types of scheduling time domains. Right now it's only working
based on timer interrupts, but will be extended.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch updates the locations of "make install" libraries default
install locations into shell script to run SRC test cases. The script
also now prints the used LD_LIBRARY path to ease setting up code
debugging.
The segfault of testbench executable is fixed by returning a valid
pointer reference instead of a NULL from test dummy function
arch_schedulers_get(). The rest of testbench version of schedule.c
was also updated to be like the current real version module.
Finally in the testbench.c main the file names string pointers are
initilizated to null as well as the word length parameter to avoid
a segfault if executable is started without command line arguments
to see the usage help text.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>