hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* SPDX-License-Identifier: GPL-2.0-or-later */
/******************************************************************************
 *
 *    (C)Copyright 1998,1999 SysKonnect,
 *    a business unit of Schneider & Koch & Co. Datensysteme GmbH.
 *
 *    The information in this file is provided "AS IS" without warranty.
 *
 ******************************************************************************/
 
#ifndef    _TARGETHW_
#define _TARGETHW_
 
   /*
    *  PCI Watermark definition
    */
#ifdef    PCI
#define    RX_WATERMARK    24
#define TX_WATERMARK    24
#define SK_ML_ID_1    0x20
#define SK_ML_ID_2    0x30
#endif
 
#include    "skfbi.h"
#ifndef TAG_MODE    
#include    "fplus.h"
#else
#include    "fplustm.h"
#endif
 
#ifndef    HW_PTR
#define HW_PTR  void __iomem *
#endif
 
#ifdef MULT_OEM
#define    OI_STAT_LAST        0    /* end of OEM data base */
#define    OI_STAT_PRESENT        1    /* entry present but not empty */
#define    OI_STAT_VALID        2    /* holds valid ID, but is not active */ 
#define    OI_STAT_ACTIVE        3    /* holds valid ID, entry is active */
                   /* active = adapter is supported */
 
/* Memory representation of IDs must match representation in adapter. */
struct    s_oem_ids {
   u_char    oi_status ;        /* Stat: last, present, valid, active */
   u_char    oi_mark[5] ;        /* "PID00" .. "PID07" ..    */
   u_char     oi_id[4] ;        /* id bytes, representation as    */
                   /* defined by hardware,        */    
#ifdef PCI
   u_char     oi_sub_id[4] ;        /* sub id bytes, representation as */
                   /* defined by hardware,        */
#endif
} ;
#endif    /* MULT_OEM */
 
 
struct s_smt_hw {
   /*
    * global
    */
   HW_PTR    iop ;            /* IO base address */
   short    dma ;            /* DMA channel */
   short    irq ;            /* IRQ level */
   short    eprom ;            /* FLASH prom */
 
#ifndef SYNC
   u_short    n_a_send ;        /* pending send requests */
#endif
 
#if    defined(PCI)
   short    slot ;            /* slot number */
   short   max_slots ;        /* maximum number of slots */
   short    wdog_used ;        /* TRUE if the watch dog is used */
#endif
 
#ifdef    PCI
   u_short    pci_handle ;        /* handle to access the BIOS func */
   u_long    is_imask ;        /* int maske for the int source reg */
   u_long    phys_mem_addr ;        /* physical memory address */
   u_short    mc_dummy ;        /* work around for MC compiler bug */    
   /*
    * state of the hardware
    */
   u_short hw_state ;        /* started or stopped */
 
#define    STARTED        1
#define    STOPPED        0
 
   int    hw_is_64bit ;        /* does we have a 64 bit adapter */
#endif
 
#ifdef    TAG_MODE
   u_long    pci_fix_value ;        /* value parsed by PCIFIX */
#endif
 
   /*
    * hwt.c
    */
   u_long    t_start ;        /* HWT start */
   u_long    t_stop ;        /* HWT stop */
   u_short    timer_activ ;        /* HWT timer active */
 
   /*
    * PIC
    */
   u_char    pic_a1 ;
   u_char    pic_21 ;
 
   /*
    * GENERIC ; do not modify beyond this line
    */
 
   /*
    * physical and canonical address
    */
   struct fddi_addr fddi_home_addr ;
   struct fddi_addr fddi_canon_addr ;
   struct fddi_addr fddi_phys_addr ;
 
   /*
    * mac variables
    */
   struct mac_parameter mac_pa ;    /* tmin, tmax, tvx, treq .. */
   struct mac_counter mac_ct ;    /* recv., lost, error  */
   u_short    mac_ring_is_up ;    /* ring is up flag */
 
   struct s_smt_fp    fp ;        /* formac+ */
 
#ifdef MULT_OEM
   struct s_oem_ids *oem_id ;    /* pointer to selected id */
   int oem_min_status ;        /* IDs to take care of */
#endif    /* MULT_OEM */
 
} ;
#endif