blob: e384f43222ef17d7a952ea46053ec84b23eac127 [file] [log] [blame]
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config LOG_BACKEND_ADSP_HDA
bool "Intel ADSP HDA backend"
depends on SOC_FAMILY_INTEL_ADSP && DMA && DMA_INTEL_ADSP_HDA_HOST_OUT
select LOG_OUTPUT
help
Provide a logging backend which writes to a buffer and
periodically flushes to hardware using ringbuffer like
semantics provided by DMA_INTEL_ADSP_HDA.
if LOG_BACKEND_ADSP_HDA
backend = ADSP_HDA
backend-str = adsp_hda
source "subsys/logging/Kconfig.template.log_format_config"
config LOG_BACKEND_ADSP_HDA_SIZE
int "Size of ring buffer"
range 128 8192
default 4096
help
Sets the ring buffer size cAVS HDA uses for logging. Effectively
determines how many log messages may be written to in a period of time.
The period of time is decided by how often to inform the hardware of
writes to the buffer.
config LOG_BACKEND_ADSP_HDA_FLUSH_TIME
int "Time in milliseconds to periodically flush writes to hardware"
range 1 10000
default 500
help
The Intel ADSP HDA backend periodically writes out its buffer contents
to hardware by informing the DMA hardware the contents of the ring
buffer.
config LOG_BACKEND_ADSP_HDA_CAVSTOOL
bool "Log backend is to be used with cavstool"
help
Use cavstool understood IPC messages to inform setup and logging of
HDA messages.
config LOG_BACKEND_ADSP_HDA_PADDING
bool "Log backend should pad the buffer with \0 characters when flushing"
help
HDA requires transfers be 128 byte aligned such that a partial message may
never make it across unless padded with \0 characters to the next 128 byte
aligned address. This may or may not work depending on the log format
being used but should certainly work with text based logging.
endif # LOG_BACKEND_ADSP_HDA