162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Tegra host1x Interrupt Management 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2010-2021, NVIDIA Corporation. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __HOST1X_INTR_H 962306a36Sopenharmony_ci#define __HOST1X_INTR_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cistruct host1x; 1262306a36Sopenharmony_cistruct host1x_syncpt_fence; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* Initialize host1x sync point interrupt */ 1562306a36Sopenharmony_ciint host1x_intr_init(struct host1x *host); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* Deinitialize host1x sync point interrupt */ 1862306a36Sopenharmony_civoid host1x_intr_deinit(struct host1x *host); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* Enable host1x sync point interrupt */ 2162306a36Sopenharmony_civoid host1x_intr_start(struct host1x *host); 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci/* Disable host1x sync point interrupt */ 2462306a36Sopenharmony_civoid host1x_intr_stop(struct host1x *host); 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_civoid host1x_intr_handle_interrupt(struct host1x *host, unsigned int id); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_civoid host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_cibool host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#endif 33