/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* Copyright (c) 2015-2022 Graphcore Ltd. */ /* * IPU device driver. * * Description: Character device handling. */ #ifndef _chrdev_h_ #define _chrdev_h_ #include "ipu_driver.h" int ipu_chrdev_init(struct ipu_device *ipu_dev); void ipu_chrdev_exit(struct ipu_device *ipu_dev); bool check_spb_supported(struct ipu_device *ipu_dev); void spb_error_pkt_count_update_unsafe(struct ipu_device *ipu_dev); int icu_mailbox_transaction(struct ipu_device *ipu_dev, u32 mailbox[MBOX_MSG_SIZE_WORDS], u32 *result, size_t result_nbytes); void icu_read_ipu_die_temps(struct ipu_device *ipu_dev); void icu_read_board_temps(struct ipu_device *ipu_dev); void icu_read_ipu_power(struct ipu_device *ipu_dev); bool is_nlc_link_up(struct ipu_device *ipu_dev, u32 nlc_base); void icu_read_fw_version(struct ipu_device *ipu_dev); void icu_read_bootloader_version(struct ipu_device *ipu_dev); #endif