OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [driver/] [pexdrv/] [pexproc.c] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
 
2
#include <linux/kernel.h>
3
#define __NO_VERSION__
4
#include <linux/module.h>
5
#include <linux/types.h>
6
#include <linux/ioport.h>
7
#include <linux/pci.h>
8
#include <linux/pagemap.h>
9
#include <linux/interrupt.h>
10
#include <linux/proc_fs.h>
11
#include <asm/io.h>
12
 
13
#include "pexmodule.h"
14
#include "pexproc.h"
15
#include "ambpexregs.h"
16
#include "hardware.h"
17
 
18
//--------------------------------------------------------------------
19
 
20
void pex_register_proc( char *name, void *fptr, void *data )
21
{
22
        create_proc_read_entry( name, 0, NULL, fptr, data );
23
}
24
 
25
//--------------------------------------------------------------------
26
 
27
void pex_remove_proc( char *name )
28
{
29
        remove_proc_entry( name, NULL );
30
}
31
 
32
//--------------------------------------------------------------------
33
 
34
int pex_proc_info(  char *buf,
35
                    char **start,
36
                    off_t off,
37
                    int count,
38
                    int *eof,
39
                    void *data )
40
{
41
        int iBlock = 0;
42
        char *p = buf;
43
        struct pex_device *brd = (struct pex_device*)data;
44
 
45
        if(!brd) {
46
            p += sprintf(p,"  Invalid device pointer\n" );
47
            *eof = 1;
48
            return p - buf;
49
        }
50
 
51
        p += sprintf(p,"  Device information\n" );
52
 
53
        p += sprintf(p, "  m_TotalIRQ = %d\n", atomic_read(&brd->m_TotalIRQ));
54
 
55
        for(iBlock = 0; iBlock < brd->m_BlockCnt; iBlock++)
56
        {
57
                u32 FifoAddr = 0;
58
                u16 val = 0;
59
 
60
                FifoAddr = (iBlock + 1) * PE_FIFO_ADDR;
61
                val = ReadOperationWordReg(brd, PEFIFOadr_BLOCK_ID + FifoAddr);
62
 
63
                if((val & 0x0FFF) != PE_EXT_FIFO_ID)
64
                        continue;
65
 
66
                p += sprintf(p,"\n" );
67
                p += sprintf(p,"  PE_EXT_FIFO %d\n", iBlock+1 );
68
                p += sprintf(p,"\n" );
69
 
70
                p += sprintf(p,"  BLOCK_ID = %x\n", (val & 0x0FFF) );
71
                val = ReadOperationWordReg(brd, PEFIFOadr_BLOCK_VER + FifoAddr);
72
                p += sprintf(p,"  BLOCK_VER = %x\n", (val & 0xFFFF) );
73
                val = ReadOperationWordReg(brd, PEFIFOadr_FIFO_ID + FifoAddr);
74
                p += sprintf(p,"  FIFO_ID = %x\n", (val & 0xFFFF) );
75
                val = ReadOperationWordReg(brd, PEFIFOadr_FIFO_NUM + FifoAddr);
76
                p += sprintf(p,"  FIFO_NUMBER = %x\n", (val & 0xFFFF) );
77
                val = ReadOperationWordReg(brd, PEFIFOadr_DMA_SIZE + FifoAddr);
78
                p += sprintf(p,"  RESOURCE = %x\n", (val & 0xFFFF) );
79
                val = ReadOperationWordReg(brd, PEFIFOadr_FIFO_CTRL + FifoAddr);
80
                p += sprintf(p,"  DMA_MODE = %x\n", (val & 0xFFFF) );
81
                val = ReadOperationWordReg(brd, PEFIFOadr_DMA_CTRL + FifoAddr);
82
                p += sprintf(p,"  DMA_CTRL = %x\n", (val & 0xFFFF) );
83
                val = ReadOperationWordReg(brd, PEFIFOadr_FIFO_STATUS + FifoAddr);
84
                p += sprintf(p,"  FIFO_STATUS = %x\n", (val & 0xFFFF) );
85
                val = ReadOperationWordReg(brd, PEFIFOadr_FLAG_CLR + FifoAddr);
86
                p += sprintf(p,"  FLAG_CLR = %x\n", (val & 0xFFFF) );
87
                val = ReadOperationWordReg(brd, PEFIFOadr_PCI_ADDRL + FifoAddr);
88
                p += sprintf(p,"  PCI_ADRL = %x\n", (val & 0xFFFF) );
89
                val = ReadOperationWordReg(brd, PEFIFOadr_PCI_ADDRH + FifoAddr);
90
                p += sprintf(p,"  PCI_ADRH = %x\n", (val & 0xFFFF) );
91
                val = ReadOperationWordReg(brd, PEFIFOadr_LOCAL_ADR + FifoAddr);
92
                p += sprintf(p,"  LOCAL_ADR = %x\n", (val & 0xFFFF) );
93
        }
94
 
95
        *eof = 1;
96
 
97
        return p - buf;
98
}
99
 
100
//--------------------------------------------------------------------

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.