root/drivers/firmware/tegra/bpmp-private.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright (c) 2018, NVIDIA CORPORATION.
   4  */
   5 
   6 #ifndef __FIRMWARE_TEGRA_BPMP_PRIVATE_H
   7 #define __FIRMWARE_TEGRA_BPMP_PRIVATE_H
   8 
   9 #include <soc/tegra/bpmp.h>
  10 
  11 struct tegra_bpmp_ops {
  12         int (*init)(struct tegra_bpmp *bpmp);
  13         void (*deinit)(struct tegra_bpmp *bpmp);
  14         bool (*is_response_ready)(struct tegra_bpmp_channel *channel);
  15         bool (*is_request_ready)(struct tegra_bpmp_channel *channel);
  16         int (*ack_response)(struct tegra_bpmp_channel *channel);
  17         int (*ack_request)(struct tegra_bpmp_channel *channel);
  18         bool (*is_response_channel_free)(struct tegra_bpmp_channel *channel);
  19         bool (*is_request_channel_free)(struct tegra_bpmp_channel *channel);
  20         int (*post_response)(struct tegra_bpmp_channel *channel);
  21         int (*post_request)(struct tegra_bpmp_channel *channel);
  22         int (*ring_doorbell)(struct tegra_bpmp *bpmp);
  23         int (*resume)(struct tegra_bpmp *bpmp);
  24 };
  25 
  26 #if IS_ENABLED(CONFIG_ARCH_TEGRA_186_SOC) || \
  27     IS_ENABLED(CONFIG_ARCH_TEGRA_194_SOC)
  28 extern const struct tegra_bpmp_ops tegra186_bpmp_ops;
  29 #endif
  30 #if IS_ENABLED(CONFIG_ARCH_TEGRA_210_SOC)
  31 extern const struct tegra_bpmp_ops tegra210_bpmp_ops;
  32 #endif
  33 
  34 #endif

/* [<][>][^][v][top][bottom][index][help] */