Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ipmi_kcs_sm.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/string.h>
#include <linux/jiffies.h>
#include <linux/ipmi_msgdefs.h>
#include "ipmi_si_sm.h"

Go to the source code of this file.

Data Structures

struct  si_sm_data
 

Macros

#define KCS_DEBUG_STATES   4
 
#define KCS_DEBUG_MSG   2
 
#define KCS_DEBUG_ENABLE   1
 
#define MAX_KCS_READ_SIZE   IPMI_MAX_MSG_LENGTH
 
#define MAX_KCS_WRITE_SIZE   IPMI_MAX_MSG_LENGTH
 
#define IBF_RETRY_TIMEOUT   5000000
 
#define OBF_RETRY_TIMEOUT   5000000
 
#define MAX_ERROR_RETRIES   10
 
#define ERROR0_OBF_WAIT_JIFFIES   (2*HZ)
 
#define KCS_GET_STATUS_ABORT   0x60
 
#define KCS_WRITE_START   0x61
 
#define KCS_WRITE_END   0x62
 
#define KCS_READ_BYTE   0x68
 
#define GET_STATUS_STATE(status)   (((status) >> 6) & 0x03)
 
#define KCS_IDLE_STATE   0
 
#define KCS_READ_STATE   1
 
#define KCS_WRITE_STATE   2
 
#define KCS_ERROR_STATE   3
 
#define GET_STATUS_ATN(status)   ((status) & 0x04)
 
#define GET_STATUS_IBF(status)   ((status) & 0x02)
 
#define GET_STATUS_OBF(status)   ((status) & 0x01)
 

Enumerations

enum  kcs_states {
  KCS_IDLE, KCS_START_OP, KCS_WAIT_WRITE_START, KCS_WAIT_WRITE,
  KCS_WAIT_WRITE_END, KCS_WAIT_READ, KCS_ERROR0, KCS_ERROR1,
  KCS_ERROR2, KCS_ERROR3, KCS_HOSED
}
 

Functions

 module_param (kcs_debug, int, 0644)
 
 MODULE_PARM_DESC (kcs_debug,"debug bitmask, 1=enable, 2=messages, 4=states")
 

Variables

struct si_sm_handlers kcs_smi_handlers
 

Macro Definition Documentation

#define ERROR0_OBF_WAIT_JIFFIES   (2*HZ)

Definition at line 124 of file ipmi_kcs_sm.c.

#define GET_STATUS_ATN (   status)    ((status) & 0x04)

Definition at line 193 of file ipmi_kcs_sm.c.

#define GET_STATUS_IBF (   status)    ((status) & 0x02)

Definition at line 194 of file ipmi_kcs_sm.c.

#define GET_STATUS_OBF (   status)    ((status) & 0x01)

Definition at line 195 of file ipmi_kcs_sm.c.

#define GET_STATUS_STATE (   status)    (((status) >> 6) & 0x03)

Definition at line 188 of file ipmi_kcs_sm.c.

#define IBF_RETRY_TIMEOUT   5000000

Definition at line 121 of file ipmi_kcs_sm.c.

#define KCS_DEBUG_ENABLE   1

Definition at line 55 of file ipmi_kcs_sm.c.

#define KCS_DEBUG_MSG   2

Definition at line 54 of file ipmi_kcs_sm.c.

#define KCS_DEBUG_STATES   4

Definition at line 53 of file ipmi_kcs_sm.c.

#define KCS_ERROR_STATE   3

Definition at line 192 of file ipmi_kcs_sm.c.

#define KCS_GET_STATUS_ABORT   0x60

Definition at line 182 of file ipmi_kcs_sm.c.

#define KCS_IDLE_STATE   0

Definition at line 189 of file ipmi_kcs_sm.c.

#define KCS_READ_BYTE   0x68

Definition at line 185 of file ipmi_kcs_sm.c.

#define KCS_READ_STATE   1

Definition at line 190 of file ipmi_kcs_sm.c.

#define KCS_WRITE_END   0x62

Definition at line 184 of file ipmi_kcs_sm.c.

#define KCS_WRITE_START   0x61

Definition at line 183 of file ipmi_kcs_sm.c.

#define KCS_WRITE_STATE   2

Definition at line 191 of file ipmi_kcs_sm.c.

#define MAX_ERROR_RETRIES   10

Definition at line 123 of file ipmi_kcs_sm.c.

#define MAX_KCS_READ_SIZE   IPMI_MAX_MSG_LENGTH

Definition at line 117 of file ipmi_kcs_sm.c.

#define MAX_KCS_WRITE_SIZE   IPMI_MAX_MSG_LENGTH

Definition at line 118 of file ipmi_kcs_sm.c.

#define OBF_RETRY_TIMEOUT   5000000

Definition at line 122 of file ipmi_kcs_sm.c.

Enumeration Type Documentation

enum kcs_states
Enumerator:
KCS_IDLE 
KCS_START_OP 
KCS_WAIT_WRITE_START 
KCS_WAIT_WRITE 
KCS_WAIT_WRITE_END 
KCS_WAIT_READ 
KCS_ERROR0 
KCS_ERROR1 
KCS_ERROR2 
KCS_ERROR3 
KCS_HOSED 

Definition at line 62 of file ipmi_kcs_sm.c.

Function Documentation

module_param ( kcs_debug  ,
int  ,
0644   
)
MODULE_PARM_DESC ( kcs_debug  ,
"debug  bitmask,
= enable,
= messages 
)

Variable Documentation

struct si_sm_handlers kcs_smi_handlers
Initial value:
= {
.init_data = init_kcs_data,
.start_transaction = start_kcs_transaction,
.get_result = get_kcs_result,
.event = kcs_event,
.detect = kcs_detect,
.cleanup = kcs_cleanup,
.size = kcs_size,
}

Definition at line 542 of file ipmi_kcs_sm.c.