aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/media/allegro-dvt/allegro-core.c6
-rw-r--r--drivers/staging/media/allegro-dvt/allegro-mail.c13
-rw-r--r--drivers/staging/media/allegro-dvt/allegro-mail.h3
3 files changed, 5 insertions, 17 deletions
diff --git a/drivers/staging/media/allegro-dvt/allegro-core.c b/drivers/staging/media/allegro-dvt/allegro-core.c
index 07deb5ba13dc..85d2c45be9d2 100644
--- a/drivers/staging/media/allegro-dvt/allegro-core.c
+++ b/drivers/staging/media/allegro-dvt/allegro-core.c
@@ -776,7 +776,6 @@ static void allegro_mcu_send_init(struct allegro_dev *dev,
memset(&msg, 0, sizeof(msg));
msg.header.type = MCU_MSG_TYPE_INIT;
- msg.header.length = sizeof(msg) - sizeof(msg.header);
msg.suballoc_dma = to_mcu_addr(dev, suballoc_dma);
msg.suballoc_size = to_mcu_size(dev, suballoc_size);
@@ -995,7 +994,6 @@ static int allegro_mcu_send_create_channel(struct allegro_dev *dev,
memset(&msg, 0, sizeof(msg));
msg.header.type = MCU_MSG_TYPE_CREATE_CHANNEL;
- msg.header.length = sizeof(msg) - sizeof(msg.header);
msg.user_id = channel->user_id;
@@ -1016,7 +1014,6 @@ static int allegro_mcu_send_destroy_channel(struct allegro_dev *dev,
memset(&msg, 0, sizeof(msg));
msg.header.type = MCU_MSG_TYPE_DESTROY_CHANNEL;
- msg.header.length = sizeof(msg) - sizeof(msg.header);
msg.channel_id = channel->mcu_channel_id;
@@ -1036,7 +1033,6 @@ static int allegro_mcu_send_put_stream_buffer(struct allegro_dev *dev,
memset(&msg, 0, sizeof(msg));
msg.header.type = MCU_MSG_TYPE_PUT_STREAM_BUFFER;
- msg.header.length = sizeof(msg) - sizeof(msg.header);
msg.channel_id = channel->mcu_channel_id;
msg.dma_addr = to_codec_addr(dev, paddr);
@@ -1061,7 +1057,6 @@ static int allegro_mcu_send_encode_frame(struct allegro_dev *dev,
memset(&msg, 0, sizeof(msg));
msg.header.type = MCU_MSG_TYPE_ENCODE_FRAME;
- msg.header.length = sizeof(msg) - sizeof(msg.header);
msg.channel_id = channel->mcu_channel_id;
msg.encoding_options = AL_OPT_FORCE_LOAD;
@@ -1125,7 +1120,6 @@ static int allegro_mcu_push_buffer_internal(struct allegro_channel *channel,
if (!msg)
return -ENOMEM;
- msg->header.length = size - sizeof(msg->header);
msg->header.type = type;
msg->channel_id = channel->mcu_channel_id;
msg->num_buffers = num_buffers;
diff --git a/drivers/staging/media/allegro-dvt/allegro-mail.c b/drivers/staging/media/allegro-dvt/allegro-mail.c
index bb15de080431..da83aa85c873 100644
--- a/drivers/staging/media/allegro-dvt/allegro-mail.c
+++ b/drivers/staging/media/allegro-dvt/allegro-mail.c
@@ -257,8 +257,6 @@ allegro_dec_init(struct mcu_msg_init_response *msg, u32 *src)
{
unsigned int i = 0;
- msg->header.type = FIELD_GET(GENMASK(31, 16), src[i]);
- msg->header.length = FIELD_GET(GENMASK(15, 0), src[i++]);
msg->reserved0 = src[i++];
return i * sizeof(*src);
@@ -270,8 +268,6 @@ allegro_dec_create_channel(struct mcu_msg_create_channel_response *msg,
{
unsigned int i = 0;
- msg->header.type = FIELD_GET(GENMASK(31, 16), src[i]);
- msg->header.length = FIELD_GET(GENMASK(15, 0), src[i++]);
msg->channel_id = src[i++];
msg->user_id = src[i++];
msg->options = src[i++];
@@ -294,8 +290,6 @@ allegro_dec_destroy_channel(struct mcu_msg_destroy_channel_response *msg,
{
unsigned int i = 0;
- msg->header.type = FIELD_GET(GENMASK(31, 16), src[i]);
- msg->header.length = FIELD_GET(GENMASK(15, 0), src[i++]);
msg->channel_id = src[i++];
return i * sizeof(*src);
@@ -307,8 +301,6 @@ allegro_dec_encode_frame(struct mcu_msg_encode_frame_response *msg, u32 *src)
unsigned int i = 0;
unsigned int j;
- msg->header.type = FIELD_GET(GENMASK(31, 16), src[i]);
- msg->header.length = FIELD_GET(GENMASK(15, 0), src[i++]);
msg->channel_id = src[i++];
msg->stream_id = src[i++];
@@ -418,7 +410,10 @@ int allegro_decode_mail(void *msg, u32 *src)
if (!src || !msg)
return -EINVAL;
- header = (struct mcu_msg_header *)src;
+ header = msg;
+ header->type = FIELD_GET(GENMASK(31, 16), src[0]);
+
+ src++;
switch (header->type) {
case MCU_MSG_TYPE_INIT:
allegro_dec_init(msg, src);
diff --git a/drivers/staging/media/allegro-dvt/allegro-mail.h b/drivers/staging/media/allegro-dvt/allegro-mail.h
index a4d829f6f99d..397622973c19 100644
--- a/drivers/staging/media/allegro-dvt/allegro-mail.h
+++ b/drivers/staging/media/allegro-dvt/allegro-mail.h
@@ -23,8 +23,7 @@ enum mcu_msg_type {
const char *msg_type_name(enum mcu_msg_type type);
struct mcu_msg_header {
- u16 length; /* length of the body in bytes */
- u16 type;
+ enum mcu_msg_type type;
};
struct mcu_msg_init_request {