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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [net/] [bfin_mac.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * File:        drivers/net/bfin_mac.c
3
 * Based on:
4
 * Maintainer:
5
 *              Bryan Wu <bryan.wu@analog.com>
6
 *
7
 * Original author:
8
 *              Luke Yang <luke.yang@analog.com>
9
 *
10
 * Created:
11
 * Description:
12
 *
13
 * Modified:
14
 *              Copyright 2004-2006 Analog Devices Inc.
15
 *
16
 * Bugs:        Enter bugs at http://blackfin.uclinux.org/
17
 *
18
 * This program is free software ;  you can redistribute it and/or modify
19
 * it under the terms of the GNU General Public License as published by
20
 * the Free Software Foundation ;  either version 2, or (at your option)
21
 * any later version.
22
 *
23
 * This program is distributed in the hope that it will be useful,
24
 * but WITHOUT ANY WARRANTY ;  without even the implied warranty of
25
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
 * GNU General Public License for more details.
27
 *
28
 * You should have received a copy of the GNU General Public License
29
 * along with this program ;  see the file COPYING.
30
 * If not, write to the Free Software Foundation,
31
 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32
 */
33
 
34
#define BFIN_MAC_CSUM_OFFLOAD
35
 
36
struct dma_descriptor {
37
        struct dma_descriptor *next_dma_desc;
38
        unsigned long start_addr;
39
        unsigned short config;
40
        unsigned short x_count;
41
};
42
 
43
struct status_area_rx {
44
#if defined(BFIN_MAC_CSUM_OFFLOAD)
45
        unsigned short ip_hdr_csum;     /* ip header checksum */
46
        /* ip payload(udp or tcp or others) checksum */
47
        unsigned short ip_payload_csum;
48
#endif
49
        unsigned long status_word;      /* the frame status word */
50
};
51
 
52
struct status_area_tx {
53
        unsigned long status_word;      /* the frame status word */
54
};
55
 
56
/* use two descriptors for a packet */
57
struct net_dma_desc_rx {
58
        struct net_dma_desc_rx *next;
59
        struct sk_buff *skb;
60
        struct dma_descriptor desc_a;
61
        struct dma_descriptor desc_b;
62
        struct status_area_rx status;
63
};
64
 
65
/* use two descriptors for a packet */
66
struct net_dma_desc_tx {
67
        struct net_dma_desc_tx *next;
68
        struct sk_buff *skb;
69
        struct dma_descriptor desc_a;
70
        struct dma_descriptor desc_b;
71
        unsigned char packet[1560];
72
        struct status_area_tx status;
73
};
74
 
75
struct bf537mac_local {
76
        /*
77
         * these are things that the kernel wants me to keep, so users
78
         * can find out semi-useless statistics of how well the card is
79
         * performing
80
         */
81
        struct net_device_stats stats;
82
 
83
        unsigned char Mac[6];   /* MAC address of the board */
84
        spinlock_t lock;
85
 
86
        /* MII and PHY stuffs */
87
        int old_link;          /* used by bf537_adjust_link */
88
        int old_speed;
89
        int old_duplex;
90
 
91
        struct phy_device *phydev;
92
        struct mii_bus mii_bus;
93
};
94
 
95
extern void bfin_get_ether_addr(char *addr);

powered by: WebSVN 2.1.0

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