|
@@ -26,6 +26,8 @@
|
|
|
* This file contains the stream operations of SST driver
|
|
|
*/
|
|
|
|
|
|
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
|
+
|
|
|
#include <linux/pci.h>
|
|
|
#include <linux/syscalls.h>
|
|
|
#include <linux/firmware.h>
|
|
@@ -53,7 +55,7 @@ int sst_get_stream_params(int str_id,
|
|
|
struct stream_info *str_info;
|
|
|
struct snd_sst_fw_get_stream_params *fw_params;
|
|
|
|
|
|
- pr_debug("sst: get_stream for %d\n", str_id);
|
|
|
+ pr_debug("get_stream for %d\n", str_id);
|
|
|
retval = sst_validate_strid(str_id);
|
|
|
if (retval)
|
|
|
return retval;
|
|
@@ -61,16 +63,16 @@ int sst_get_stream_params(int str_id,
|
|
|
str_info = &sst_drv_ctx->streams[str_id];
|
|
|
if (str_info->status != STREAM_UN_INIT) {
|
|
|
if (str_info->ctrl_blk.on == true) {
|
|
|
- pr_err("sst: control path in use\n");
|
|
|
+ pr_err("control path in use\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
if (sst_create_short_msg(&msg)) {
|
|
|
- pr_err("sst: message creation failed\n");
|
|
|
+ pr_err("message creation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
fw_params = kzalloc(sizeof(*fw_params), GFP_ATOMIC);
|
|
|
if (!fw_params) {
|
|
|
- pr_err("sst: mem allcoation failed\n ");
|
|
|
+ pr_err("mem allocation failed\n");
|
|
|
kfree(msg);
|
|
|
return -ENOMEM;
|
|
|
}
|
|
@@ -104,7 +106,7 @@ int sst_get_stream_params(int str_id,
|
|
|
get_params->codec_params.stream_type = str_info->str_type;
|
|
|
kfree(fw_params);
|
|
|
} else {
|
|
|
- pr_debug("sst: Stream is not in the init state\n");
|
|
|
+ pr_debug("Stream is not in the init state\n");
|
|
|
}
|
|
|
return retval;
|
|
|
}
|
|
@@ -125,17 +127,17 @@ int sst_set_stream_param(int str_id, struct snd_sst_params *str_param)
|
|
|
|
|
|
BUG_ON(!str_param);
|
|
|
if (sst_drv_ctx->streams[str_id].ops != str_param->ops) {
|
|
|
- pr_err("sst: Invalid operation\n");
|
|
|
+ pr_err("Invalid operation\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
retval = sst_validate_strid(str_id);
|
|
|
if (retval)
|
|
|
return retval;
|
|
|
- pr_debug("sst: set_stream for %d\n", str_id);
|
|
|
+ pr_debug("set_stream for %d\n", str_id);
|
|
|
str_info = &sst_drv_ctx->streams[str_id];
|
|
|
if (sst_drv_ctx->streams[str_id].status == STREAM_INIT) {
|
|
|
if (str_info->ctrl_blk.on == true) {
|
|
|
- pr_err("sst: control path in use\n");
|
|
|
+ pr_err("control path in use\n");
|
|
|
return -EAGAIN;
|
|
|
}
|
|
|
if (sst_create_large_msg(&msg))
|
|
@@ -163,7 +165,7 @@ int sst_set_stream_param(int str_id, struct snd_sst_params *str_param)
|
|
|
}
|
|
|
} else {
|
|
|
retval = -EBADRQC;
|
|
|
- pr_err("sst: BADQRC for stream\n");
|
|
|
+ pr_err("BADQRC for stream\n");
|
|
|
}
|
|
|
return retval;
|
|
|
}
|
|
@@ -183,7 +185,7 @@ int sst_get_vol(struct snd_sst_vol *get_vol)
|
|
|
struct snd_sst_vol *fw_get_vol;
|
|
|
int str_id = get_vol->stream_id;
|
|
|
|
|
|
- pr_debug("sst: get vol called\n");
|
|
|
+ pr_debug("get vol called\n");
|
|
|
|
|
|
if (sst_create_short_msg(&msg))
|
|
|
return -ENOMEM;
|
|
@@ -195,7 +197,7 @@ int sst_get_vol(struct snd_sst_vol *get_vol)
|
|
|
sst_drv_ctx->vol_info_blk.on = true;
|
|
|
fw_get_vol = kzalloc(sizeof(*fw_get_vol), GFP_ATOMIC);
|
|
|
if (!fw_get_vol) {
|
|
|
- pr_err("sst: mem allocation failed\n");
|
|
|
+ pr_err("mem allocation failed\n");
|
|
|
kfree(msg);
|
|
|
return -ENOMEM;
|
|
|
}
|
|
@@ -209,10 +211,10 @@ int sst_get_vol(struct snd_sst_vol *get_vol)
|
|
|
if (retval)
|
|
|
retval = -EIO;
|
|
|
else {
|
|
|
- pr_debug("sst: stream id %d\n", fw_get_vol->stream_id);
|
|
|
- pr_debug("sst: volume %d\n", fw_get_vol->volume);
|
|
|
- pr_debug("sst: ramp duration %d\n", fw_get_vol->ramp_duration);
|
|
|
- pr_debug("sst: ramp_type %d\n", fw_get_vol->ramp_type);
|
|
|
+ pr_debug("stream id %d\n", fw_get_vol->stream_id);
|
|
|
+ pr_debug("volume %d\n", fw_get_vol->volume);
|
|
|
+ pr_debug("ramp duration %d\n", fw_get_vol->ramp_duration);
|
|
|
+ pr_debug("ramp_type %d\n", fw_get_vol->ramp_type);
|
|
|
memcpy(get_vol, fw_get_vol, sizeof(*fw_get_vol));
|
|
|
}
|
|
|
return retval;
|
|
@@ -231,10 +233,10 @@ int sst_set_vol(struct snd_sst_vol *set_vol)
|
|
|
int retval = 0;
|
|
|
struct ipc_post *msg = NULL;
|
|
|
|
|
|
- pr_debug("sst: set vol called\n");
|
|
|
+ pr_debug("set vol called\n");
|
|
|
|
|
|
if (sst_create_large_msg(&msg)) {
|
|
|
- pr_err("sst: message creation failed\n");
|
|
|
+ pr_err("message creation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
sst_fill_header(&msg->header, IPC_IA_SET_STREAM_VOL, 1,
|
|
@@ -254,7 +256,7 @@ int sst_set_vol(struct snd_sst_vol *set_vol)
|
|
|
retval = sst_wait_interruptible_timeout(sst_drv_ctx,
|
|
|
&sst_drv_ctx->vol_info_blk, SST_BLOCK_TIMEOUT);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: error in set_vol = %d\n", retval);
|
|
|
+ pr_err("error in set_vol = %d\n", retval);
|
|
|
retval = -EIO;
|
|
|
}
|
|
|
return retval;
|
|
@@ -273,10 +275,10 @@ int sst_set_mute(struct snd_sst_mute *set_mute)
|
|
|
int retval = 0;
|
|
|
struct ipc_post *msg = NULL;
|
|
|
|
|
|
- pr_debug("sst: set mute called\n");
|
|
|
+ pr_debug("set mute called\n");
|
|
|
|
|
|
if (sst_create_large_msg(&msg)) {
|
|
|
- pr_err("sst: message creation failed\n");
|
|
|
+ pr_err("message creation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
sst_fill_header(&msg->header, IPC_IA_SET_STREAM_MUTE, 1,
|
|
@@ -297,7 +299,7 @@ int sst_set_mute(struct snd_sst_mute *set_mute)
|
|
|
retval = sst_wait_interruptible_timeout(sst_drv_ctx,
|
|
|
&sst_drv_ctx->mute_info_blk, SST_BLOCK_TIMEOUT);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: error in set_mute = %d\n", retval);
|
|
|
+ pr_err("error in set_mute = %d\n", retval);
|
|
|
retval = -EIO;
|
|
|
}
|
|
|
return retval;
|
|
@@ -358,20 +360,20 @@ int sst_parse_target(struct snd_sst_slot_info *slot)
|
|
|
slot->device_type == SND_SST_DEVICE_PCM) {
|
|
|
retval = sst_activate_target(slot);
|
|
|
if (retval)
|
|
|
- pr_err("sst: SST_Activate_target_fail\n");
|
|
|
+ pr_err("SST_Activate_target_fail\n");
|
|
|
else
|
|
|
- pr_err("sst: SST_Activate_target_pass\n");
|
|
|
+ pr_err("SST_Activate_target_pass\n");
|
|
|
return retval;
|
|
|
} else if (slot->action == SND_SST_PORT_PREPARE &&
|
|
|
slot->device_type == SND_SST_DEVICE_PCM) {
|
|
|
retval = sst_prepare_target(slot);
|
|
|
if (retval)
|
|
|
- pr_err("sst: SST_prepare_target_fail\n");
|
|
|
+ pr_err("SST_prepare_target_fail\n");
|
|
|
else
|
|
|
- pr_err("sst: SST_prepare_target_pass\n");
|
|
|
+ pr_err("SST_prepare_target_pass\n");
|
|
|
return retval;
|
|
|
} else {
|
|
|
- pr_err("sst: slot_action : %d, device_type: %d\n",
|
|
|
+ pr_err("slot_action : %d, device_type: %d\n",
|
|
|
slot->action, slot->device_type);
|
|
|
return retval;
|
|
|
}
|
|
@@ -383,7 +385,7 @@ int sst_send_target(struct snd_sst_target_device *target)
|
|
|
struct ipc_post *msg;
|
|
|
|
|
|
if (sst_create_large_msg(&msg)) {
|
|
|
- pr_err("sst: message creation failed\n");
|
|
|
+ pr_err("message creation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
sst_fill_header(&msg->header, IPC_IA_TARGET_DEV_SELECT, 1, 0);
|
|
@@ -399,11 +401,11 @@ int sst_send_target(struct snd_sst_target_device *target)
|
|
|
list_add_tail(&msg->node, &sst_drv_ctx->ipc_dispatch_list);
|
|
|
spin_unlock(&sst_drv_ctx->list_spin_lock);
|
|
|
sst_post_message(&sst_drv_ctx->ipc_post_msg_wq);
|
|
|
- pr_debug("sst: message sent- waiting\n");
|
|
|
+ pr_debug("message sent- waiting\n");
|
|
|
retval = sst_wait_interruptible_timeout(sst_drv_ctx,
|
|
|
&sst_drv_ctx->tgt_dev_blk, TARGET_DEV_BLOCK_TIMEOUT);
|
|
|
if (retval)
|
|
|
- pr_err("sst: target device ipc failed = 0x%x\n", retval);
|
|
|
+ pr_err("target device ipc failed = 0x%x\n", retval);
|
|
|
return retval;
|
|
|
|
|
|
}
|
|
@@ -439,7 +441,7 @@ int sst_target_device_validate(struct snd_sst_target_device *target)
|
|
|
goto err;
|
|
|
} else {
|
|
|
err:
|
|
|
- pr_err("sst: i/p params incorrect\n");
|
|
|
+ pr_err("i/p params incorrect\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
}
|
|
@@ -460,15 +462,15 @@ int sst_target_device_select(struct snd_sst_target_device *target)
|
|
|
{
|
|
|
int retval, i, prepare_count = 0;
|
|
|
|
|
|
- pr_debug("sst: Target Device Select\n");
|
|
|
+ pr_debug("Target Device Select\n");
|
|
|
|
|
|
if (target->device_route < 0 || target->device_route > 2) {
|
|
|
- pr_err("sst: device route is invalid\n");
|
|
|
+ pr_err("device route is invalid\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
if (target->device_route != 0) {
|
|
|
- pr_err("sst: Unsupported config\n");
|
|
|
+ pr_err("Unsupported config\n");
|
|
|
return -EIO;
|
|
|
}
|
|
|
retval = sst_target_device_validate(target);
|
|
@@ -480,18 +482,18 @@ int sst_target_device_select(struct snd_sst_target_device *target)
|
|
|
return retval;
|
|
|
for (i = 0; i < SST_MAX_TARGET_DEVICES; i++) {
|
|
|
if (target->devices[i].action == SND_SST_PORT_ACTIVATE) {
|
|
|
- pr_debug("sst: activate called in %d\n", i);
|
|
|
+ pr_debug("activate called in %d\n", i);
|
|
|
retval = sst_parse_target(&target->devices[i]);
|
|
|
if (retval)
|
|
|
return retval;
|
|
|
} else if (target->devices[i].action == SND_SST_PORT_PREPARE) {
|
|
|
- pr_debug("sst: PREPARE in %d, Forwading\n", i);
|
|
|
+ pr_debug("PREPARE in %d, Forwarding\n", i);
|
|
|
retval = sst_parse_target(&target->devices[i]);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: Parse Target fail %d", retval);
|
|
|
+ pr_err("Parse Target fail %d\n", retval);
|
|
|
return retval;
|
|
|
}
|
|
|
- pr_debug("sst: Parse Target successful %d", retval);
|
|
|
+ pr_debug("Parse Target successful %d\n", retval);
|
|
|
if (target->devices[i].device_type ==
|
|
|
SND_SST_DEVICE_PCM)
|
|
|
prepare_count++;
|
|
@@ -512,11 +514,11 @@ static inline int sst_get_RAR(struct RAR_buffer *buffers, int count)
|
|
|
rar_status = rar_handle_to_bus(buffers, count);
|
|
|
|
|
|
if (count != rar_status) {
|
|
|
- pr_err("sst: The rar CALL Failed");
|
|
|
+ pr_err("The rar CALL Failed");
|
|
|
retval = -EIO;
|
|
|
}
|
|
|
if (buffers->info.type != RAR_TYPE_AUDIO) {
|
|
|
- pr_err("sst: Invalid RAR type\n");
|
|
|
+ pr_err("Invalid RAR type\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
return retval;
|
|
@@ -539,10 +541,10 @@ static int sst_create_sg_list(struct stream_info *stream,
|
|
|
if (kbufs->in_use == false) {
|
|
|
#ifdef CONFIG_MRST_RAR_HANDLER
|
|
|
if (stream->ops == STREAM_OPS_PLAYBACK_DRM) {
|
|
|
- pr_debug("sst: DRM playback handling\n");
|
|
|
+ pr_debug("DRM playback handling\n");
|
|
|
rar_buffers.info.handle = (__u32)kbufs->addr;
|
|
|
rar_buffers.info.size = kbufs->size;
|
|
|
- pr_debug("sst: rar handle 0x%x size=0x%x",
|
|
|
+ pr_debug("rar handle 0x%x size=0x%x\n",
|
|
|
rar_buffers.info.handle,
|
|
|
rar_buffers.info.size);
|
|
|
retval = sst_get_RAR(&rar_buffers, 1);
|
|
@@ -552,7 +554,7 @@ static int sst_create_sg_list(struct stream_info *stream,
|
|
|
sg_list->addr[i].addr = rar_buffers.bus_address;
|
|
|
/* rar_buffers.info.size; */
|
|
|
sg_list->addr[i].size = (__u32)kbufs->size;
|
|
|
- pr_debug("sst: phyaddr[%d] 0x%x Size:0x%x\n"
|
|
|
+ pr_debug("phyaddr[%d] 0x%x Size:0x%x\n"
|
|
|
, i, sg_list->addr[i].addr,
|
|
|
sg_list->addr[i].size);
|
|
|
}
|
|
@@ -562,7 +564,7 @@ static int sst_create_sg_list(struct stream_info *stream,
|
|
|
virt_to_phys((void *)
|
|
|
kbufs->addr + kbufs->offset);
|
|
|
sg_list->addr[i].size = kbufs->size;
|
|
|
- pr_debug("sst: phyaddr[%d]:0x%x Size:0x%x\n"
|
|
|
+ pr_debug("phyaddr[%d]:0x%x Size:0x%x\n"
|
|
|
, i , sg_list->addr[i].addr, kbufs->size);
|
|
|
}
|
|
|
stream->curr_bytes += sg_list->addr[i].size;
|
|
@@ -574,7 +576,7 @@ static int sst_create_sg_list(struct stream_info *stream,
|
|
|
}
|
|
|
|
|
|
sg_list->num_entries = i;
|
|
|
- pr_debug("sst:sg list entries = %d\n", sg_list->num_entries);
|
|
|
+ pr_debug("sg list entries = %d\n", sg_list->num_entries);
|
|
|
return i;
|
|
|
}
|
|
|
|
|
@@ -595,7 +597,7 @@ int sst_play_frame(int str_id)
|
|
|
struct sst_stream_bufs *kbufs = NULL, *_kbufs;
|
|
|
struct stream_info *stream;
|
|
|
|
|
|
- pr_debug("sst: play frame for %d\n", str_id);
|
|
|
+ pr_debug("play frame for %d\n", str_id);
|
|
|
retval = sst_validate_strid(str_id);
|
|
|
if (retval)
|
|
|
return retval;
|
|
@@ -615,14 +617,14 @@ int sst_play_frame(int str_id)
|
|
|
stream->curr_bytes = 0;
|
|
|
if (list_empty(&stream->bufs)) {
|
|
|
/* no user buffer available */
|
|
|
- pr_debug("sst: Null buffer stream status %d\n", stream->status);
|
|
|
+ pr_debug("Null buffer stream status %d\n", stream->status);
|
|
|
stream->prev = stream->status;
|
|
|
stream->status = STREAM_INIT;
|
|
|
- pr_debug("sst:new stream status = %d\n", stream->status);
|
|
|
+ pr_debug("new stream status = %d\n", stream->status);
|
|
|
if (stream->need_draining == true) {
|
|
|
- pr_debug("sst:draining stream\n");
|
|
|
+ pr_debug("draining stream\n");
|
|
|
if (sst_create_short_msg(&msg)) {
|
|
|
- pr_err("sst: mem alloc failed\n");
|
|
|
+ pr_err("mem allocation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
sst_fill_header(&msg->header, IPC_IA_DRAIN_STREAM,
|
|
@@ -633,7 +635,7 @@ int sst_play_frame(int str_id)
|
|
|
spin_unlock(&sst_drv_ctx->list_spin_lock);
|
|
|
sst_post_message(&sst_drv_ctx->ipc_post_msg_wq);
|
|
|
} else if (stream->data_blk.on == true) {
|
|
|
- pr_debug("sst:user list empty.. wake\n");
|
|
|
+ pr_debug("user list empty.. wake\n");
|
|
|
/* unblock */
|
|
|
stream->data_blk.ret_code = 0;
|
|
|
stream->data_blk.condition = true;
|
|
@@ -678,7 +680,7 @@ int sst_capture_frame(int str_id)
|
|
|
struct stream_info *stream;
|
|
|
|
|
|
|
|
|
- pr_debug("sst:capture frame for %d\n", str_id);
|
|
|
+ pr_debug("capture frame for %d\n", str_id);
|
|
|
retval = sst_validate_strid(str_id);
|
|
|
if (retval)
|
|
|
return retval;
|
|
@@ -688,19 +690,19 @@ int sst_capture_frame(int str_id)
|
|
|
if (kbufs->in_use == true) {
|
|
|
list_del(&kbufs->node);
|
|
|
kfree(kbufs);
|
|
|
- pr_debug("sst:del node\n");
|
|
|
+ pr_debug("del node\n");
|
|
|
}
|
|
|
}
|
|
|
if (list_empty(&stream->bufs)) {
|
|
|
/* no user buffer available */
|
|
|
- pr_debug("sst:Null buffer!!!!stream status %d\n",
|
|
|
+ pr_debug("Null buffer!!!!stream status %d\n",
|
|
|
stream->status);
|
|
|
stream->prev = stream->status;
|
|
|
stream->status = STREAM_INIT;
|
|
|
- pr_debug("sst:new stream status = %d\n",
|
|
|
+ pr_debug("new stream status = %d\n",
|
|
|
stream->status);
|
|
|
if (stream->data_blk.on == true) {
|
|
|
- pr_debug("sst:user list empty.. wake\n");
|
|
|
+ pr_debug("user list empty.. wake\n");
|
|
|
/* unblock */
|
|
|
stream->data_blk.ret_code = 0;
|
|
|
stream->data_blk.condition = true;
|
|
@@ -731,7 +733,7 @@ int sst_capture_frame(int str_id)
|
|
|
stream->cumm_bytes += stream->curr_bytes;
|
|
|
stream->curr_bytes = 0;
|
|
|
|
|
|
- pr_debug("sst:Cum bytes = %d\n", stream->cumm_bytes);
|
|
|
+ pr_debug("Cum bytes = %d\n", stream->cumm_bytes);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -743,7 +745,7 @@ static unsigned int calculate_min_size(struct snd_sst_buffs *bufs)
|
|
|
if (bufs->buff_entry[i].size < min_val)
|
|
|
min_val = bufs->buff_entry[i].size;
|
|
|
}
|
|
|
- pr_debug("sst:min_val = %d\n", min_val);
|
|
|
+ pr_debug("min_val = %d\n", min_val);
|
|
|
return min_val;
|
|
|
}
|
|
|
|
|
@@ -754,7 +756,7 @@ static unsigned int calculate_max_size(struct snd_sst_buffs *bufs)
|
|
|
if (bufs->buff_entry[i].size > max_val)
|
|
|
max_val = bufs->buff_entry[i].size;
|
|
|
}
|
|
|
- pr_debug("sst:max_val = %d\n", max_val);
|
|
|
+ pr_debug("max_val = %d\n", max_val);
|
|
|
return max_val;
|
|
|
}
|
|
|
|
|
@@ -773,7 +775,7 @@ static int sst_allocate_decode_buf(struct stream_info *str_info,
|
|
|
if (dbufs->ibufs->entries == dbufs->obufs->entries)
|
|
|
return 0;
|
|
|
else {
|
|
|
- pr_err("sst: RAR entries dont match\n");
|
|
|
+ pr_err("RAR entries dont match\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
} else
|
|
@@ -783,26 +785,26 @@ static int sst_allocate_decode_buf(struct stream_info *str_info,
|
|
|
}
|
|
|
#endif
|
|
|
if (!str_info->decode_ibuf) {
|
|
|
- pr_debug("sst:no i/p buffers, trying full size\n");
|
|
|
+ pr_debug("no i/p buffers, trying full size\n");
|
|
|
str_info->decode_isize = cum_input_given;
|
|
|
str_info->decode_ibuf = kzalloc(str_info->decode_isize,
|
|
|
GFP_KERNEL);
|
|
|
str_info->idecode_alloc = str_info->decode_isize;
|
|
|
}
|
|
|
if (!str_info->decode_ibuf) {
|
|
|
- pr_debug("sst:buff alloc failed, try max size\n");
|
|
|
+ pr_debug("buff alloc failed, try max size\n");
|
|
|
str_info->decode_isize = calculate_max_size(dbufs->ibufs);
|
|
|
str_info->decode_ibuf = kzalloc(
|
|
|
str_info->decode_isize, GFP_KERNEL);
|
|
|
str_info->idecode_alloc = str_info->decode_isize;
|
|
|
}
|
|
|
if (!str_info->decode_ibuf) {
|
|
|
- pr_debug("sst:buff alloc failed, try min size\n");
|
|
|
+ pr_debug("buff alloc failed, try min size\n");
|
|
|
str_info->decode_isize = calculate_min_size(dbufs->ibufs);
|
|
|
str_info->decode_ibuf = kzalloc(str_info->decode_isize,
|
|
|
GFP_KERNEL);
|
|
|
if (!str_info->decode_ibuf) {
|
|
|
- pr_err("sst: mem allocation failed\n");
|
|
|
+ pr_err("mem allocation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
str_info->idecode_alloc = str_info->decode_isize;
|
|
@@ -820,7 +822,7 @@ static int sst_send_decode_mess(int str_id, struct stream_info *str_info,
|
|
|
struct ipc_post *msg = NULL;
|
|
|
int retval = 0;
|
|
|
|
|
|
- pr_debug("SST DBGsst_set_mute:called\n");
|
|
|
+ pr_debug("SST DBG:sst_set_mute:called\n");
|
|
|
|
|
|
if (str_info->decode_ibuf_type == SST_BUF_RAR) {
|
|
|
#ifdef CONFIG_MRST_RAR_HANDLER
|
|
@@ -857,7 +859,7 @@ static int sst_send_decode_mess(int str_id, struct stream_info *str_info,
|
|
|
dec_info->input_bytes_consumed = 0;
|
|
|
dec_info->output_bytes_produced = 0;
|
|
|
if (sst_create_large_msg(&msg)) {
|
|
|
- pr_err("sst: message creation failed\n");
|
|
|
+ pr_err("message creation failed\n");
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
@@ -894,7 +896,7 @@ static int sst_prepare_input_buffers_rar(struct stream_info *str_info,
|
|
|
dbufs->ibufs->buff_entry[i].buffer,
|
|
|
sizeof(__u32));
|
|
|
if (retval) {
|
|
|
- pr_err("sst:cpy from user fail\n");
|
|
|
+ pr_err("cpy from user fail\n");
|
|
|
return -EAGAIN;
|
|
|
}
|
|
|
rar_buffers.info.type = dbufs->ibufs->type;
|
|
@@ -931,7 +933,7 @@ static int sst_prepare_input_buffers(struct stream_info *str_info,
|
|
|
{
|
|
|
int i, cpy_size, retval = 0;
|
|
|
|
|
|
- pr_debug("sst:input_index = %d, input entries = %d\n",
|
|
|
+ pr_debug("input_index = %d, input entries = %d\n",
|
|
|
*input_index, dbufs->ibufs->entries);
|
|
|
for (i = *input_index; i < dbufs->ibufs->entries; i++) {
|
|
|
#ifdef CONFIG_MRST_RAR_HANDLER
|
|
@@ -939,7 +941,7 @@ static int sst_prepare_input_buffers(struct stream_info *str_info,
|
|
|
dbufs, input_index, in_copied,
|
|
|
input_index_valid_size, new_entry_flag);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: In prepare input buffers for RAR\n");
|
|
|
+ pr_err("In prepare input buffers for RAR\n");
|
|
|
return -EIO;
|
|
|
}
|
|
|
#endif
|
|
@@ -947,10 +949,10 @@ static int sst_prepare_input_buffers(struct stream_info *str_info,
|
|
|
if (*input_index_valid_size == 0)
|
|
|
*input_index_valid_size =
|
|
|
dbufs->ibufs->buff_entry[i].size;
|
|
|
- pr_debug("sst:inout addr = %p, size = %d\n",
|
|
|
+ pr_debug("inout addr = %p, size = %d\n",
|
|
|
dbufs->ibufs->buff_entry[i].buffer,
|
|
|
*input_index_valid_size);
|
|
|
- pr_debug("sst:decode_isize = %d, in_copied %d\n",
|
|
|
+ pr_debug("decode_isize = %d, in_copied %d\n",
|
|
|
str_info->decode_isize, *in_copied);
|
|
|
if (*input_index_valid_size <=
|
|
|
(str_info->decode_isize - *in_copied))
|
|
@@ -958,12 +960,12 @@ static int sst_prepare_input_buffers(struct stream_info *str_info,
|
|
|
else
|
|
|
cpy_size = str_info->decode_isize - *in_copied;
|
|
|
|
|
|
- pr_debug("sst:cpy size = %d\n", cpy_size);
|
|
|
+ pr_debug("cpy size = %d\n", cpy_size);
|
|
|
if (!dbufs->ibufs->buff_entry[i].buffer) {
|
|
|
- pr_err("sst: i/p buffer is null\n");
|
|
|
+ pr_err("i/p buffer is null\n");
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
- pr_debug("sst:Try copy To %p, From %p, size %d\n",
|
|
|
+ pr_debug("Try copy To %p, From %p, size %d\n",
|
|
|
str_info->decode_ibuf + *in_copied,
|
|
|
dbufs->ibufs->buff_entry[i].buffer, cpy_size);
|
|
|
|
|
@@ -972,22 +974,22 @@ static int sst_prepare_input_buffers(struct stream_info *str_info,
|
|
|
(void *) dbufs->ibufs->buff_entry[i].buffer,
|
|
|
cpy_size);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: copy from user failed\n");
|
|
|
+ pr_err("copy from user failed\n");
|
|
|
return -EIO;
|
|
|
}
|
|
|
*in_copied += cpy_size;
|
|
|
*input_index_valid_size -= cpy_size;
|
|
|
- pr_debug("sst:in buff size = %d, in_copied = %d\n",
|
|
|
+ pr_debug("in buff size = %d, in_copied = %d\n",
|
|
|
*input_index_valid_size, *in_copied);
|
|
|
if (*input_index_valid_size != 0) {
|
|
|
- pr_debug("sst:more input buffers left\n");
|
|
|
+ pr_debug("more input buffers left\n");
|
|
|
dbufs->ibufs->buff_entry[i].buffer += cpy_size;
|
|
|
break;
|
|
|
}
|
|
|
if (*in_copied == str_info->decode_isize &&
|
|
|
*input_index_valid_size == 0 &&
|
|
|
(i+1) <= dbufs->ibufs->entries) {
|
|
|
- pr_debug("sst:all input buffers copied\n");
|
|
|
+ pr_debug("all input buffers copied\n");
|
|
|
*new_entry_flag = true;
|
|
|
*input_index = i + 1;
|
|
|
break;
|
|
@@ -1005,23 +1007,23 @@ static int sst_prepare_output_buffers(struct stream_info *str_info,
|
|
|
|
|
|
{
|
|
|
int i, cpy_size, retval = 0;
|
|
|
- pr_debug("sst:output_index = %d, output entries = %d\n",
|
|
|
+ pr_debug("output_index = %d, output entries = %d\n",
|
|
|
*output_index,
|
|
|
dbufs->obufs->entries);
|
|
|
for (i = *output_index; i < dbufs->obufs->entries; i++) {
|
|
|
*output_index = i;
|
|
|
- pr_debug("sst:output addr = %p, size = %d\n",
|
|
|
+ pr_debug("output addr = %p, size = %d\n",
|
|
|
dbufs->obufs->buff_entry[i].buffer,
|
|
|
dbufs->obufs->buff_entry[i].size);
|
|
|
- pr_debug("sst:output_size = %d, out_copied = %d\n",
|
|
|
+ pr_debug("output_size = %d, out_copied = %d\n",
|
|
|
output_size, *out_copied);
|
|
|
if (dbufs->obufs->buff_entry[i].size <
|
|
|
(output_size - *out_copied))
|
|
|
cpy_size = dbufs->obufs->buff_entry[i].size;
|
|
|
else
|
|
|
cpy_size = output_size - *out_copied;
|
|
|
- pr_debug("sst:cpy size = %d\n", cpy_size);
|
|
|
- pr_debug("sst:Try copy To: %p, From %p, size %d\n",
|
|
|
+ pr_debug("cpy size = %d\n", cpy_size);
|
|
|
+ pr_debug("Try copy To: %p, From %p, size %d\n",
|
|
|
dbufs->obufs->buff_entry[i].buffer,
|
|
|
sst_drv_ctx->mmap_mem + *out_copied,
|
|
|
cpy_size);
|
|
@@ -1029,13 +1031,13 @@ static int sst_prepare_output_buffers(struct stream_info *str_info,
|
|
|
sst_drv_ctx->mmap_mem + *out_copied,
|
|
|
cpy_size);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: copy to user failed\n");
|
|
|
+ pr_err("copy to user failed\n");
|
|
|
return -EIO;
|
|
|
} else
|
|
|
- pr_debug("sst:copy to user passed\n");
|
|
|
+ pr_debug("copy to user passed\n");
|
|
|
*out_copied += cpy_size;
|
|
|
dbufs->obufs->buff_entry[i].size -= cpy_size;
|
|
|
- pr_debug("sst:o/p buff size %d, out_copied %d\n",
|
|
|
+ pr_debug("o/p buff size %d, out_copied %d\n",
|
|
|
dbufs->obufs->buff_entry[i].size, *out_copied);
|
|
|
if (dbufs->obufs->buff_entry[i].size != 0) {
|
|
|
*output_index = i;
|
|
@@ -1073,7 +1075,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
unsigned long long input_bytes, output_bytes;
|
|
|
|
|
|
sst_drv_ctx->scard_ops->power_down_pmic();
|
|
|
- pr_debug("sst: Powering_down_PMIC...\n");
|
|
|
+ pr_debug("Powering_down_PMIC...\n");
|
|
|
|
|
|
retval = sst_validate_strid(str_id);
|
|
|
if (retval)
|
|
@@ -1081,7 +1083,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
|
|
|
str_info = &sst_drv_ctx->streams[str_id];
|
|
|
if (str_info->status != STREAM_INIT) {
|
|
|
- pr_err("sst: invalid stream state = %d\n",
|
|
|
+ pr_err("invalid stream state = %d\n",
|
|
|
str_info->status);
|
|
|
return -EINVAL;
|
|
|
}
|
|
@@ -1098,7 +1100,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
retval = sst_allocate_decode_buf(str_info, dbufs,
|
|
|
cum_input_given, cum_output_given);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: mem allocation failed, abort!!!\n");
|
|
|
+ pr_err("mem allocation failed, abort!!!\n");
|
|
|
retval = -ENOMEM;
|
|
|
goto finish;
|
|
|
}
|
|
@@ -1114,7 +1116,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
dbufs, &input_index, &in_copied,
|
|
|
&input_index_valid_size, &new_entry_flag);
|
|
|
if (retval) {
|
|
|
- pr_err("sst: prepare in buffers failed\n");
|
|
|
+ pr_err("prepare in buffers failed\n");
|
|
|
goto finish;
|
|
|
}
|
|
|
|
|
@@ -1145,8 +1147,8 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
str_info->decode_osize = dbufs->obufs->
|
|
|
buff_entry[output_index].size;
|
|
|
str_info->decode_obuf_type = dbufs->obufs->type;
|
|
|
- pr_debug("sst:DRM handling\n");
|
|
|
- pr_debug("o/p_add=0x%lu Size=0x%x",
|
|
|
+ pr_debug("DRM handling\n");
|
|
|
+ pr_debug("o/p_add=0x%lu Size=0x%x\n",
|
|
|
(unsigned long) str_info->decode_obuf,
|
|
|
str_info->decode_osize);
|
|
|
} else {
|
|
@@ -1160,7 +1162,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
if (str_info->ops != STREAM_OPS_PLAYBACK_DRM) {
|
|
|
if (str_info->decode_isize > in_copied) {
|
|
|
str_info->decode_isize = in_copied;
|
|
|
- pr_debug("sst:i/p size = %d\n",
|
|
|
+ pr_debug("i/p size = %d\n",
|
|
|
str_info->decode_isize);
|
|
|
}
|
|
|
}
|
|
@@ -1168,20 +1170,19 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
|
|
|
retval = sst_send_decode_mess(str_id, str_info, &dec_info);
|
|
|
if (retval || dec_info.input_bytes_consumed == 0) {
|
|
|
- pr_err(
|
|
|
- "SST ERR: mess failed or no input consumed\n");
|
|
|
+ pr_err("SST ERR: mess failed or no input consumed\n");
|
|
|
goto finish;
|
|
|
}
|
|
|
input_bytes = dec_info.input_bytes_consumed;
|
|
|
output_bytes = dec_info.output_bytes_produced;
|
|
|
|
|
|
- pr_debug("sst:in_copied=%d, con=%lld, prod=%lld\n",
|
|
|
+ pr_debug("in_copied=%d, con=%lld, prod=%lld\n",
|
|
|
in_copied, input_bytes, output_bytes);
|
|
|
if (dbufs->obufs->type == SST_BUF_RAR) {
|
|
|
output_index += 1;
|
|
|
if (output_index == dbufs->obufs->entries) {
|
|
|
copy_in_done = true;
|
|
|
- pr_debug("sst:all i/p cpy done\n");
|
|
|
+ pr_debug("all i/p cpy done\n");
|
|
|
}
|
|
|
total_output += output_bytes;
|
|
|
} else {
|
|
@@ -1190,14 +1191,14 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
retval = sst_prepare_output_buffers(str_info, dbufs,
|
|
|
&output_index, output_size, &out_copied);
|
|
|
if (retval) {
|
|
|
- pr_err("sst:prep out buff fail\n");
|
|
|
+ pr_err("prep out buff fail\n");
|
|
|
goto finish;
|
|
|
}
|
|
|
if (str_info->ops != STREAM_OPS_PLAYBACK_DRM) {
|
|
|
if (in_copied != input_bytes) {
|
|
|
int bytes_left = in_copied -
|
|
|
input_bytes;
|
|
|
- pr_debug("sst:bytes %d\n",
|
|
|
+ pr_debug("bytes %d\n",
|
|
|
bytes_left);
|
|
|
if (new_entry_flag == true)
|
|
|
input_index--;
|
|
@@ -1237,7 +1238,7 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
total_output += out_copied;
|
|
|
if (str_info->decode_osize != out_copied) {
|
|
|
str_info->decode_osize -= out_copied;
|
|
|
- pr_debug("sst:output size modified = %d\n",
|
|
|
+ pr_debug("output size modified = %d\n",
|
|
|
str_info->decode_osize);
|
|
|
}
|
|
|
}
|
|
@@ -1251,16 +1252,16 @@ int sst_decode(int str_id, struct snd_sst_dbufs *dbufs)
|
|
|
} else {
|
|
|
if (total_output == cum_output_given) {
|
|
|
copy_out_done = true;
|
|
|
- pr_debug("sst:all o/p cpy done\n");
|
|
|
+ pr_debug("all o/p cpy done\n");
|
|
|
}
|
|
|
|
|
|
if (total_input == cum_input_given) {
|
|
|
copy_in_done = true;
|
|
|
- pr_debug("sst:all i/p cpy done\n");
|
|
|
+ pr_debug("all i/p cpy done\n");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- pr_debug("sst:copy_out = %d, copy_in = %d\n",
|
|
|
+ pr_debug("copy_out = %d, copy_in = %d\n",
|
|
|
copy_out_done, copy_in_done);
|
|
|
}
|
|
|
|