1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- * Intel MIC Platform Software Stack (MPSS)
- *
- * Copyright(c) 2015 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * The full GNU General Public License is included in this distribution in
- * the file called "COPYING".
- *
- * Intel MIC Coprocessor State Management (COSM) Driver
- *
- */
- #ifndef _COSM_COSM_H_
- #define _COSM_COSM_H_
- #include <linux/scif.h>
- #include "../bus/cosm_bus.h"
- #define COSM_HEARTBEAT_SEND_SEC 30
- #define SCIF_COSM_LISTEN_PORT 201
- /**
- * enum COSM msg id's
- * @COSM_MSG_SHUTDOWN: host->card trigger shutdown
- * @COSM_MSG_SYNC_TIME: host->card send host time to card to sync time
- * @COSM_MSG_HEARTBEAT: card->host heartbeat
- * @COSM_MSG_SHUTDOWN_STATUS: card->host with shutdown status as payload
- */
- enum cosm_msg_id {
- COSM_MSG_SHUTDOWN,
- COSM_MSG_SYNC_TIME,
- COSM_MSG_HEARTBEAT,
- COSM_MSG_SHUTDOWN_STATUS,
- };
- struct cosm_msg {
- u64 id;
- union {
- u64 shutdown_status;
- struct timespec64 timespec;
- };
- };
- extern const char * const cosm_state_string[];
- extern const char * const cosm_shutdown_status_string[];
- void cosm_sysfs_init(struct cosm_device *cdev);
- int cosm_start(struct cosm_device *cdev);
- void cosm_stop(struct cosm_device *cdev, bool force);
- int cosm_reset(struct cosm_device *cdev);
- int cosm_shutdown(struct cosm_device *cdev);
- void cosm_set_state(struct cosm_device *cdev, u8 state);
- void cosm_set_shutdown_status(struct cosm_device *cdev, u8 status);
- void cosm_init_debugfs(void);
- void cosm_exit_debugfs(void);
- void cosm_create_debug_dir(struct cosm_device *cdev);
- void cosm_delete_debug_dir(struct cosm_device *cdev);
- int cosm_scif_init(void);
- void cosm_scif_exit(void);
- void cosm_scif_work(struct work_struct *work);
- #endif
|