summaryrefslogtreecommitdiff
path: root/mac/sar/bridgedma/inc/bridge.h
blob: 208e7e9031160b1f279efb4e38a2197da208f775 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef BRIDGE_H_
#define BRIDGE_H_

#include <cyg/kernel/kapi.h>
#include <cyg/hal/hal_arch.h>

#include <stdio.h>
#include <stdlib.h>

#include "common/std.h"

#include "lib/rnd.h"

#include "mac/pbproc/pbproc.h"

#include "hal/phy/bridgedma.h"

struct bridge_dma_test_t
{
    phy_bridgedma_job_t *head;
    phy_bridgedma_job_t *tail;
    
    phy_bridgedma_cb_t bridge_cb;
    
    phy_bridgedma_job_t *curr;
};
typedef struct bridge_dma_test_t bridge_dma_test_t;


struct pb_bridged_list_t
{
    pb_t *first;
    pb_t *last;
};
typedef struct pb_bridged_list_t pb_bridged_list_t;

phy_bridgedma_t *
phy_bridgedma_init (void *user_data, phy_bridgedma_cb_t bridgedma_cb,
                    phy_deferred_cb_t deferred_cb);

void phy_bridgedma_start (phy_bridgedma_t *ctx,
        phy_bridgedma_job_t *job_first, phy_bridgedma_job_t *job_last);

void bridge_run (void);

u16 mix_up_pbs (pb_t **first, pb_t **last);

bridge_dma_test_t bridge;
pb_bridged_list_t pb_list;

#endif /*BRIDGE_H_*/