Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 644 → Rev 645

/shark/trunk/drivers/pci6025e/include/drivers/pci6025e/pci6025e.h
33,7 → 33,6
#define _MY_PCI6025E_
 
#include <kernel/kern.h>
#include <drivers/pci.h>
#include <ll/i386/hw-instr.h>
 
#include "regconst.h"
/shark/trunk/drivers/pci6025e/tim/timer.c
176,7 → 176,7
*****************************************************************************/
DWORD TIM_readCounter(BYTE counter)
{
DWORD s1, s2;
DWORD s1 = 0, s2;
if(counter == C0){
clr(g0_command, 1);
 
223,7 → 223,7
*****************************************************************************/
DWORD TIM_readHWSaveReg(BYTE counter)
{
DWORD s1;
DWORD s1 = 0;
 
if(counter == C0){
if( (DAQ_STC_Windowed_Mode_Read(AI_STATUS_1) & 0x0004) != 0 )
/shark/trunk/drivers/pci6025e/pci6025e.c
44,6 → 44,14
 
#include <drivers/pci6025e/pci6025e.h>
 
extern int pci20to26_find_class(unsigned int class_code, int index, BYTE *bus, BYTE *dev);
extern int pci20to26_read_config_byte(unsigned int bus, unsigned int dev, int where, BYTE *val);
extern int pci20to26_read_config_word(unsigned int bus, unsigned int dev, int where, WORD *val);
extern int pci20to26_read_config_dword(unsigned int bus, unsigned int dev, int where, DWORD *val);
extern int pci20to26_write_config_byte(unsigned int bus, unsigned int dev, int where, BYTE val);
extern int pci20to26_write_config_word(unsigned int bus, unsigned int dev, int where, WORD val);
extern int pci20to26_write_config_dword(unsigned int bus, unsigned int dev, int where, DWORD val);
 
//Software copy of importan register
static WORD interrupt_control;
 
88,20 → 96,23
*****************************************************************************/
void DAQ_STC_Windowed_Mode_Write(WORD addr, WORD Value)
{
kern_cli();
SYS_FLAGS f;
 
f = kern_fsave();
*((WORD *)(STC_Base_Address + WIN_ADDR_REG)) = addr;
*((WORD *)(STC_Base_Address + WIN_DATA_WR_REG)) = Value;
kern_sti();
kern_frestore(f);
}
 
WORD DAQ_STC_Windowed_Mode_Read(WORD addr)
{
WORD value = 0;
SYS_FLAGS f;
 
kern_cli();
f = kern_fsave();
*((WORD *)(STC_Base_Address + WIN_ADDR_REG)) = addr;
value = *((WORD *)(STC_Base_Address + WIN_DATA_RD_REG));
kern_sti();
kern_frestore(f);
return (value);
}
 
112,7 → 123,7
{
WORD devNumFunNum = 0;
WORD busNum, i = 0;
DWORD value, temp, Device_ID;
DWORD value, temp = 0, Device_ID;
BYTE hdr, Device_Count;
int present;
 
125,12 → 136,12
for(devNumFunNum = 0; devNumFunNum <= 0xFF; devNumFunNum += 0x08){
present = 0;
if((devNumFunNum & 0x07) == 0){
present = pcibios_read_config_byte((BYTE)busNum,
present = pci20to26_read_config_byte((BYTE)busNum,
(BYTE)devNumFunNum, 0x0E, &hdr);
if(hdr & 0x80)
present = 1;
if(present){
if(pcibios_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum,
if(pci20to26_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum,
0x00, &value) && (value != 0xffffffff)){
if((value & 0xffffL) == NI_CODE){
Device_ID = value;
140,9 → 151,9
NIDevice_info[i].DEVID = (WORD)temp;
NIDevice_info[i].DevFunction = (BYTE)devNumFunNum;
NIDevice_info[i].BusNumber = (BYTE)busNum;
pcibios_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x10, (DWORD *)BAR0structptr);
pcibios_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x3C, (DWORD *)IntLinestructptr);
pcibios_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x08, (DWORD *)RevID);
pci20to26_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x10, (DWORD *)BAR0structptr);
pci20to26_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x3C, (DWORD *)IntLinestructptr);
pci20to26_read_config_dword((BYTE)busNum, (BYTE)devNumFunNum, 0x08, (DWORD *)RevID);
NIDevice_info[i].InterruptLevel = (BYTE)NIDevice_info[i].IntLineRegValue;
i++;
BAR0structptr++;
195,10 → 206,10
 
 
//Setting up Base Address
pcibios_read_config_dword((BYTE)NIDevice_info[0].BusNumber,
pci20to26_read_config_dword((BYTE)NIDevice_info[0].BusNumber,
(BYTE)NIDevice_info[0].DevFunction, 0x14, &STC_Base_Address);
STC_Base_Address = (STC_Base_Address & 0xFFFFFF00) | 0x80;
pcibios_read_config_dword((BYTE)NIDevice_info[0].BusNumber,
pci20to26_read_config_dword((BYTE)NIDevice_info[0].BusNumber,
(BYTE)NIDevice_info[0].DevFunction, 0x10, &MITE_Base_Address);
//MITE_Base_Address &= 0xFFFFFF00;
 
/shark/trunk/drivers/makefile
1,5 → 1,5
 
dirs := $(filter-out CVS cvs cm7326 pci6025e makefile, $(wildcard *))
dirs := $(filter-out CVS cvs cm7326 makefile, $(wildcard *))
p_all := $(addprefix prefixall_, $(dirs))
p_install := $(addprefix prefixinstall_, $(dirs))
p_clean := $(addprefix prefixclean_, $(dirs))