Loading include/sound/cpe_cmi.h +6 −1 Original line number Diff line number Diff line /* * Copyright (c) 2014, Linux Foundation. All rights reserved. * Copyright (c) 2014-2015, Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -38,6 +38,8 @@ #define CPE_BOOT_SUCCESS 0x00 #define CPE_BOOT_FAILED 0x01 #define CPE_CORE_VERSION_SYSTEM_BOOT_EVENT 0x01 /* LSM Service command opcodes */ #define CPE_LSM_SESSION_CMD_OPEN_TX (0x2000) #define CPE_LSM_SESSION_CMD_SET_PARAMS (0x2001) Loading Loading @@ -221,6 +223,9 @@ struct cmi_obm_msg { struct cmi_core_svc_event_system_boot { u8 status; u8 version; u16 sfr_buff_size; u32 sfr_buff_address; } __packed; struct cmi_core_svc_cmd_shared_mem_alloc { Loading sound/soc/codecs/wcd_cpe_services.c +16 −1 Original line number Diff line number Diff line /* Copyright (c) 2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -215,6 +215,7 @@ static struct cpe_info *cpe_default_handle; static void (*cpe_irq_control_callback)(u32 enable); static u32 cpe_msg_buffer; static struct mutex cpe_api_mutex; static struct cpe_svc_boot_event cpe_debug_vector; static enum cpe_svc_result cpe_is_command_valid(const struct cpe_info *t_info, Loading Loading @@ -815,6 +816,20 @@ static bool cpe_mt_process_cmd(struct cpe_command_node *command_node) break; } /* boot was successful */ if (ev_boot->version == CPE_CORE_VERSION_SYSTEM_BOOT_EVENT) { cpe_debug_vector.debug_address = ev_boot->sfr_buff_address; cpe_debug_vector.debug_buffer_size = ev_boot->sfr_buff_size; cpe_debug_vector.status = ev_boot->status; payload.event = CPE_SVC_BOOT; payload.result = CPE_SVC_SUCCESS; payload.payload = (void *)&cpe_debug_vector; cpe_broadcast_notification(t_info, &payload); } t_info->substate = CPE_SS_BOOT_INIT; cpe_send_msg_to_inbox(t_info, NULL); break; Loading sound/soc/codecs/wcd_cpe_services.h +8 −1 Original line number Diff line number Diff line /* Copyright (c) 2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -40,6 +40,7 @@ enum cpe_svc_event { CPE_SVC_BOOT_FAILED = 0x08, CPE_SVC_READ_COMPLETE = 0x10, CPE_SVC_READ_ERROR = 0x20, CPE_SVC_BOOT = 0x40, CPE_SVC_CMI_CLIENTS_DEREG = 0x100, CPE_SVC_EVENT_ANCHOR = 0x7FFF }; Loading Loading @@ -95,6 +96,12 @@ struct cpe_svc_read_complete { size_t size; }; struct cpe_svc_boot_event { u32 debug_address; size_t debug_buffer_size; u32 status; }; struct cpe_svc_mem_segment { enum cpe_svc_mem_type type; u32 cpe_addr; Loading Loading
include/sound/cpe_cmi.h +6 −1 Original line number Diff line number Diff line /* * Copyright (c) 2014, Linux Foundation. All rights reserved. * Copyright (c) 2014-2015, Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -38,6 +38,8 @@ #define CPE_BOOT_SUCCESS 0x00 #define CPE_BOOT_FAILED 0x01 #define CPE_CORE_VERSION_SYSTEM_BOOT_EVENT 0x01 /* LSM Service command opcodes */ #define CPE_LSM_SESSION_CMD_OPEN_TX (0x2000) #define CPE_LSM_SESSION_CMD_SET_PARAMS (0x2001) Loading Loading @@ -221,6 +223,9 @@ struct cmi_obm_msg { struct cmi_core_svc_event_system_boot { u8 status; u8 version; u16 sfr_buff_size; u32 sfr_buff_address; } __packed; struct cmi_core_svc_cmd_shared_mem_alloc { Loading
sound/soc/codecs/wcd_cpe_services.c +16 −1 Original line number Diff line number Diff line /* Copyright (c) 2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -215,6 +215,7 @@ static struct cpe_info *cpe_default_handle; static void (*cpe_irq_control_callback)(u32 enable); static u32 cpe_msg_buffer; static struct mutex cpe_api_mutex; static struct cpe_svc_boot_event cpe_debug_vector; static enum cpe_svc_result cpe_is_command_valid(const struct cpe_info *t_info, Loading Loading @@ -815,6 +816,20 @@ static bool cpe_mt_process_cmd(struct cpe_command_node *command_node) break; } /* boot was successful */ if (ev_boot->version == CPE_CORE_VERSION_SYSTEM_BOOT_EVENT) { cpe_debug_vector.debug_address = ev_boot->sfr_buff_address; cpe_debug_vector.debug_buffer_size = ev_boot->sfr_buff_size; cpe_debug_vector.status = ev_boot->status; payload.event = CPE_SVC_BOOT; payload.result = CPE_SVC_SUCCESS; payload.payload = (void *)&cpe_debug_vector; cpe_broadcast_notification(t_info, &payload); } t_info->substate = CPE_SS_BOOT_INIT; cpe_send_msg_to_inbox(t_info, NULL); break; Loading
sound/soc/codecs/wcd_cpe_services.h +8 −1 Original line number Diff line number Diff line /* Copyright (c) 2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -40,6 +40,7 @@ enum cpe_svc_event { CPE_SVC_BOOT_FAILED = 0x08, CPE_SVC_READ_COMPLETE = 0x10, CPE_SVC_READ_ERROR = 0x20, CPE_SVC_BOOT = 0x40, CPE_SVC_CMI_CLIENTS_DEREG = 0x100, CPE_SVC_EVENT_ANCHOR = 0x7FFF }; Loading Loading @@ -95,6 +96,12 @@ struct cpe_svc_read_complete { size_t size; }; struct cpe_svc_boot_event { u32 debug_address; size_t debug_buffer_size; u32 status; }; struct cpe_svc_mem_segment { enum cpe_svc_mem_type type; u32 cpe_addr; Loading