/** @brief process a MEMORY command from CP @param mld the pointer to a mem_link_device instance @param cmd the MEMORY command from CP */ void mem_cmd_handler(struct mem_link_device *mld, u16 cmd) { struct link_device *ld = &mld->link_dev; switch (cmd) { #ifdef CONFIG_LINK_DEVICE_WITH_SBD_ARCH case CMD_INIT_START: cmd_init_start_handler(mld); break; #endif case CMD_PHONE_START: cmd_phone_start_handler(mld); break; case CMD_CRASH_RESET: cmd_crash_reset_handler(mld); break; case CMD_CRASH_EXIT: cmd_crash_exit_handler(mld); break; default: mif_err("%s: Unknown command 0x%04X\n", ld->name, cmd); break; } }
static void command_handler(struct dpram_link_device *dpld, u16 cmd) { struct link_device *ld = &dpld->ld; switch (INT_CMD_MASK(cmd)) { case INT_CMD_REQ_ACTIVE: cmd_req_active_handler(dpld); break; case INT_CMD_CRASH_RESET: dpld->dpram_init_status = DPRAM_INIT_STATE_NONE; cmd_crash_reset_handler(dpld); break; case INT_CMD_CRASH_EXIT: dpld->dpram_init_status = DPRAM_INIT_STATE_NONE; cmd_crash_exit_handler(dpld); break; case INT_CMD_PHONE_START: dpld->dpram_init_status = DPRAM_INIT_STATE_READY; cmd_phone_start_handler(dpld); complete_all(&dpld->dpram_init_cmd); break; case INT_CMD_NV_REBUILDING: mif_info("%s: NV_REBUILDING\n", ld->name); break; case INT_CMD_PIF_INIT_DONE: complete_all(&dpld->modem_pif_init_done); break; case INT_CMD_SILENT_NV_REBUILDING: mif_info("%s: SILENT_NV_REBUILDING\n", ld->name); break; case INT_CMD_NORMAL_PWR_OFF: /*ToDo:*/ /*kernel_sec_set_cp_ack()*/; break; case INT_CMD_REQ_TIME_SYNC: case INT_CMD_CP_DEEP_SLEEP: case INT_CMD_EMER_DOWN: break; default: mif_info("%s: unknown command 0x%04X\n", ld->name, cmd); } }