14562236bSHarry Wentland /* 24562236bSHarry Wentland * Copyright 2012-15 Advanced Micro Devices, Inc. 34562236bSHarry Wentland * 44562236bSHarry Wentland * Permission is hereby granted, free of charge, to any person obtaining a 54562236bSHarry Wentland * copy of this software and associated documentation files (the "Software"), 64562236bSHarry Wentland * to deal in the Software without restriction, including without limitation 74562236bSHarry Wentland * the rights to use, copy, modify, merge, publish, distribute, sublicense, 84562236bSHarry Wentland * and/or sell copies of the Software, and to permit persons to whom the 94562236bSHarry Wentland * Software is furnished to do so, subject to the following conditions: 104562236bSHarry Wentland * 114562236bSHarry Wentland * The above copyright notice and this permission notice shall be included in 124562236bSHarry Wentland * all copies or substantial portions of the Software. 134562236bSHarry Wentland * 144562236bSHarry Wentland * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 154562236bSHarry Wentland * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 164562236bSHarry Wentland * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 174562236bSHarry Wentland * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 184562236bSHarry Wentland * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 194562236bSHarry Wentland * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 204562236bSHarry Wentland * OTHER DEALINGS IN THE SOFTWARE. 214562236bSHarry Wentland * 224562236bSHarry Wentland * Authors: AMD 234562236bSHarry Wentland * 244562236bSHarry Wentland */ 254562236bSHarry Wentland 264562236bSHarry Wentland #ifndef __DAL_IRQ_SERVICE_INTERFACE_H__ 274562236bSHarry Wentland #define __DAL_IRQ_SERVICE_INTERFACE_H__ 284562236bSHarry Wentland 294562236bSHarry Wentland struct irq_service_init_data { 304562236bSHarry Wentland struct dc_context *ctx; 314562236bSHarry Wentland }; 324562236bSHarry Wentland 334562236bSHarry Wentland struct irq_service; 344562236bSHarry Wentland 354562236bSHarry Wentland void dal_irq_service_destroy(struct irq_service **irq_service); 364562236bSHarry Wentland 374562236bSHarry Wentland bool dal_irq_service_set( 384562236bSHarry Wentland struct irq_service *irq_service, 394562236bSHarry Wentland enum dc_irq_source source, 404562236bSHarry Wentland bool enable); 414562236bSHarry Wentland 424562236bSHarry Wentland bool dal_irq_service_ack( 434562236bSHarry Wentland struct irq_service *irq_service, 444562236bSHarry Wentland enum dc_irq_source source); 454562236bSHarry Wentland 464562236bSHarry Wentland enum dc_irq_source dal_irq_service_to_irq_source( 474562236bSHarry Wentland struct irq_service *irq_service, 484562236bSHarry Wentland uint32_t src_id, 494562236bSHarry Wentland uint32_t ext_id); 504562236bSHarry Wentland 514562236bSHarry Wentland #endif 52