Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions drivers/mbox/mbox_nrf_vevif_task_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ static const uint8_t vevif_irqs[VEVIF_TASKS_NUM] = {

static void vevif_task_rx_isr(const void *parameter)
{
uint8_t channel = *(uint8_t *)parameter;
uint8_t channel = *(const uint8_t *)parameter;
uint8_t idx = channel - TASKS_IDX_MIN;

nrf_vpr_csr_vevif_tasks_clear(BIT(channel));
Expand All @@ -65,12 +65,13 @@ static int vevif_task_rx_register_callback(const struct device *dev, uint32_t id
mbox_callback_t cb, void *user_data)
{
ARG_UNUSED(dev);
uint8_t idx = id - TASKS_IDX_MIN;

if (!vevif_task_rx_is_task_valid(id)) {
return -EINVAL;
}

uint8_t idx = id - TASKS_IDX_MIN;

cbs.cb[idx] = cb;
cbs.user_data[idx] = user_data;

Expand All @@ -80,12 +81,13 @@ static int vevif_task_rx_register_callback(const struct device *dev, uint32_t id
static int vevif_task_rx_set_enabled(const struct device *dev, uint32_t id, bool enable)
{
ARG_UNUSED(dev);
uint8_t idx = id - TASKS_IDX_MIN;

if (!vevif_task_rx_is_task_valid(id)) {
return -EINVAL;
}

uint8_t idx = id - vevif_irqs[0];

if (enable) {
if ((cbs.enabled_mask & BIT(id)) != 0U) {
return -EALREADY;
Expand Down
Loading