root/drivers/misc/mic/cosm/cosm_main.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Intel MIC Platform Software Stack (MPSS)
   4  *
   5  * Copyright(c) 2015 Intel Corporation.
   6  *
   7  * Intel MIC Coprocessor State Management (COSM) Driver
   8  */
   9 #ifndef _COSM_COSM_H_
  10 #define _COSM_COSM_H_
  11 
  12 #include <linux/scif.h>
  13 #include "../bus/cosm_bus.h"
  14 
  15 #define COSM_HEARTBEAT_SEND_SEC 30
  16 #define SCIF_COSM_LISTEN_PORT  201
  17 
  18 /**
  19  * enum COSM msg id's
  20  * @COSM_MSG_SHUTDOWN: host->card trigger shutdown
  21  * @COSM_MSG_SYNC_TIME: host->card send host time to card to sync time
  22  * @COSM_MSG_HEARTBEAT: card->host heartbeat
  23  * @COSM_MSG_SHUTDOWN_STATUS: card->host with shutdown status as payload
  24  */
  25 enum cosm_msg_id {
  26         COSM_MSG_SHUTDOWN,
  27         COSM_MSG_SYNC_TIME,
  28         COSM_MSG_HEARTBEAT,
  29         COSM_MSG_SHUTDOWN_STATUS,
  30 };
  31 
  32 struct cosm_msg {
  33         u64 id;
  34         union {
  35                 u64 shutdown_status;
  36                 struct {
  37                         u64 tv_sec;
  38                         u64 tv_nsec;
  39                 } timespec;
  40         };
  41 };
  42 
  43 extern const char * const cosm_state_string[];
  44 extern const char * const cosm_shutdown_status_string[];
  45 
  46 void cosm_sysfs_init(struct cosm_device *cdev);
  47 int cosm_start(struct cosm_device *cdev);
  48 void cosm_stop(struct cosm_device *cdev, bool force);
  49 int cosm_reset(struct cosm_device *cdev);
  50 int cosm_shutdown(struct cosm_device *cdev);
  51 void cosm_set_state(struct cosm_device *cdev, u8 state);
  52 void cosm_set_shutdown_status(struct cosm_device *cdev, u8 status);
  53 void cosm_init_debugfs(void);
  54 void cosm_exit_debugfs(void);
  55 void cosm_create_debug_dir(struct cosm_device *cdev);
  56 void cosm_delete_debug_dir(struct cosm_device *cdev);
  57 int cosm_scif_init(void);
  58 void cosm_scif_exit(void);
  59 void cosm_scif_work(struct work_struct *work);
  60 
  61 #endif

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