/* SPDX-License-Identifier: GPL-2.0 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2010 - 2015, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope 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. */ #ifndef _IA_CSS_EVENTQ_H #define _IA_CSS_EVENTQ_H #include "ia_css_queue.h" /* queue APIs */ /** * @brief HOST receives event from SP. * * @param[in] eventq_handle eventq_handle. * @param[in] payload The event payload. * @return 0 - Successfully dequeue. * @return -EINVAL - Invalid argument. * @return -ENODATA - Queue is empty. */ int ia_css_eventq_recv( ia_css_queue_t *eventq_handle, uint8_t *payload); /** * @brief The Host sends the event to SP. * The caller of this API will be blocked until the event * is sent. * * @param[in] eventq_handle eventq_handle. * @param[in] evt_id The event ID. * @param[in] evt_payload_0 The event payload. * @param[in] evt_payload_1 The event payload. * @param[in] evt_payload_2 The event payload. * @return 0 - Successfully enqueue. * @return -EINVAL - Invalid argument. * @return -ENOBUFS - Queue is full. */ int ia_css_eventq_send( ia_css_queue_t *eventq_handle, u8 evt_id, u8 evt_payload_0, u8 evt_payload_1, uint8_t evt_payload_2); #endif /* _IA_CSS_EVENTQ_H */