Changeset d3c9b60 in mainline for uspace/srv/hw/netif/dp8390/ne2000.c


Ignore:
Timestamp:
2011-01-06T14:42:39Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
506a805
Parents:
95ff5c4
Message:

cstyle & clutter removal

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hw/netif/dp8390/ne2000.c

    r95ff5c4 rd3c9b60  
    7373void ne_init(struct dpeth *dep);
    7474
    75 /*===========================================================================*
    76  *                              ne_probe                                     *
    77  *===========================================================================*/
    78 int ne_probe(dep)
    79 dpeth_t *dep;
     75int ne_probe(dpeth_t *dep)
    8076{
    8177        int byte;
     
    8379        int loc1, loc2;
    8480        testf_t f;
    85 
    86         dep->de_dp8390_port= dep->de_base_port + NE_DP8390;
    87 
    88         /* We probe for an ne1000 or an ne2000 by testing whether the
     81       
     82        dep->de_dp8390_port = dep->de_base_port + NE_DP8390;
     83       
     84        /*
     85         * We probe for an ne1000 or an ne2000 by testing whether the
    8986         * on board is reachable through the dp8390. Note that the
    9087         * ne1000 is an 8bit card and has a memory region distict from
    9188         * the 16bit ne2000
    9289         */
    93 
    94         for (dep->de_16bit= 0; dep->de_16bit < 2; dep->de_16bit++)
    95         {
     90       
     91        for (dep->de_16bit = 0; dep->de_16bit < 2; dep->de_16bit++) {
    9692                /* Reset the ethernet card */
    9793                byte= inb_ne(dep, NE_RESET);
     
    9995                outb_ne(dep, NE_RESET, byte);
    10096                milli_delay(2);
    101 
     97               
    10298                /* Reset the dp8390 */
    10399                outb_reg0(dep, DP_CR, CR_STP | CR_DM_ABORT);
    104                 for (i= 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) &ISR_RST) == 0); i++)
     100                for (i = 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) & ISR_RST) == 0); i++)
    105101                        ; /* Do nothing */
    106 
     102               
    107103                /* Check if the dp8390 is really there */
    108                 if ((inb_reg0(dep, DP_CR) &(CR_STP|CR_DM_ABORT)) !=
    109                         (CR_STP|CR_DM_ABORT))
    110                 {
     104                if ((inb_reg0(dep, DP_CR) & (CR_STP | CR_DM_ABORT)) !=
     105                    (CR_STP | CR_DM_ABORT))
    111106                        return 0;
    112                 }
    113 
     107               
    114108                /* Disable the receiver and init TCR and DCR. */
    115109                outb_reg0(dep, DP_RCR, RCR_MON);
    116110                outb_reg0(dep, DP_TCR, TCR_NORMAL);
    117                 if (dep->de_16bit)
    118                 {
     111                if (dep->de_16bit) {
    119112                        outb_reg0(dep, DP_DCR, DCR_WORDWIDE | DCR_8BYTES |
    120                                 DCR_BMS);
    121                 }
    122                 else
    123                 {
     113                            DCR_BMS);
     114                } else {
    124115                        outb_reg0(dep, DP_DCR, DCR_BYTEWIDE | DCR_8BYTES |
    125                                 DCR_BMS);
    126                 }
    127 
    128                 if (dep->de_16bit)
    129                 {
     116                            DCR_BMS);
     117                }
     118               
     119                if (dep->de_16bit) {
    130120                        loc1= NE2000_START;
    131121                        loc2= NE2000_START + NE2000_SIZE - 4;
    132122                        f= test_16;
    133                 }
    134                 else
    135                 {
     123                } else {
    136124                        loc1= NE1000_START;
    137125                        loc2= NE1000_START + NE1000_SIZE - 4;
    138126                        f= test_8;
    139127                }
    140                 if (f(dep, loc1, pat0) && f(dep, loc1, pat1) &&
    141                         f(dep, loc1, pat2) && f(dep, loc1, pat3) &&
    142                         f(dep, loc2, pat0) && f(dep, loc2, pat1) &&
    143                         f(dep, loc2, pat2) && f(dep, loc2, pat3))
    144                 {
     128               
     129                if (f(dep, loc1, pat0) && f(dep, loc1, pat1) &&
     130                    f(dep, loc1, pat2) && f(dep, loc1, pat3) &&
     131                    f(dep, loc2, pat0) && f(dep, loc2, pat1) &&
     132                    f(dep, loc2, pat2) && f(dep, loc2, pat3)) {
    145133                        /* We don't need a memory segment */
    146                         dep->de_linmem= 0;
    147                         if (!dep->de_pci)
    148                                 dep->de_initf= ne_init;
    149                         dep->de_stopf= ne_stop;
     134                        dep->de_linmem = 0;
     135                        dep->de_initf = ne_init;
     136                        dep->de_stopf = ne_stop;
    150137                        return 1;
    151138                }
    152139        }
     140       
    153141        return 0;
    154142}
    155143
    156 /*===========================================================================*
    157  *                              ne_init                                      *
    158  *===========================================================================*/
    159 void ne_init(dep)
    160 dpeth_t *dep;
     144void ne_init(dpeth_t *dep)
    161145{
    162146        int i;
    163147        int word, sendq_nr;
    164 
     148       
    165149        /* Setup a transfer to get the ethernet address. */
    166150        if (dep->de_16bit)
     
    168152        else
    169153                outb_reg0(dep, DP_RBCR0, 6);
     154       
    170155        outb_reg0(dep, DP_RBCR1, 0);
    171156        outb_reg0(dep, DP_RSAR0, 0);
    172157        outb_reg0(dep, DP_RSAR1, 0);
    173158        outb_reg0(dep, DP_CR, CR_DM_RR | CR_PS_P0 | CR_STA);
    174 
    175         for (i= 0; i<6; i++)
    176         {
    177                 if (dep->de_16bit)
    178                 {
    179                         word= inw_ne(dep, NE_DATA);
    180                         dep->de_address.ea_addr[i]= word;
    181                 }
    182                 else
    183                 {
     159       
     160        for (i = 0; i < 6; i++) {
     161                if (dep->de_16bit) {
     162                        word = inw_ne(dep, NE_DATA);
     163                        dep->de_address.ea_addr[i] = word;
     164                } else
    184165                        dep->de_address.ea_addr[i] = inb_ne(dep, NE_DATA);
    185                 }
    186         }
     166        }
     167       
    187168        dep->de_data_port= dep->de_base_port + NE_DATA;
    188         if (dep->de_16bit)
    189         {
     169        if (dep->de_16bit) {
    190170                dep->de_ramsize= NE2000_SIZE;
    191171                dep->de_offset_page= NE2000_START / DP_PAGESIZE;
    192         }
    193         else
    194         {
     172        } else {
    195173                dep->de_ramsize= NE1000_SIZE;
    196174                dep->de_offset_page= NE1000_START / DP_PAGESIZE;
    197175        }
    198 
     176       
    199177        /* Allocate one send buffer (1.5KB) per 8KB of on board memory. */
    200178        sendq_nr= dep->de_ramsize / 0x2000;
     179       
    201180        if (sendq_nr < 1)
    202                 sendq_nr= 1;
     181                sendq_nr = 1;
    203182        else if (sendq_nr > SENDQ_NR)
    204                 sendq_nr= SENDQ_NR;
    205         dep->de_sendq_nr= sendq_nr;
    206         for (i= 0; i<sendq_nr; i++)
    207         {
    208                 dep->de_sendq[i].sq_sendpage= dep->de_offset_page +
    209                         i*SENDQ_PAGES; 
    210         }
    211 
    212         dep->de_startpage= dep->de_offset_page + i*SENDQ_PAGES;
    213         dep->de_stoppage= dep->de_offset_page + dep->de_ramsize / DP_PAGESIZE;
    214 
     183                sendq_nr = SENDQ_NR;
     184       
     185        dep->de_sendq_nr = sendq_nr;
     186        for (i = 0; i < sendq_nr; i++)
     187                dep->de_sendq[i].sq_sendpage= dep->de_offset_page + i * SENDQ_PAGES;
     188       
     189        dep->de_startpage = dep->de_offset_page + i * SENDQ_PAGES;
     190        dep->de_stoppage = dep->de_offset_page + dep->de_ramsize / DP_PAGESIZE;
     191       
    215192        /* Can't override the default IRQ. */
    216193        dep->de_irq &= ~DEI_DEFAULT;
    217 
     194       
    218195        if (!debug)
    219196        {
Note: See TracChangeset for help on using the changeset viewer.