Changeset View
Changeset View
Standalone View
Standalone View
sys/contrib/vchiq/interface/vchiq_arm/vchiq_core.h
| Show First 20 Lines • Show All 178 Lines • ▼ Show 20 Lines | #if VCHIQ_ENABLE_DEBUG | ||||
| DEBUG_COMPLETION_QUEUE_FULL_COUNT, | DEBUG_COMPLETION_QUEUE_FULL_COUNT, | ||||
| #endif | #endif | ||||
| DEBUG_MAX | DEBUG_MAX | ||||
| }; | }; | ||||
| #if VCHIQ_ENABLE_DEBUG | #if VCHIQ_ENABLE_DEBUG | ||||
| #define DEBUG_INITIALISE(local) int *debug_ptr = (local)->debug; | #define DEBUG_INITIALISE(local) int *debug_ptr = (local)->debug; | ||||
| #if defined(__aarch64__) | |||||
| #define DEBUG_TRACE(d) \ | #define DEBUG_TRACE(d) \ | ||||
| do { debug_ptr[DEBUG_ ## d] = __LINE__; dsb(sy); } while (0) | |||||
| #define DEBUG_VALUE(d, v) \ | |||||
| do { debug_ptr[DEBUG_ ## d] = (v); dsb(sy); } while (0) | |||||
| #define DEBUG_COUNT(d) \ | |||||
| do { debug_ptr[DEBUG_ ## d]++; dsb(sy); } while (0) | |||||
| #else | |||||
| #define DEBUG_TRACE(d) \ | |||||
| do { debug_ptr[DEBUG_ ## d] = __LINE__; dsb(); } while (0) | do { debug_ptr[DEBUG_ ## d] = __LINE__; dsb(); } while (0) | ||||
| #define DEBUG_VALUE(d, v) \ | #define DEBUG_VALUE(d, v) \ | ||||
| do { debug_ptr[DEBUG_ ## d] = (v); dsb(); } while (0) | do { debug_ptr[DEBUG_ ## d] = (v); dsb(); } while (0) | ||||
| #define DEBUG_COUNT(d) \ | #define DEBUG_COUNT(d) \ | ||||
| do { debug_ptr[DEBUG_ ## d]++; dsb(); } while (0) | do { debug_ptr[DEBUG_ ## d]++; dsb(); } while (0) | ||||
| #endif | |||||
| #else /* VCHIQ_ENABLE_DEBUG */ | #else /* VCHIQ_ENABLE_DEBUG */ | ||||
| #define DEBUG_INITIALISE(local) | #define DEBUG_INITIALISE(local) | ||||
| #define DEBUG_TRACE(d) | #define DEBUG_TRACE(d) | ||||
| #define DEBUG_VALUE(d, v) | #define DEBUG_VALUE(d, v) | ||||
| #define DEBUG_COUNT(d) | #define DEBUG_COUNT(d) | ||||
| ▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | typedef struct vchiq_bulk_queue_struct { | ||||
| int remove; /* Bulk to notify the local client of, and remove, | int remove; /* Bulk to notify the local client of, and remove, | ||||
| ** next */ | ** next */ | ||||
| VCHIQ_BULK_T bulks[VCHIQ_NUM_SERVICE_BULKS]; | VCHIQ_BULK_T bulks[VCHIQ_NUM_SERVICE_BULKS]; | ||||
| } VCHIQ_BULK_QUEUE_T; | } VCHIQ_BULK_QUEUE_T; | ||||
| typedef struct remote_event_struct { | typedef struct remote_event_struct { | ||||
| int armed; | int armed; | ||||
| int fired; | int fired; | ||||
| struct semaphore *event; | uint32_t event; | ||||
| } REMOTE_EVENT_T; | } REMOTE_EVENT_T; | ||||
| typedef struct opaque_platform_state_t *VCHIQ_PLATFORM_STATE_T; | typedef struct opaque_platform_state_t *VCHIQ_PLATFORM_STATE_T; | ||||
| typedef struct vchiq_state_struct VCHIQ_STATE_T; | typedef struct vchiq_state_struct VCHIQ_STATE_T; | ||||
| typedef struct vchiq_slot_struct { | typedef struct vchiq_slot_struct { | ||||
| char data[VCHIQ_SLOT_SIZE]; | char data[VCHIQ_SLOT_SIZE]; | ||||
| ▲ Show 20 Lines • Show All 440 Lines • Show Last 20 Lines | |||||