// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ #ifndef __BPMP_TEGRA186_HV_H #define __BPMP_TEGRA186_HV_H struct tegra_bpmp_ops { int (*init)(struct tegra_bpmp *bpmp); void (*deinit)(struct tegra_bpmp *bpmp); bool (*is_response_ready)(struct tegra_bpmp_channel *channel); bool (*is_request_ready)(struct tegra_bpmp_channel *channel); int (*ack_response)(struct tegra_bpmp_channel *channel); int (*ack_request)(struct tegra_bpmp_channel *channel); bool (*is_response_channel_free)(struct tegra_bpmp_channel *channel); bool (*is_request_channel_free)(struct tegra_bpmp_channel *channel); int (*post_response)(struct tegra_bpmp_channel *channel); int (*post_request)(struct tegra_bpmp_channel *channel); int (*ring_doorbell)(struct tegra_bpmp *bpmp); int (*resume)(struct tegra_bpmp *bpmp); }; #endif /* __BPMP_TEGRA186_HV_H */