blob: 5064738c479c67a9addee786977ce9f155261cff [file] [log] [blame]
/*
* Copyright (c) 2018 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef __EXYNOS_BCM_DBG_DUMP_H_
#define __EXYNOS_BCM_DBG_DUMP_H_
/* BCM DUMP format definition */
#define BCM_DUMP_PRE_DEFINE_SHIFT (16)
#define BCM_DUMP_MAX_STR (4 * 1024)
struct exynos_bcm_out_data {
u32 ccnt;
u32 pmcnt[BCM_EVT_EVENT_MAX];
};
struct exynos_bcm_dump_info {
/*
* dump_header:
* [31] = dump validation
* [18:16] = pre-defined event index
* [5:0] = BCM IP index
*/
u32 dump_header;
u32 dump_seq_no;
u32 dump_time;
struct exynos_bcm_out_data out_data;
} __attribute__((packed));
#ifdef CONFIG_EXYNOS_BCM_DBG_DUMP
int exynos_bcm_dbg_buffer_dump(struct exynos_bcm_dbg_data *data, bool klog);
#else
#define exynos_bcm_dbg_buffer_dump(a, b) do {} while (0)
#endif
#endif /* __EXYNOS_BCM_DBG_DUMP_H_ */