📄 hfctlpmclow.c
字号:
/****************************************************************
Module: HFCtlPmcLow.c
Author:
Description: lower function for access to HFCtl PMC card
****************************************************************/
/* Included Files */
#include <vxWorks.h>
#include <iv.h>
#include <ioLib.h>
#include <iosLib.h>
#include <intLib.h>
#include <errnoLib.h>
#include <smObjLib.h>
#include <semLib.h>
#include <sysLib.h>
#include <stdlib.h>
#include <stdio.h>
#include "../../../include/drv/hF1394Pmc/hFCtlPmc.h"
#include "../../../include/drv/hF1394Pmc/HFCtlPmcLow.h"
#include "../../../include/drv/hF1394Pmc/plx9656.h"
/* define some macro */
/* Global Variables */
/* Forward Declaration */
/******************************************************************************
TITLE: HFCtlPmcRead
DESC: routine to read dada from HFCTL PMC card
PARAM: fd - file descriptor
data - pointer to the data buffer
count - number of longwords to read
RETURN: numRead - number of longwords read
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcRead(int fd, int *data, int count)
{
int numRead;
numRead = read(fd, (char*)data, count*4);
return(numRead/4);
}
/******************************************************************************
TITLE: HFCtlPmcWrite
DESC: routine to write data to HFCTL PMC card
PARAM: fd - file descriptor
data - pointer to the data buffer
count - number of longwords to read
RETURN: count - number of longwords to write
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcWrite(int fd, int *data, int count)
{
if (write(fd, (char*)data, count*4) != (count*4))
{
return(ERROR);
}
else
{
return(count);
}
}
/******************************************************************************
TITLE: HFCtlPmcSetMemSpc2LSpc0
DESC: routine to Set Memory space to Local Memory Space 0 for HFCTL PMC card
PARAM: fd - file descriptor
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
STATUS HFCtlPmcSetMemSpc2LSpc0(int fd)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MEM_TO_LSPACE0, 0);
return(OK);
}
/******************************************************************************
TITLE: HFCtlPmcSetMemSpc2LSpc1
DESC: routine to Set Memory space to Local Memory Space 1 for HFCTL PMC card
PARAM: fd - file descriptor
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
STATUS HFCtlPmcSetMemSpc2LSpc1(int fd)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MEM_TO_LSPACE1, 0);
return(OK);
}
/******************************************************************************
TITLE: HFCtlPmcGetMemSpc
DESC: routine to get Memory space for HFCTL PMC card
PARAM: fd - file descriptor
pMemSpace - pointer to hold data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
STATUS HFCtlPmcGetMemSpc(int fd, unsigned long *pMemSpace)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MEM_SPACE, (int)pMemSpace);
return(OK);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegPCIHIDRDevID
DESC: routine to get value of PLX9656 register PCIHIDR.DeviceID
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegPCIHIDRDevID(int fd, unsigned long *pRegData)
{
int iStatus;
#if 0
printf("HFCtlPmcGetRegPCIHIDRDevID: begin\n");
printf("HFCtlPmcGetRegPCIHIDRDevID: pRegData = 0x%.8x\n", pRegData);
#endif /* if 0 */
iStatus = ioctl(fd, HFCTL_GET_RT_DEVID, (int)pRegData);
#if 0
printf("HFCtlPmcGetRegPCIHIDRDevID: *pRegData = 0x%.8x\n", *pRegData);
#endif /* if 0 */
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegPCIHIDRVenID
DESC: routine to get value of PLX9656 register PCIHIDR.VendorID
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegPCIHIDRVenID(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_RT_VENID, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox0
DESC: routine to get value of PLX9656 register MBOX0
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox0(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX0, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox0
DESC: routine to set PLX9656 register MBOX0
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox0(int fd, unsigned long ulRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MAILBOX0, (int)ulRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox1
DESC: routine to get value of PLX9656 register MBOX1
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox1(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX1, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox1
DESC: routine to set PLX9656 register MBOX1
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox1(int fd, unsigned long ulRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MAILBOX1, (int)ulRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox2
DESC: routine to get value of PLX9656 register MBOX2
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox2(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX2, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox2
DESC: routine to set PLX9656 register MBOX2
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox2(int fd, unsigned long ulRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MAILBOX2, (int)ulRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox3
DESC: routine to get value of PLX9656 register MBOX3
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox3(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX3, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox3
DESC: routine to set PLX9656 register MBOX3
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox3(int fd, unsigned long ulRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MAILBOX3, (int)ulRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox4
DESC: routine to get value of PLX9656 register MBOX4
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox4(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX4, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox4
DESC: routine to set PLX9656 register MBOX4
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox4(int fd, unsigned long ulRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_SET_MAILBOX4, (int)ulRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcGetRegMailbox5
DESC: routine to get value of PLX9656 register MBOX5
PARAM: fd - file descriptor
pRegData - pointer to hold register data
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcGetRegMailbox5(int fd, unsigned long *pRegData)
{
int iStatus;
iStatus = ioctl(fd, HFCTL_GET_MAILBOX5, (int)pRegData);
return(iStatus);
}
/******************************************************************************
TITLE: HFCtlPmcSetRegMailbox5
DESC: routine to set PLX9656 register MBOX5
PARAM: fd - file descriptor
ulRegData - data to write to register
RETURN: OK - operation was successful
ERROR - operation Failed
******************************************************************************/
int HFCtlPmcSetRegMailbox5(int fd, unsigned long ulRegData)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -