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

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.hwp.communication/] [hibi_pe_dma/] [1.0/] [tb/] [system/] [src_cpu1/] [hpd_isr_fifo.h] - Blame information for rev 145

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 lanttu
/*
2
 *
3
 *   Fifo for saving interrupt information, header
4
 *
5
 *   Lasse Lehtonen
6
 *
7
 */
8
 
9
#ifndef HPD_ISR_FIFO_HH
10
#define HPD_ISR_FIFO_HH
11
 
12
// Tells what caused N2H2 to interrupt
13
typedef enum {RX_READY, RX_UNKNOWN, TX_IGNORED} Hpd_isr_type;
14
 
15
 
16
// Item stored in fifo
17
typedef struct Hpd_isr_info Hpd_isr_info;
18
typedef struct Hpd_isr_info
19
{
20
  Hpd_isr_type isr_type;
21
  union {
22
    int  rx_channel;
23
    int  dst_address;
24
  };
25
 
26
  Hpd_isr_info* next;
27
};
28
 
29
 
30
typedef struct
31
{
32
  Hpd_isr_info*   root;
33
  volatile int    size;
34
 
35
} Hpd_isr_fifo;
36
 
37
//                             used fifo           item to store
38
void          hpd_isr_fifo_push(Hpd_isr_fifo* fifo, Hpd_isr_info* item);
39
Hpd_isr_info* hpd_isr_fifo_pop(Hpd_isr_fifo* fifo);
40
int           hpd_isr_fifo_size(Hpd_isr_fifo* fifo);
41
// Creates new fifo
42
Hpd_isr_fifo* hpd_isr_fifo_create();
43
 
44
#endif

powered by: WebSVN 2.1.0

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