Skip to content

Commit

Permalink
ASoC: Intel: avs: Prefix SKL/APL-specific members
Browse files Browse the repository at this point in the history
Prefix members that are platform-specific with 'avs_' to improve code
cohesiveness and reduce the chance for naming-conflics with other
drivers.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://msgid.link/r/20240220115035.770402-4-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Cezary Rojewski authored and Mark Brown committed Feb 20, 2024
1 parent e1a0cba commit a8f858d
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 57 deletions.
51 changes: 26 additions & 25 deletions sound/soc/intel/avs/apl.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
#include "topology.h"

static int __maybe_unused
apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
avs_apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
{
struct apl_log_state_info *info;
struct avs_apl_log_state_info *info;
u32 size, num_cores = adev->hw_cfg.dsp_cores;
int ret, i;

Expand Down Expand Up @@ -48,9 +48,9 @@ apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_peri
return 0;
}

static int apl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
static int avs_apl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
{
struct apl_log_buffer_layout layout;
struct avs_apl_log_buffer_layout layout;
void __iomem *addr, *buf;

addr = avs_log_buffer_addr(adev, msg->log.core);
Expand All @@ -63,11 +63,11 @@ static int apl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg
/* consume the logs regardless of consumer presence */
goto update_read_ptr;

buf = apl_log_payload_addr(addr);
buf = avs_apl_log_payload_addr(addr);

if (layout.read_ptr > layout.write_ptr) {
avs_dump_fw_log(adev, buf + layout.read_ptr,
apl_log_payload_size(adev) - layout.read_ptr);
avs_apl_log_payload_size(adev) - layout.read_ptr);
layout.read_ptr = 0;
}
avs_dump_fw_log_wakeup(adev, buf + layout.read_ptr, layout.write_ptr - layout.read_ptr);
Expand All @@ -77,7 +77,8 @@ static int apl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg
return 0;
}

static int apl_wait_log_entry(struct avs_dev *adev, u32 core, struct apl_log_buffer_layout *layout)
static int avs_apl_wait_log_entry(struct avs_dev *adev, u32 core,
struct avs_apl_log_buffer_layout *layout)
{
unsigned long timeout;
void __iomem *addr;
Expand All @@ -99,11 +100,11 @@ static int apl_wait_log_entry(struct avs_dev *adev, u32 core, struct apl_log_buf
}

/* reads log header and tests its type */
#define apl_is_entry_stackdump(addr) ((readl(addr) >> 30) & 0x1)
#define avs_apl_is_entry_stackdump(addr) ((readl(addr) >> 30) & 0x1)

static int apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
static int avs_apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
{
struct apl_log_buffer_layout layout;
struct avs_apl_log_buffer_layout layout;
void __iomem *addr, *buf;
size_t dump_size;
u16 offset = 0;
Expand All @@ -124,9 +125,9 @@ static int apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
if (!addr)
goto exit;

buf = apl_log_payload_addr(addr);
buf = avs_apl_log_payload_addr(addr);
memcpy_fromio(&layout, addr, sizeof(layout));
if (!apl_is_entry_stackdump(buf + layout.read_ptr)) {
if (!avs_apl_is_entry_stackdump(buf + layout.read_ptr)) {
union avs_notify_msg lbs_msg = AVS_NOTIFICATION(LOG_BUFFER_STATUS);

/*
Expand All @@ -142,11 +143,11 @@ static int apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
do {
u32 count;

if (apl_wait_log_entry(adev, msg->ext.coredump.core_id, &layout))
if (avs_apl_wait_log_entry(adev, msg->ext.coredump.core_id, &layout))
break;

if (layout.read_ptr > layout.write_ptr) {
count = apl_log_payload_size(adev) - layout.read_ptr;
count = avs_apl_log_payload_size(adev) - layout.read_ptr;
memcpy_fromio(pos + offset, buf + layout.read_ptr, count);
layout.read_ptr = 0;
offset += count;
Expand All @@ -165,7 +166,7 @@ static int apl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
return 0;
}

static bool apl_lp_streaming(struct avs_dev *adev)
static bool avs_apl_lp_streaming(struct avs_dev *adev)
{
struct avs_path *path;

Expand Down Expand Up @@ -201,7 +202,7 @@ static bool apl_lp_streaming(struct avs_dev *adev)
return true;
}

static bool apl_d0ix_toggle(struct avs_dev *adev, struct avs_ipc_msg *tx, bool wake)
static bool avs_apl_d0ix_toggle(struct avs_dev *adev, struct avs_ipc_msg *tx, bool wake)
{
/* wake in all cases */
if (wake)
Expand All @@ -215,10 +216,10 @@ static bool apl_d0ix_toggle(struct avs_dev *adev, struct avs_ipc_msg *tx, bool w
* Note: for cAVS 1.5+ and 1.8, D0IX is LP-firmware transition,
* not the power-gating mechanism known from cAVS 2.0.
*/
return apl_lp_streaming(adev);
return avs_apl_lp_streaming(adev);
}

static int apl_set_d0ix(struct avs_dev *adev, bool enable)
static int avs_apl_set_d0ix(struct avs_dev *adev, bool enable)
{
bool streaming = false;
int ret;
Expand All @@ -231,7 +232,7 @@ static int apl_set_d0ix(struct avs_dev *adev, bool enable)
return AVS_IPC_RET(ret);
}

const struct avs_dsp_ops apl_dsp_ops = {
const struct avs_dsp_ops avs_apl_dsp_ops = {
.power = avs_dsp_core_power,
.reset = avs_dsp_core_reset,
.stall = avs_dsp_core_stall,
Expand All @@ -241,10 +242,10 @@ const struct avs_dsp_ops apl_dsp_ops = {
.load_basefw = avs_hda_load_basefw,
.load_lib = avs_hda_load_library,
.transfer_mods = avs_hda_transfer_modules,
.log_buffer_offset = skl_log_buffer_offset,
.log_buffer_status = apl_log_buffer_status,
.coredump = apl_coredump,
.d0ix_toggle = apl_d0ix_toggle,
.set_d0ix = apl_set_d0ix,
.log_buffer_offset = avs_skl_log_buffer_offset,
.log_buffer_status = avs_apl_log_buffer_status,
.coredump = avs_apl_coredump,
.d0ix_toggle = avs_apl_d0ix_toggle,
.set_d0ix = avs_apl_set_d0ix,
AVS_SET_ENABLE_LOGS_OP(apl)
};
18 changes: 9 additions & 9 deletions sound/soc/intel/avs/avs.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ struct avs_dsp_ops {
#define avs_dsp_op(adev, op, ...) \
((adev)->spec->dsp_ops->op(adev, ## __VA_ARGS__))

extern const struct avs_dsp_ops skl_dsp_ops;
extern const struct avs_dsp_ops apl_dsp_ops;
extern const struct avs_dsp_ops avs_skl_dsp_ops;
extern const struct avs_dsp_ops avs_apl_dsp_ops;

#define AVS_PLATATTR_CLDMA BIT_ULL(0)
#define AVS_PLATATTR_IMR BIT_ULL(1)
Expand Down Expand Up @@ -249,7 +249,7 @@ void avs_ipc_block(struct avs_ipc *ipc);
int avs_dsp_disable_d0ix(struct avs_dev *adev);
int avs_dsp_enable_d0ix(struct avs_dev *adev);

int skl_log_buffer_offset(struct avs_dev *adev, u32 core);
int avs_skl_log_buffer_offset(struct avs_dev *adev, u32 core);

/* Firmware resources management */

Expand Down Expand Up @@ -343,21 +343,21 @@ static inline int avs_log_buffer_status_locked(struct avs_dev *adev, union avs_n
return ret;
}

struct apl_log_buffer_layout {
struct avs_apl_log_buffer_layout {
u32 read_ptr;
u32 write_ptr;
u8 buffer[];
} __packed;

#define apl_log_payload_size(adev) \
(avs_log_buffer_size(adev) - sizeof(struct apl_log_buffer_layout))
#define avs_apl_log_payload_size(adev) \
(avs_log_buffer_size(adev) - sizeof(struct avs_apl_log_buffer_layout))

#define apl_log_payload_addr(addr) \
(addr + sizeof(struct apl_log_buffer_layout))
#define avs_apl_log_payload_addr(addr) \
(addr + sizeof(struct avs_apl_log_buffer_layout))

#ifdef CONFIG_DEBUG_FS
#define AVS_SET_ENABLE_LOGS_OP(name) \
.enable_logs = name##_enable_logs
.enable_logs = avs_##name##_enable_logs

bool avs_logging_fw(struct avs_dev *adev);
void avs_dump_fw_log(struct avs_dev *adev, const void __iomem *src, unsigned int len);
Expand Down
4 changes: 2 additions & 2 deletions sound/soc/intel/avs/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -738,7 +738,7 @@ static const struct avs_spec skl_desc = {
.hotfix = 0,
.build = 4732,
},
.dsp_ops = &skl_dsp_ops,
.dsp_ops = &avs_skl_dsp_ops,
.core_init_mask = 1,
.attributes = AVS_PLATATTR_CLDMA,
.sram_base_offset = SKL_ADSP_SRAM_BASE_OFFSET,
Expand All @@ -754,7 +754,7 @@ static const struct avs_spec apl_desc = {
.hotfix = 1,
.build = 4323,
},
.dsp_ops = &apl_dsp_ops,
.dsp_ops = &avs_apl_dsp_ops,
.core_init_mask = 3,
.attributes = AVS_PLATATTR_IMR,
.sram_base_offset = APL_ADSP_SRAM_BASE_OFFSET,
Expand Down
10 changes: 5 additions & 5 deletions sound/soc/intel/avs/messages.h
Original file line number Diff line number Diff line change
Expand Up @@ -359,21 +359,21 @@ enum avs_skl_log_priority {
AVS_SKL_LOG_VERBOSE,
};

struct skl_log_state {
struct avs_skl_log_state {
u32 enable;
u32 min_priority;
} __packed;

struct skl_log_state_info {
struct avs_skl_log_state_info {
u32 core_mask;
struct skl_log_state logs_core[];
struct avs_skl_log_state logs_core[];
} __packed;

struct apl_log_state_info {
struct avs_apl_log_state_info {
u32 aging_timer_period;
u32 fifo_full_timer_period;
u32 core_mask;
struct skl_log_state logs_core[];
struct avs_skl_log_state logs_core[];
} __packed;

int avs_ipc_set_enable_logs(struct avs_dev *adev, u8 *log_info, size_t size);
Expand Down
30 changes: 14 additions & 16 deletions sound/soc/intel/avs/skl.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
#include "messages.h"

static int __maybe_unused
skl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
avs_skl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period,
u32 fifo_full_period, unsigned long resource_mask, u32 *priorities)
{
struct skl_log_state_info *info;
struct avs_skl_log_state_info *info;
u32 size, num_cores = adev->hw_cfg.dsp_cores;
int ret, i;

Expand Down Expand Up @@ -45,16 +45,15 @@ skl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_peri
return 0;
}

int skl_log_buffer_offset(struct avs_dev *adev, u32 core)
int avs_skl_log_buffer_offset(struct avs_dev *adev, u32 core)
{
return core * avs_log_buffer_size(adev);
}

/* fw DbgLogWp registers */
#define FW_REGS_DBG_LOG_WP(core) (0x30 + 0x4 * core)

static int
skl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
static int avs_skl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
{
void __iomem *buf;
u16 size, write, offset;
Expand All @@ -74,7 +73,7 @@ skl_log_buffer_status(struct avs_dev *adev, union avs_notify_msg *msg)
return 0;
}

static int skl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
static int avs_skl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
{
u8 *dump;

Expand All @@ -88,20 +87,19 @@ static int skl_coredump(struct avs_dev *adev, union avs_notify_msg *msg)
return 0;
}

static bool
skl_d0ix_toggle(struct avs_dev *adev, struct avs_ipc_msg *tx, bool wake)
static bool avs_skl_d0ix_toggle(struct avs_dev *adev, struct avs_ipc_msg *tx, bool wake)
{
/* unsupported on cAVS 1.5 hw */
return false;
}

static int skl_set_d0ix(struct avs_dev *adev, bool enable)
static int avs_skl_set_d0ix(struct avs_dev *adev, bool enable)
{
/* unsupported on cAVS 1.5 hw */
return 0;
}

const struct avs_dsp_ops skl_dsp_ops = {
const struct avs_dsp_ops avs_skl_dsp_ops = {
.power = avs_dsp_core_power,
.reset = avs_dsp_core_reset,
.stall = avs_dsp_core_stall,
Expand All @@ -111,10 +109,10 @@ const struct avs_dsp_ops skl_dsp_ops = {
.load_basefw = avs_cldma_load_basefw,
.load_lib = avs_cldma_load_library,
.transfer_mods = avs_cldma_transfer_modules,
.log_buffer_offset = skl_log_buffer_offset,
.log_buffer_status = skl_log_buffer_status,
.coredump = skl_coredump,
.d0ix_toggle = skl_d0ix_toggle,
.set_d0ix = skl_set_d0ix,
.log_buffer_offset = avs_skl_log_buffer_offset,
.log_buffer_status = avs_skl_log_buffer_status,
.coredump = avs_skl_coredump,
.d0ix_toggle = avs_skl_d0ix_toggle,
.set_d0ix = avs_skl_set_d0ix,
AVS_SET_ENABLE_LOGS_OP(skl)
};

0 comments on commit a8f858d

Please sign in to comment.