73 lines
3.3 KiB
C
73 lines
3.3 KiB
C
|
/* Copyright (c) 2008-2009, 2012-2014, 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
|
||
|
* only version 2 as published by the Free Software Foundation.
|
||
|
*
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include <linux/types.h>
|
||
|
|
||
|
/* Event indentifier format:
|
||
|
* bit 31-28 is processor ID 8 => apps, 4 => Q6, 0 => modem
|
||
|
* bits 27-16 are subsystem id (event base)
|
||
|
* bits 15-0 are event id
|
||
|
*/
|
||
|
|
||
|
#define PROC 0xF0000000
|
||
|
#define SUB 0x0FFF0000
|
||
|
#define ID 0x0000FFFF
|
||
|
|
||
|
#define SMEM_LOG_PROC_ID_MODEM 0x00000000
|
||
|
#define SMEM_LOG_PROC_ID_Q6 0x40000000
|
||
|
#define SMEM_LOG_PROC_ID_APPS 0x80000000
|
||
|
#define SMEM_LOG_PROC_ID_WCNSS 0xC0000000
|
||
|
|
||
|
#define SMEM_LOG_CONT 0x10000000
|
||
|
|
||
|
#define SMEM_LOG_SMEM_EVENT_BASE 0x00020000
|
||
|
#define SMEM_LOG_ERROR_EVENT_BASE 0x00060000
|
||
|
#define SMEM_LOG_IPC_ROUTER_EVENT_BASE 0x000D0000
|
||
|
#define SMEM_LOG_QMI_CCI_EVENT_BASE 0x000E0000
|
||
|
#define SMEM_LOG_QMI_CSI_EVENT_BASE 0x000F0000
|
||
|
#define ERR_ERROR_FATAL (SMEM_LOG_ERROR_EVENT_BASE + 1)
|
||
|
#define ERR_ERROR_FATAL_TASK (SMEM_LOG_ERROR_EVENT_BASE + 2)
|
||
|
#define SMEM_LOG_EVENT_CB (SMEM_LOG_SMEM_EVENT_BASE + 0)
|
||
|
#define SMEM_LOG_EVENT_START (SMEM_LOG_SMEM_EVENT_BASE + 1)
|
||
|
#define SMEM_LOG_EVENT_INIT (SMEM_LOG_SMEM_EVENT_BASE + 2)
|
||
|
#define SMEM_LOG_EVENT_RUNNING (SMEM_LOG_SMEM_EVENT_BASE + 3)
|
||
|
#define SMEM_LOG_EVENT_STOP (SMEM_LOG_SMEM_EVENT_BASE + 4)
|
||
|
#define SMEM_LOG_EVENT_RESTART (SMEM_LOG_SMEM_EVENT_BASE + 5)
|
||
|
#define SMEM_LOG_EVENT_SS (SMEM_LOG_SMEM_EVENT_BASE + 6)
|
||
|
#define SMEM_LOG_EVENT_READ (SMEM_LOG_SMEM_EVENT_BASE + 7)
|
||
|
#define SMEM_LOG_EVENT_WRITE (SMEM_LOG_SMEM_EVENT_BASE + 8)
|
||
|
#define SMEM_LOG_EVENT_SIGS1 (SMEM_LOG_SMEM_EVENT_BASE + 9)
|
||
|
#define SMEM_LOG_EVENT_SIGS2 (SMEM_LOG_SMEM_EVENT_BASE + 10)
|
||
|
#define SMEM_LOG_EVENT_WRITE_DM (SMEM_LOG_SMEM_EVENT_BASE + 11)
|
||
|
#define SMEM_LOG_EVENT_READ_DM (SMEM_LOG_SMEM_EVENT_BASE + 12)
|
||
|
#define SMEM_LOG_EVENT_SKIP_DM (SMEM_LOG_SMEM_EVENT_BASE + 13)
|
||
|
#define SMEM_LOG_EVENT_STOP_DM (SMEM_LOG_SMEM_EVENT_BASE + 14)
|
||
|
#define SMEM_LOG_EVENT_ISR (SMEM_LOG_SMEM_EVENT_BASE + 15)
|
||
|
#define SMEM_LOG_EVENT_TASK (SMEM_LOG_SMEM_EVENT_BASE + 16)
|
||
|
#define SMEM_LOG_EVENT_RS (SMEM_LOG_SMEM_EVENT_BASE + 17)
|
||
|
|
||
|
#ifdef CONFIG_MSM_SMEM_LOGGING
|
||
|
void smem_log_event(uint32_t id, uint32_t data1, uint32_t data2,
|
||
|
uint32_t data3);
|
||
|
void smem_log_event6(uint32_t id, uint32_t data1, uint32_t data2,
|
||
|
uint32_t data3, uint32_t data4, uint32_t data5,
|
||
|
uint32_t data6);
|
||
|
#else
|
||
|
void smem_log_event(uint32_t id, uint32_t data1, uint32_t data2,
|
||
|
uint32_t data3) { }
|
||
|
void smem_log_event6(uint32_t id, uint32_t data1, uint32_t data2,
|
||
|
uint32_t data3, uint32_t data4, uint32_t data5,
|
||
|
uint32_t data6) { }
|
||
|
#endif
|
||
|
|