1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu * Copyright (C) 2012-2014 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 185c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_HAL_TARGET_H 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_HAL_TARGET_H 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef BUILDCFG 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "buildcfg_hal.h" 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "data_types.h" 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Define export prefixes for modules exported by HAL */ 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_API 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_API 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef UDRV_API 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UDRV_API 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef EXPORT_API 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define EXPORT_API 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Task configuration 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Definitions of task IDs for inter-task messaging */ 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_HAL_TASK 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_HAL_TASK 0 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The number of GKI tasks in the software system. */ 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MAX_TASKS 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MAX_TASKS 1 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 585c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 595c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/****************************************************************************** 605c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** 615c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Buffer pool assignment 625c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** 635c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen******************************************************************************/ 645c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/* GKI pool for NCI messages */ 665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFC_HAL_NCI_POOL_ID 675c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFC_HAL_NCI_POOL_ID GKI_POOL_ID_1 685c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 695c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 705c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFC_HAL_NCI_POOL_BUF_SIZE 715c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFC_HAL_NCI_POOL_BUF_SIZE GKI_BUF1_SIZE 725c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 735c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 745c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Timer configuration 78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The number of GKI timers in the software system. */ 82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_NUM_TIMERS 83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_NUM_TIMERS 2 84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* A conversion value for translating ticks to calculate GKI timer. */ 87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef TICKS_PER_SEC 88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define TICKS_PER_SEC 100 89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/************************************************************************ 92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Utility macros converting ticks to time with user define OS ticks per sec 93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**/ 94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MS_TO_TICKS 95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MS_TO_TICKS(x) ((x) / (1000 / TICKS_PER_SEC)) 96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_SECS_TO_TICKS 99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_SECS_TO_TICKS(x) ((x) * (TICKS_PER_SEC)) 100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_TICKS_TO_MS 103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TICKS_TO_MS(x) ((x) * 1000 / TICKS_PER_SEC) 104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_TICKS_TO_SECS 107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TICKS_TO_SECS(x) ((x) / TICKS_PER_SEC) 108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* TICK per second from OS (OS dependent change this macro accordingly to various OS) */ 113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef OS_TICKS_PER_SEC 114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define OS_TICKS_PER_SEC 1000 115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/************************************************************************ 118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Utility macros converting ticks to time with user define OS ticks per sec 119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project**/ 120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_OS_TICKS_TO_MS 122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_OS_TICKS_TO_MS(x) ((x) * 1000 / OS_TICKS_PER_SEC) 123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_OS_TICKS_TO_SECS 127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_OS_TICKS_TO_SECS(x) ((x) / OS_TICKS_PER_SEC)) 128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* delay in ticks before stopping system tick. */ 132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_DELAY_STOP_SYS_TICK 133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_DELAY_STOP_SYS_TICK 10 134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Option to guarantee no preemption during timer expiration (most system don't need this) */ 137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_TIMER_LIST_NOPREEMPT 138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TIMER_LIST_NOPREEMPT FALSE 139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Buffer configuration 144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* TRUE if GKI uses dynamic buffers. */ 148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_USE_DYNAMIC_BUFFERS 149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_USE_DYNAMIC_BUFFERS FALSE 150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The size of the buffers in pool 0. */ 153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_BUF0_SIZE 154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_BUF0_SIZE 64 155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The number of buffers in buffer pool 0. */ 158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_BUF0_MAX 159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_BUF0_MAX 8 160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The ID of buffer pool 0. */ 163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_POOL_ID_0 164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_POOL_ID_0 0 165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The size of the buffers in pool 1. */ 168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_BUF1_SIZE 169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_BUF1_SIZE 288 170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The number of buffers in buffer pool 1. */ 173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_BUF1_MAX 174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_BUF1_MAX 8 175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The ID of buffer pool 1. */ 178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_POOL_ID_1 179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_POOL_ID_1 1 180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The size of the largest PUBLIC fixed buffer in system. */ 183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MAX_BUF_SIZE 184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MAX_BUF_SIZE GKI_BUF1_SIZE 185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The pool ID of the largest PUBLIC fixed buffer in system. */ 188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MAX_BUF_SIZE_POOL_ID 189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MAX_BUF_SIZE_POOL_ID GKI_POOL_ID_1 190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* buffer size for USERIAL, it must large enough to hold NFC_HDR and max packet size */ 193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef USERIAL_POOL_BUF_SIZE 194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_POOL_BUF_SIZE GKI_BUF1_SIZE 195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* buffer pool ID for USERIAL */ 198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef USERIAL_POOL_ID 199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define USERIAL_POOL_ID GKI_POOL_ID_1 200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_NUM_FIXED_BUF_POOLS 203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_NUM_FIXED_BUF_POOLS 2 204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The number of fixed and dynamic buffer pools */ 207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_NUM_TOTAL_BUF_POOLS 208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_NUM_TOTAL_BUF_POOLS 2 209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The buffer pool usage mask. */ 212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_DEF_BUFPOOL_PERM_MASK 213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_DEF_BUFPOOL_PERM_MASK 0xfff0 214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The buffer corruption check flag. */ 217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_ENABLE_BUF_CORRUPTION_CHECK 218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_ENABLE_BUF_CORRUPTION_CHECK TRUE 219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* The GKI severe error macro. */ 222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_SEVERE 223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_SEVERE(code) 224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* TRUE if GKI includes debug functionality. */ 227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_DEBUG 228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_DEBUG FALSE 229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of exceptions logged. */ 232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MAX_EXCEPTION 233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MAX_EXCEPTION 8 234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of chars stored for each exception message. */ 237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_MAX_EXCEPTION_MSGLEN 238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_MAX_EXCEPTION_MSGLEN 64 239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef GKI_SEND_MSG_FROM_ISR 242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_SEND_MSG_FROM_ISR FALSE 243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 2465c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#if defined(GKI_DEBUG) && (GKI_DEBUG == TRUE) 2475c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifdef LOG_TAG 2485c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#undef LOG_TAG 2495c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 2505c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define LOG_TAG "GKI_LINUX" 251e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI Trace Macros */ 252e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_0(m) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m) 253e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_1(m,p1) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1) 254e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_2(m,p1,p2) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1,p2) 255e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_3(m,p1,p2,p3) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1,p2,p3) 256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_4(m,p1,p2,p3,p4) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1,p2,p3,p4) 257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_5(m,p1,p2,p3,p4,p5) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1,p2,p3,p4,p5) 258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_6(m,p1,p2,p3,p4,p5,p6) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_GENERIC,m,p1,p2,p3,p4,p5,p6) 2595c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#else 2605c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_0(m) 2615c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_1(m,p1) 2625c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_2(m,p1,p2) 2635c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_3(m,p1,p2,p3) 2645c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_4(m,p1,p2,p3,p4) 2655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_5(m,p1,p2,p3,p4,p5) 2665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define GKI_TRACE_6(m,p1,p2,p3,p4,p5,p6) 2675c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 2685c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_0(m) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m) 271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_1(m,p1) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1) 272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_2(m,p1,p2) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1,p2) 273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_3(m,p1,p2,p3) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1,p2,p3) 274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_4(m,p1,p2,p3,p4) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1,p2,p3,p4) 275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_5(m,p1,p2,p3,p4,p5) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1,p2,p3,p4,p5) 276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define GKI_TRACE_ERROR_6(m,p1,p2,p3,p4,p5,p6) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_GKI | TRACE_ORG_GKI | TRACE_TYPE_ERROR,m,p1,p2,p3,p4,p5,p6) 277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 278e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" 280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern void LogMsg (UINT32 trace_set_mask, const char *fmt_str, ...); 284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} 287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* GKI_TARGET_H */ 290