summaryrefslogtreecommitdiffstats
path: root/src/lib/gpsm_dcm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/gpsm_dcm.h')
-rwxr-xr-xsrc/lib/gpsm_dcm.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/src/lib/gpsm_dcm.h b/src/lib/gpsm_dcm.h
deleted file mode 100755
index 407ddbb..0000000
--- a/src/lib/gpsm_dcm.h
+++ /dev/null
@@ -1,192 +0,0 @@
-#ifndef __GPSM_DCM_H__
-#define __GPSM_DCM_H__
-
-// $Id: gpsm_dcm.h,v 1.2 2014/02/03 01:30:24 daviddu Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/lib/gpsm_dcm.h,v $
-//-----------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2013
-// *! All Rights Reserved -- Property of IBM
-// *! *** IBM Confidential ***
-//-----------------------------------------------------------------------------
-
-/// \file gpsm_dcm.h
-/// \brief PgP Global PState Machine (Mechanism) in Dual Chip Model
-
-#include "pmc_dcm.h"
-
-/// GPSM-DCM Return Code
-#define GPSM_DCM_SUCCESS 0
-#define GPSM_DCM_ARG_INVALID_OBJ_SND 0x00326401 //ssx panic
-#define GPSM_DCM_ARG_INVALID_OBJ_RCV 0x00326402 //ssx panic
-#define GPSM_DCM_ARG_INVALID_OBJ_WRT 0x00326403 //ssx panic
-#define GPSM_DCM_ARG_INVALID_OBJ_RED 0x00326404 //ssx panic
-#define GPSM_DCM_PKT_INVALID_CMD_SND 0x00326405 //ssx panic
-#define GPSM_DCM_PKT_INVALID_CMD_RCV 0x00326406 //ssx panic
-#define GPSM_DCM_CMD_NOT_FROM_MASTER 0x00326407 //ssx panic
-#define GPSM_DCM_CMD_SHOULD_TO_SLAVE 0x00326408 //ssx panic
-#define GPSM_DCM_SEND_PACKET_TIMEOUT 0x00326409 //user handle
-#define GPSM_DCM_RECV_PACKET_TIMEOUT 0x0032640a //user handle
-#define GPSM_DCM_READ_RECV_NOT_WRITE 0x0032640b //ssx panic
-#define GPSM_DCM_READ_NOT_WRITE_DATA 0x0032640c //ssx panic
-#define GPSM_DCM_DAT_BIGGER_THAN_BUF 0x0032640d //user handle
-#define GPSM_DCM_CMD_REPLY_NOT_INT 0x0032640e //ssx panic
-#define GPSM_DCM_SLAVE_TIMEOUT 0x0032640f //user handle
-#define GPSM_DCM_SLAVE_ERROR 0x00326410 //user handle
-
-/// GPSM Interchip Command Code
-#define GPSM_IC_DATA 0 //0b0000
-#define GPSM_IC_WRITE 1 //0b0001
-#define GPSM_IC_ENABLE_PSTATES 2 //0b0010
-#define GPSM_IC_HW_PSTATE_MODE 3 //0b0011
-
-#define GPSM_DCM_NUMBER_OF_COMMANDS 4
-
-/// This is a special command return code returned by gpsm_dcm_slave() when it
-/// times out.
-#define GPSM_IC_NO_COMMAND GPSM_DCM_NUMBER_OF_COMMANDS
-
-
-/// Timeout Parameter
-#define GPSM_DCM_DEFAULT_TIMEOUT SSX_MICROSECONDS(15)
-
-#ifndef __ASSEMBLER__
-
-/// GPSM-DCM abstract packet
-
-typedef struct {
- /// Firmware command
- uint8_t command : 4;
- union {
- /// Used for Pstate-based protocols
- Pstate pstate[2];
- /// Generic byte data
- uint8_t u8[2];
- } payload;
-} GpsmDcmPacket;
-
-/// Data Structure for Fast Write/Read Handlers
-
-typedef struct {
- void* buffer_pointer;
- uint32_t remaining_size;
- SsxSemaphore fast_semaphore;
-} GpsmDcmFastData;
-
-/// Data Structure for Sync Mehotds
-
-
-/// Abstract type of gpsm_dcm_slave() callbacks
-///
-/// The callback receives the (first) master packet of the exchange. The
-/// return code is passed back to the master.
-
-typedef int (*GpsmDcmSlaveCallback)(GpsmDcmPacket* fwPacket);
-
-
-/// Control structure for gpsm_dcm_slave()
-
-typedef struct {
- /// Slave timeout when waiting for next packet to arrive in long commands.
- SsxInterval timeout;
-
- /// Callback called after "Enable Pstates" command
- GpsmDcmSlaveCallback gpsm_dcm_callback_enable_pstates;
-
- /// Callback called after "Enter HW Pstate Mode" command
- GpsmDcmSlaveCallback gpsm_dcm_callback_hw_pstate_mode;
-
- /// Callback for GPSM-DCM write command
- ///
- /// Will be called with the application-supplied buffer and the actual
- /// size of the data transmission.
- int (*write_handler)(void* buffer, uint16_t size, void* arg);
-
- /// Application-supplied buffer for GPSM-DCM write commands
- void* buffer;
-
- /// Size of the application-supplied write buffer
- uint16_t buffer_size;
-
- /// Application-supplied generic argument to the write handler
- void* write_arg;
-
- /// Callback when slave detects timeout from master
- GpsmDcmSlaveCallback timeout_handler;
-
- /// The last command recieved by the slave.
- int command;
-
- /// Return code from gpsm_dcm protocol actions
- int protocol_rc;
-
- /// Return code from slave action in response to master command
- int slave_rc;
-
- /// Return code from the application specific callback, if any.
- int callback_rc;
-
-} GpsmSlaveControl;
-
-////////////////////////////////////////////////////////////////////////////
-// High-level GPSM-DCM Interchip Communication Methods
-////////////////////////////////////////////////////////////////////////////
-
-int
-gpsm_dcm_send(GpsmDcmPacket* fwPacket);
-
-
-
-int
-gpsm_dcm_receive(GpsmDcmPacket* fwPacket,
- SsxInterval timeout_period);
-
-
-////////////////////////////////////////////////////////////////////////////
-// Generic Data Communication using GPSM-DCM 'write' command
-////////////////////////////////////////////////////////////////////////////
-
-int
-gpsm_dcm_write(void* buf,
- uint16_t size,
- SsxInterval timeout_period);
-
-
-int
-gpsm_dcm_read(void* buf,
- uint16_t buf_size,
- uint16_t* data_size,
- SsxInterval timeout_period);
-
-////////////////////////////////////////////////////////////////////////////
-// Fast Interrrupt Handlers for Data Transfer of GPSM-DCM 'write' command
-////////////////////////////////////////////////////////////////////////////
-
-SSX_IRQ_HANDLER(gpsm_dcm_fast_write);
-SSX_IRQ_HANDLER(gpsm_dcm_fast_read);
-
-////////////////////////////////////////////////////////////////////////////
-// Generic Synchronization Mechanism using GPSM-DCM 'write' command
-////////////////////////////////////////////////////////////////////////////
-
-int
-gpsm_dcm_sync(int state);
-
-////////////////////////////////////////////////////////////////////////////
-// The Control Method for Slave Thread
-////////////////////////////////////////////////////////////////////////////
-
-int
-gpsm_dcm_slave(GpsmSlaveControl *control,
- SsxInterval wait);
-
-
-////////////////////////////////////////////////////////////////////////////
-// The Command Method for Master Thread
-////////////////////////////////////////////////////////////////////////////
-
-int
-gpsm_dcm_master(GpsmDcmPacket* fwPacket, int* slaveRc);
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* __GPSM_DCM_H__ */
OpenPOWER on IntegriCloud