Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/netif/dp8390/dp8390.c

    raadf01e r1e2e0c1e  
    6767 *  @returns EINVAL
    6868 */
    69 int queue_packet(dpeth_t * dep, packet_t packet);
     69int     queue_packet( dpeth_t * dep, packet_t packet );
    7070
    7171/** Reads a memory block byte by byte.
     
    7474 *  @param[in] size The memory block size in bytes.
    7575 */
    76 static void outsb(port_t port, void * buf, size_t size);
     76static void outsb( port_t port, void * buf, size_t size );
    7777
    7878/** Reads a memory block word by word.
     
    8181 *  @param[in] size The memory block size in bytes.
    8282 */
    83 static void outsw(port_t port, void * buf, size_t size);
     83static void outsw( port_t port, void * buf, size_t size );
    8484
    8585//static u16_t eth_ign_proto;
     
    9898//{
    9999        /* I/O port, IRQ,  Buffer address,  Env. var. */
    100 /*      { 0x280,     3,    0xD0000,        "DPETH0"     },
    101         { 0x300,     5,    0xC8000,        "DPETH1"     },
    102         { 0x380,    10,    0xD8000,        "DPETH2"     },
     100/*      {  0x280,     3,    0xD0000,        "DPETH0"    },
     101        {  0x300,     5,    0xC8000,        "DPETH1"    },
     102        {  0x380,    10,    0xD8000,        "DPETH2"    },
    103103};
    104104*/
     
    126126
    127127//#if ENABLE_PCI
    128 //_PROTOTYPE(static void pci_conf, (void)                               );
     128//_PROTOTYPE( static void pci_conf, (void)                              );
    129129//#endif
    130 //_PROTOTYPE(static void do_vwrite, (message *mp, int from_int,
     130//_PROTOTYPE( static void do_vwrite, (message *mp, int from_int,
    131131//                                                      int vectored)   );
    132 //_PROTOTYPE(static void do_vwrite_s, (message *mp, int from_int)       );
    133 //_PROTOTYPE(static void do_vread, (message *mp, int vectored)          );
    134 //_PROTOTYPE(static void do_vread_s, (message *mp)                      );
    135 //_PROTOTYPE(static void do_init, (message *mp)                         );
    136 //_PROTOTYPE(static void do_int, (dpeth_t *dep)                         );
    137 //_PROTOTYPE(static void do_getstat, (message *mp)                      );
    138 //_PROTOTYPE(static void do_getstat_s, (message *mp)                    );
    139 //_PROTOTYPE(static void do_getname, (message *mp)                      );
    140 //_PROTOTYPE(static void do_stop, (message *mp)                         );
    141 _PROTOTYPE(static void dp_init, (dpeth_t *dep)                          );
    142 //_PROTOTYPE(static void dp_confaddr, (dpeth_t *dep)                    );
    143 _PROTOTYPE(static void dp_reinit, (dpeth_t *dep)                        );
    144 _PROTOTYPE(static void dp_reset, (dpeth_t *dep)                 );
    145 //_PROTOTYPE(static void dp_check_ints, (dpeth_t *dep)                  );
    146 _PROTOTYPE(static void dp_recv, (dpeth_t *dep)                          );
    147 _PROTOTYPE(static void dp_send, (dpeth_t *dep)                          );
    148 //_PROTOTYPE(static void dp8390_stop, (void)                            );
    149 _PROTOTYPE(static void dp_getblock, (dpeth_t *dep, int page,
     132//_PROTOTYPE( static void do_vwrite_s, (message *mp, int from_int)      );
     133//_PROTOTYPE( static void do_vread, (message *mp, int vectored)         );
     134//_PROTOTYPE( static void do_vread_s, (message *mp)                     );
     135//_PROTOTYPE( static void do_init, (message *mp)                                );
     136//_PROTOTYPE( static void do_int, (dpeth_t *dep)                                );
     137//_PROTOTYPE( static void do_getstat, (message *mp)                     );
     138//_PROTOTYPE( static void do_getstat_s, (message *mp)                   );
     139//_PROTOTYPE( static void do_getname, (message *mp)                     );
     140//_PROTOTYPE( static void do_stop, (message *mp)                                );
     141_PROTOTYPE( static void dp_init, (dpeth_t *dep)                         );
     142//_PROTOTYPE( static void dp_confaddr, (dpeth_t *dep)                   );
     143_PROTOTYPE( static void dp_reinit, (dpeth_t *dep)                       );
     144_PROTOTYPE( static void dp_reset, (dpeth_t *dep)                        );
     145//_PROTOTYPE( static void dp_check_ints, (dpeth_t *dep)                 );
     146_PROTOTYPE( static void dp_recv, (dpeth_t *dep)                         );
     147_PROTOTYPE( static void dp_send, (dpeth_t *dep)                         );
     148//_PROTOTYPE( static void dp8390_stop, (void)                           );
     149_PROTOTYPE( static void dp_getblock, (dpeth_t *dep, int page,
    150150                                size_t offset, size_t size, void *dst)  );
    151 _PROTOTYPE(static void dp_pio8_getblock, (dpeth_t *dep, int page,
     151_PROTOTYPE( static void dp_pio8_getblock, (dpeth_t *dep, int page,
    152152                                size_t offset, size_t size, void *dst)  );
    153 _PROTOTYPE(static void dp_pio16_getblock, (dpeth_t *dep, int page,
     153_PROTOTYPE( static void dp_pio16_getblock, (dpeth_t *dep, int page,
    154154                                size_t offset, size_t size, void *dst)  );
    155 _PROTOTYPE(static int dp_pkt2user, (dpeth_t *dep, int page,
    156                                                         int length) );
    157 //_PROTOTYPE(static int dp_pkt2user_s, (dpeth_t *dep, int page,
     155_PROTOTYPE( static int dp_pkt2user, (dpeth_t *dep, int page,
     156                                                        int length)     );
     157//_PROTOTYPE( static int dp_pkt2user_s, (dpeth_t *dep, int page,
    158158//                                                      int length)     );
    159 _PROTOTYPE(static void dp_user2nic, (dpeth_t *dep, iovec_dat_t *iovp,
    160                 vir_bytes offset, int nic_addr, vir_bytes count) );
    161 //_PROTOTYPE(static void dp_user2nic_s, (dpeth_t *dep, iovec_dat_s_t *iovp,
     159_PROTOTYPE( static void dp_user2nic, (dpeth_t *dep, iovec_dat_t *iovp,
     160                vir_bytes offset, int nic_addr, vir_bytes count)        );
     161//_PROTOTYPE( static void dp_user2nic_s, (dpeth_t *dep, iovec_dat_s_t *iovp,
    162162//              vir_bytes offset, int nic_addr, vir_bytes count)        );
    163 _PROTOTYPE(static void dp_pio8_user2nic, (dpeth_t *dep,
     163_PROTOTYPE( static void dp_pio8_user2nic, (dpeth_t *dep,
    164164                                iovec_dat_t *iovp, vir_bytes offset,
    165                                 int nic_addr, vir_bytes count) );
    166 //_PROTOTYPE(static void dp_pio8_user2nic_s, (dpeth_t *dep,
     165                                int nic_addr, vir_bytes count)          );
     166//_PROTOTYPE( static void dp_pio8_user2nic_s, (dpeth_t *dep,
    167167//                              iovec_dat_s_t *iovp, vir_bytes offset,
    168168//                              int nic_addr, vir_bytes count)          );
    169 _PROTOTYPE(static void dp_pio16_user2nic, (dpeth_t *dep,
     169_PROTOTYPE( static void dp_pio16_user2nic, (dpeth_t *dep,
    170170                                iovec_dat_t *iovp, vir_bytes offset,
    171                                 int nic_addr, vir_bytes count) );
    172 //_PROTOTYPE(static void dp_pio16_user2nic_s, (dpeth_t *dep,
     171                                int nic_addr, vir_bytes count)          );
     172//_PROTOTYPE( static void dp_pio16_user2nic_s, (dpeth_t *dep,
    173173//                              iovec_dat_s_t *iovp, vir_bytes offset,
    174174//                              int nic_addr, vir_bytes count)          );
    175 _PROTOTYPE(static void dp_nic2user, (dpeth_t *dep, int nic_addr,
     175_PROTOTYPE( static void dp_nic2user, (dpeth_t *dep, int nic_addr,
    176176                iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)   );
    177 //_PROTOTYPE(static void dp_nic2user_s, (dpeth_t *dep, int nic_addr,
     177//_PROTOTYPE( static void dp_nic2user_s, (dpeth_t *dep, int nic_addr,
    178178//              iovec_dat_s_t *iovp, vir_bytes offset, vir_bytes count) );
    179 _PROTOTYPE(static void dp_pio8_nic2user, (dpeth_t *dep, int nic_addr,
     179_PROTOTYPE( static void dp_pio8_nic2user, (dpeth_t *dep, int nic_addr,
    180180                iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)   );
    181 //_PROTOTYPE(static void dp_pio8_nic2user_s, (dpeth_t *dep, int nic_addr,
     181//_PROTOTYPE( static void dp_pio8_nic2user_s, (dpeth_t *dep, int nic_addr,
    182182//              iovec_dat_s_t *iovp, vir_bytes offset, vir_bytes count) );
    183 _PROTOTYPE(static void dp_pio16_nic2user, (dpeth_t *dep, int nic_addr,
     183_PROTOTYPE( static void dp_pio16_nic2user, (dpeth_t *dep, int nic_addr,
    184184                iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)   );
    185 //_PROTOTYPE(static void dp_pio16_nic2user_s, (dpeth_t *dep, int nic_addr,
     185//_PROTOTYPE( static void dp_pio16_nic2user_s, (dpeth_t *dep, int nic_addr,
    186186//              iovec_dat_s_t *iovp, vir_bytes offset, vir_bytes count) );
    187 _PROTOTYPE(static void dp_next_iovec, (iovec_dat_t *iovp)               );
    188 //_PROTOTYPE(static void dp_next_iovec_s, (iovec_dat_s_t *iovp)         );
    189 _PROTOTYPE(static void conf_hw, (dpeth_t *dep)                          );
    190 //_PROTOTYPE(static void update_conf, (dpeth_t *dep, dp_conf_t *dcp)    );
    191 _PROTOTYPE(static void map_hw_buffer, (dpeth_t *dep)                    );
    192 //_PROTOTYPE(static int calc_iovec_size, (iovec_dat_t *iovp)            );
    193 //_PROTOTYPE(static int calc_iovec_size_s, (iovec_dat_s_t *iovp)                );
    194 _PROTOTYPE(static void reply, (dpeth_t *dep, int err, int may_block)    );
    195 //_PROTOTYPE(static void mess_reply, (message *req, message *reply)     );
    196 _PROTOTYPE(static void get_userdata, (int user_proc,
     187_PROTOTYPE( static void dp_next_iovec, (iovec_dat_t *iovp)              );
     188//_PROTOTYPE( static void dp_next_iovec_s, (iovec_dat_s_t *iovp)                );
     189_PROTOTYPE( static void conf_hw, (dpeth_t *dep)                         );
     190//_PROTOTYPE( static void update_conf, (dpeth_t *dep, dp_conf_t *dcp)   );
     191_PROTOTYPE( static void map_hw_buffer, (dpeth_t *dep)                   );
     192//_PROTOTYPE( static int calc_iovec_size, (iovec_dat_t *iovp)           );
     193//_PROTOTYPE( static int calc_iovec_size_s, (iovec_dat_s_t *iovp)               );
     194_PROTOTYPE( static void reply, (dpeth_t *dep, int err, int may_block)   );
     195//_PROTOTYPE( static void mess_reply, (message *req, message *reply)    );
     196_PROTOTYPE( static void get_userdata, (int user_proc,
    197197                vir_bytes user_addr, vir_bytes count, void *loc_addr)   );
    198 //_PROTOTYPE(static void get_userdata_s, (int user_proc,
     198//_PROTOTYPE( static void get_userdata_s, (int user_proc,
    199199//              cp_grant_id_t grant, vir_bytes offset, vir_bytes count,
    200200//              void *loc_addr) );
    201 //_PROTOTYPE(static void put_userdata, (int user_proc,
     201//_PROTOTYPE( static void put_userdata, (int user_proc,
    202202//              vir_bytes user_addr, vir_bytes count, void *loc_addr)   );
    203 //_PROTOTYPE(static void put_userdata_s, (int user_proc,
     203//_PROTOTYPE( static void put_userdata_s, (int user_proc,
    204204//              cp_grant_id_t grant, size_t count, void *loc_addr)      );
    205 _PROTOTYPE(static void insb, (port_t port, void *buf, size_t size)                              );
    206 _PROTOTYPE(static void insw, (port_t port, void *buf, size_t size)                              );
    207 //_PROTOTYPE(static void do_vir_insb, (port_t port, int proc,
     205_PROTOTYPE( static void insb, (port_t port, void *buf, size_t size)                             );
     206_PROTOTYPE( static void insw, (port_t port, void *buf, size_t size)                             );
     207//_PROTOTYPE( static void do_vir_insb, (port_t port, int proc,
    208208//                                      vir_bytes buf, size_t size)     );
    209 //_PROTOTYPE(static void do_vir_insw, (port_t port, int proc,
     209//_PROTOTYPE( static void do_vir_insw, (port_t port, int proc,
    210210//                                      vir_bytes buf, size_t size)     );
    211 //_PROTOTYPE(static void do_vir_outsb, (port_t port, int proc,
     211//_PROTOTYPE( static void do_vir_outsb, (port_t port, int proc,
    212212//                                      vir_bytes buf, size_t size)     );
    213 //_PROTOTYPE(static void do_vir_outsw, (port_t port, int proc,
     213//_PROTOTYPE( static void do_vir_outsw, (port_t port, int proc,
    214214//                                      vir_bytes buf, size_t size)     );
    215215
    216 int do_probe(dpeth_t * dep){
     216int do_probe( dpeth_t * dep ){
    217217        /* This is the default, try to (re)locate the device. */
    218218        conf_hw(dep);
     
    230230 *                              dp8390_dump                                  *
    231231 *===========================================================================*/
    232 void dp8390_dump(dpeth_t * dep)
     232void dp8390_dump( dpeth_t * dep )
    233233{
    234234//      dpeth_t *dep;
     
    282282 *                              do_init                                      *
    283283 *===========================================================================*/
    284 int do_init(dpeth_t * dep, int mode){
     284int do_init( dpeth_t * dep, int mode ){
    285285        if (dep->de_mode == DEM_DISABLED)
    286286        {
     
    303303        }
    304304        assert(dep->de_mode == DEM_ENABLED);
    305         assert(dep->de_flags &DEF_ENABLED);
     305        assert(dep->de_flags & DEF_ENABLED);
    306306
    307307        dep->de_flags &= ~(DEF_PROMISC | DEF_MULTI | DEF_BROAD);
    308308
    309         if (mode &DL_PROMISC_REQ)
     309        if (mode & DL_PROMISC_REQ)
    310310                dep->de_flags |= DEF_PROMISC | DEF_MULTI | DEF_BROAD;
    311         if (mode &DL_MULTI_REQ)
     311        if (mode & DL_MULTI_REQ)
    312312                dep->de_flags |= DEF_MULTI;
    313         if (mode &DL_BROAD_REQ)
     313        if (mode & DL_BROAD_REQ)
    314314                dep->de_flags |= DEF_BROAD;
    315315
     
    329329 *                              do_stop                                      *
    330330 *===========================================================================*/
    331 void do_stop(dpeth_t * dep){
    332         if((dep->de_mode != DEM_SINK) && (dep->de_mode == DEM_ENABLED) && (dep->de_flags &DEF_ENABLED)){
    333                 outb_reg0(dep, DP_CR, CR_STP | CR_DM_ABORT);
    334                 (dep->de_stopf)(dep);
     331void do_stop( dpeth_t * dep ){
     332        if(( dep->de_mode != DEM_SINK ) && ( dep->de_mode == DEM_ENABLED ) && ( dep->de_flags & DEF_ENABLED )){
     333                outb_reg0( dep, DP_CR, CR_STP | CR_DM_ABORT );
     334                ( dep->de_stopf )( dep );
    335335
    336336                dep->de_flags = DEF_EMPTY;
     
    338338}
    339339
    340 int queue_packet(dpeth_t * dep, packet_t packet){
    341         packet_t tmp;
    342 
    343         if(dep->packet_count >= MAX_PACKETS){
    344                 netif_pq_release(packet_get_id(packet));
     340int queue_packet( dpeth_t * dep, packet_t packet ){
     341        packet_t        tmp;
     342
     343        if( dep->packet_count >= MAX_PACKETS ){
     344                netif_pq_release( packet_get_id( packet ));
    345345                return ELIMIT;
    346346        }
    347347
    348348        tmp = dep->packet_queue;
    349         while(pq_next(tmp)){
    350                 tmp = pq_next(tmp);
    351         }
    352         if(pq_add(&tmp, packet, 0, 0) != EOK){
     349        while( pq_next( tmp )){
     350                tmp = pq_next( tmp );
     351        }
     352        if( pq_add( & tmp, packet, 0, 0 ) != EOK ){
    353353                return EINVAL;
    354354        }
    355         if(! dep->packet_count){
     355        if( ! dep->packet_count ){
    356356                dep->packet_queue = packet;
    357357        }
     
    363363 *                      based on        do_vwrite                                    *
    364364 *===========================================================================*/
    365 int do_pwrite(dpeth_t * dep, packet_t packet, int from_int)
     365int do_pwrite( dpeth_t * dep, packet_t packet, int from_int )
    366366{
    367367//      int port, count, size;
     
    386386        }
    387387        assert(dep->de_mode == DEM_ENABLED);
    388         assert(dep->de_flags &DEF_ENABLED);
    389         if(dep->packet_queue && (! from_int)){
    390 //      if (dep->de_flags &DEF_SEND_AVAIL){
     388        assert(dep->de_flags & DEF_ENABLED);
     389        if( dep->packet_queue && ( ! from_int )){
     390//      if (dep->de_flags & DEF_SEND_AVAIL){
    391391//              panic("", "dp8390: send already in progress", NO_NUM);
    392                 return queue_packet(dep, packet);
     392                return queue_packet( dep, packet );
    393393        }
    394394
     
    402402//              reply(dep, OK, FALSE);
    403403//              return;
    404 //              return queue_packet(dep, packet);
     404//              return queue_packet( dep, packet );
    405405//      }
    406 //      assert(!(dep->de_flags &DEF_PACK_SEND));
     406//      assert(!(dep->de_flags & DEF_PACK_SEND));
    407407
    408408/*      if (vectored)
     
    419419        }
    420420        else
    421         {
     421        {  
    422422                dep->de_write_iovec.iod_iovec[0].iov_addr =
    423423                        (vir_bytes) mp->DL_ADDR;
     
    430430        }
    431431*/
    432         size = packet_get_data_length(packet);
    433         dep->de_write_iovec.iod_iovec[0].iov_addr = (vir_bytes) packet_get_data(packet);
     432        size = packet_get_data_length( packet );
     433        dep->de_write_iovec.iod_iovec[0].iov_addr = ( vir_bytes ) packet_get_data( packet );
    434434        dep->de_write_iovec.iod_iovec[0].iov_size = size;
    435435        dep->de_write_iovec.iod_iovec_s = 1;
     
    449449                outb_reg0(dep, DP_TPSR, dep->de_sendq[sendq_head].sq_sendpage);
    450450                outb_reg0(dep, DP_TBCR1, size >> 8);
    451                 outb_reg0(dep, DP_TBCR0, size &0xff);
     451                outb_reg0(dep, DP_TBCR0, size & 0xff);
    452452                outb_reg0(dep, DP_CR, CR_TXP | CR_EXTRA);/* there it goes.. */
    453453        }
     
    470470
    471471        assert(dep->de_mode == DEM_ENABLED);
    472         assert(dep->de_flags &DEF_ENABLED);
     472        assert(dep->de_flags & DEF_ENABLED);
    473473        return EOK;
    474474}
     
    516516        /* Step 4: */
    517517        dp_rcr_reg = 0;
    518         if (dep->de_flags &DEF_PROMISC)
     518        if (dep->de_flags & DEF_PROMISC)
    519519                dp_rcr_reg |= RCR_AB | RCR_PRO | RCR_AM;
    520         if (dep->de_flags &DEF_BROAD)
     520        if (dep->de_flags & DEF_BROAD)
    521521                dp_rcr_reg |= RCR_AB;
    522         if (dep->de_flags &DEF_MULTI)
     522        if (dep->de_flags & DEF_MULTI)
    523523                dp_rcr_reg |= RCR_AM;
    524524        outb_reg0(dep, DP_RCR, dp_rcr_reg);
     
    621621
    622622        dp_rcr_reg = 0;
    623         if (dep->de_flags &DEF_PROMISC)
     623        if (dep->de_flags & DEF_PROMISC)
    624624                dp_rcr_reg |= RCR_AB | RCR_PRO | RCR_AM;
    625         if (dep->de_flags &DEF_BROAD)
     625        if (dep->de_flags & DEF_BROAD)
    626626                dp_rcr_reg |= RCR_AB;
    627         if (dep->de_flags &DEF_MULTI)
     627        if (dep->de_flags & DEF_MULTI)
    628628                dp_rcr_reg |= RCR_AM;
    629629        outb_reg0(dep, DP_RCR, dp_rcr_reg);
     
    642642        outb_reg0(dep, DP_RBCR0, 0);
    643643        outb_reg0(dep, DP_RBCR1, 0);
    644         for (i= 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) &ISR_RST) == 0); i++)
     644        for (i= 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) & ISR_RST) == 0); i++)
    645645                ; /* Do nothing */
    646646        outb_reg0(dep, DP_TCR, TCR_1EXTERNAL|TCR_OFST);
     
    649649
    650650        /* Acknowledge the ISR_RDC (remote dma) interrupt. */
    651         for (i= 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) &ISR_RDC) == 0); i++)
     651        for (i= 0; i < 0x1000 && ((inb_reg0(dep, DP_ISR) & ISR_RDC) == 0); i++)
    652652                ; /* Do nothing */
    653         outb_reg0(dep, DP_ISR, inb_reg0(dep, DP_ISR) &~ISR_RDC);
     653        outb_reg0(dep, DP_ISR, inb_reg0(dep, DP_ISR) & ~ISR_RDC);
    654654
    655655        /* Reset the transmit ring. If we were transmitting a packet, we
     
    674674        int size, sendq_tail;
    675675
    676         if (!(dep->de_flags &DEF_ENABLED))
     676        if (!(dep->de_flags & DEF_ENABLED))
    677677                panic("", "dp8390: got premature interrupt", NO_NUM);
    678678
     
    683683                        break;
    684684                outb_reg0(dep, DP_ISR, isr);
    685                 if (isr &(ISR_PTX|ISR_TXE))
    686                 {
    687                         if (isr &ISR_TXE)
     685                if (isr & (ISR_PTX|ISR_TXE))
     686                {
     687                        if (isr & ISR_TXE)
    688688                        {
    689689#if DEBUG
    690  {printf("%s: got send Error\n", dep->de_name);}
     690 { printf("%s: got send Error\n", dep->de_name); }
    691691#endif
    692692                                dep->de_stat.ets_sendErr++;
     
    696696                                tsr = inb_reg0(dep, DP_TSR);
    697697
    698                                 if (tsr &TSR_PTX) dep->de_stat.ets_packetT++;
     698                                if (tsr & TSR_PTX) dep->de_stat.ets_packetT++;
    699699#if 0   /* Reserved in later manuals, should be ignored */
    700                                 if (!(tsr &TSR_DFR))
     700                                if (!(tsr & TSR_DFR))
    701701                                {
    702702                                        /* In most (all?) implementations of
     
    707707                                }
    708708#endif
    709                                 if (tsr &TSR_COL) dep->de_stat.ets_collision++;
    710                                 if (tsr &TSR_ABT) dep->de_stat.ets_transAb++;
    711                                 if (tsr &TSR_CRS) dep->de_stat.ets_carrSense++;
    712                                 if (tsr &TSR_FU
     709                                if (tsr & TSR_COL) dep->de_stat.ets_collision++;
     710                                if (tsr & TSR_ABT) dep->de_stat.ets_transAb++;
     711                                if (tsr & TSR_CRS) dep->de_stat.ets_carrSense++;
     712                                if (tsr & TSR_FU
    713713                                        && ++dep->de_stat.ets_fifoUnder <= 10)
    714714                                {
     
    716716                                                dep->de_name);
    717717                                }
    718                                 if (tsr &TSR_CDH
     718                                if (tsr & TSR_CDH
    719719                                        && ++dep->de_stat.ets_CDheartbeat <= 10)
    720720                                {
     
    722722                                                dep->de_name);
    723723                                }
    724                                 if (tsr &TSR_OWC) dep->de_stat.ets_OWC++;
     724                                if (tsr & TSR_OWC) dep->de_stat.ets_OWC++;
    725725                        }
    726726                        sendq_tail= dep->de_sendq_tail;
     
    747747                                        dep->de_sendq[sendq_tail].sq_sendpage);
    748748                                outb_reg0(dep, DP_TBCR1, size >> 8);
    749                                 outb_reg0(dep, DP_TBCR0, size &0xff);
     749                                outb_reg0(dep, DP_TBCR0, size & 0xff);
    750750                                outb_reg0(dep, DP_CR, CR_TXP | CR_EXTRA);
    751751                        }
    752 //                      if (dep->de_flags &DEF_SEND_AVAIL)
     752//                      if (dep->de_flags & DEF_SEND_AVAIL)
    753753                                dp_send(dep);
    754754                }
    755755
    756                 if (isr &ISR_PRX)
     756                if (isr & ISR_PRX)
    757757                {
    758758                        /* Only call dp_recv if there is a read request */
    759 //                      if (dep->de_flags) &DEF_READING)
     759//                      if (dep->de_flags) & DEF_READING)
    760760                                dp_recv(dep);
    761761                }
    762762               
    763                 if (isr &ISR_RXE) dep->de_stat.ets_recvErr++;
    764                 if (isr &ISR_CNT)
     763                if (isr & ISR_RXE) dep->de_stat.ets_recvErr++;
     764                if (isr & ISR_CNT)
    765765                {
    766766                        dep->de_stat.ets_CRCerr += inb_reg0(dep, DP_CNTR0);
     
    768768                        dep->de_stat.ets_missedP += inb_reg0(dep, DP_CNTR2);
    769769                }
    770                 if (isr &ISR_OVW)
     770                if (isr & ISR_OVW)
    771771                {
    772772                        dep->de_stat.ets_OVW++;
    773773#if 0
    774                         {printW(); printf(
    775                                 "%s: got overwrite warning\n", dep->de_name);}
     774                        { printW(); printf(
     775                                "%s: got overwrite warning\n", dep->de_name); }
    776776#endif
    777 /*                      if (dep->de_flags &DEF_READING)
     777/*                      if (dep->de_flags & DEF_READING)
    778778                        {
    779779                                printf(
     
    782782                        }
    783783*/              }
    784                 if (isr &ISR_RDC)
     784                if (isr & ISR_RDC)
    785785                {
    786786                        /* Nothing to do */
    787787                }
    788                 if (isr &ISR_RST)
     788                if (isr & ISR_RST)
    789789                {
    790790                        /* this means we got an interrupt but the ethernet
     
    794794                         */
    795795#if 0
    796                          {printW(); printf(
    797                                 "%s: NIC stopped\n", dep->de_name);}
     796                         { printW(); printf(
     797                                "%s: NIC stopped\n", dep->de_name); }
    798798#endif
    799799                        dep->de_flags |= DEF_STOPPED;
     
    802802                isr = inb_reg0(dep, DP_ISR);
    803803        }
    804 //      if ((dep->de_flags &(DEF_READING|DEF_STOPPED)) ==
     804//      if ((dep->de_flags & (DEF_READING|DEF_STOPPED)) ==
    805805//                                              (DEF_READING|DEF_STOPPED))
    806         if ((dep->de_flags &DEF_STOPPED) == DEF_STOPPED)
     806        if ((dep->de_flags & DEF_STOPPED) == DEF_STOPPED )
    807807        {
    808808                /* The chip is stopped, and all arrived packets are
     
    874874                        dep->de_stat.ets_packetR++;
    875875                }
    876 */              else if (header.dr_status &RSR_FO)
     876*/              else if (header.dr_status & RSR_FO)
    877877                {
    878878                        /* This is very serious, so we issue a warning and
     
    883883                        next = curr;
    884884                }
    885                 else if ((header.dr_status &RSR_PRX) &&
    886                                            (dep->de_flags &DEF_ENABLED))
     885                else if ((header.dr_status & RSR_PRX) &&
     886                                           (dep->de_flags & DEF_ENABLED))
    887887                {
    888888//                      if (dep->de_safecopy_read)
     
    914914        packet_t packet;
    915915
    916 //      if (!(dep->de_flags &DEF_SEND_AVAIL))
     916//      if (!(dep->de_flags & DEF_SEND_AVAIL))
    917917//              return;
    918918
    919         if(dep->packet_queue){
     919        if( dep->packet_queue ){
    920920                packet = dep->packet_queue;
    921                 dep->packet_queue = pq_detach(packet);
    922                 do_pwrite(dep, packet, TRUE);
    923                 netif_pq_release(packet_get_id(packet));
     921                dep->packet_queue = pq_detach( packet );
     922                do_pwrite( dep, packet, TRUE );
     923                netif_pq_release( packet_get_id( packet ));
    924924                -- dep->packet_count;
    925925        }
    926 //      if(! dep->packet_queue){
     926//      if( ! dep->packet_queue ){
    927927//              dep->de_flags &= ~DEF_SEND_AVAIL;
    928928//      }
     
    967967{
    968968        offset = page * DP_PAGESIZE + offset;
    969         outb_reg0(dep, DP_RBCR0, size &0xFF);
     969        outb_reg0(dep, DP_RBCR0, size & 0xFF);
    970970        outb_reg0(dep, DP_RBCR1, size >> 8);
    971         outb_reg0(dep, DP_RSAR0, offset &0xFF);
     971        outb_reg0(dep, DP_RSAR0, offset & 0xFF);
    972972        outb_reg0(dep, DP_RSAR1, offset >> 8);
    973973        outb_reg0(dep, DP_CR, CR_DM_RR | CR_PS_P0 | CR_STA);
     
    987987{
    988988        offset = page * DP_PAGESIZE + offset;
    989         outb_reg0(dep, DP_RBCR0, size &0xFF);
     989        outb_reg0(dep, DP_RBCR0, size & 0xFF);
    990990        outb_reg0(dep, DP_RBCR1, size >> 8);
    991         outb_reg0(dep, DP_RSAR0, offset &0xFF);
     991        outb_reg0(dep, DP_RSAR0, offset & 0xFF);
    992992        outb_reg0(dep, DP_RSAR1, offset >> 8);
    993993        outb_reg0(dep, DP_CR, CR_DM_RR | CR_PS_P0 | CR_STA);
    994994
    995         assert (!(size &1));
     995        assert (!(size & 1));
    996996        insw(dep->de_data_port, dst, size);
    997997}
     
    10051005{
    10061006        int last, count;
    1007         packet_t packet;
    1008 
    1009 //      if (!(dep->de_flags &DEF_READING))
     1007        packet_t        packet;
     1008
     1009//      if (!(dep->de_flags & DEF_READING))
    10101010//              return EGENERIC;
    10111011
    1012         packet = netif_packet_get_1(length);
    1013         if(! packet){
    1014                 return ENOMEM;
    1015         }
    1016         dep->de_read_iovec.iod_iovec[0].iov_addr = (vir_bytes) packet_suffix(packet, length);
     1012        packet = netif_packet_get_1( length );
     1013        if( ! packet ) return ENOMEM;
     1014        dep->de_read_iovec.iod_iovec[0].iov_addr = ( vir_bytes ) packet_suffix( packet, length );
    10171015        dep->de_read_iovec.iod_iovec[0].iov_size = length;
    10181016        dep->de_read_iovec.iod_iovec_s = 1;
     
    10301028                        sizeof(dp_rcvhdr_t), &dep->de_tmp_iovec, 0, count);
    10311029                (dep->de_nic2userf)(dep, dep->de_startpage * DP_PAGESIZE,
    1032                         &dep->de_read_iovec, count, length - count);
     1030                                &dep->de_read_iovec, count, length - count);
    10331031        }
    10341032        else
     
    10421040//      dep->de_flags &= ~DEF_READING;
    10431041
    1044         if(dep->received_count >= MAX_PACKETS){
    1045                 netif_pq_release(packet_get_id(packet));
     1042        if( dep->received_count >= MAX_PACKETS ){
     1043                netif_pq_release( packet_get_id( packet ));
    10461044                return ELIMIT;
    10471045        }else{
    1048                 if(pq_add(&dep->received_queue, packet, 0, 0) == EOK){
     1046                if( pq_add( & dep->received_queue, packet, 0, 0 ) == EOK ){
    10491047                        ++ dep->received_count;
    10501048                }else{
    1051                         netif_pq_release(packet_get_id(packet));
     1049                        netif_pq_release( packet_get_id( packet ));
    10521050                }
    10531051        }
     
    11211119        outb_reg0(dep, DP_ISR, ISR_RDC);
    11221120
    1123         outb_reg0(dep, DP_RBCR0, count &0xFF);
     1121        outb_reg0(dep, DP_RBCR0, count & 0xFF);
    11241122        outb_reg0(dep, DP_RBCR1, count >> 8);
    1125         outb_reg0(dep, DP_RSAR0, nic_addr &0xFF);
     1123        outb_reg0(dep, DP_RSAR0, nic_addr & 0xFF);
    11261124        outb_reg0(dep, DP_RSAR1, nic_addr >> 8);
    11271125        outb_reg0(dep, DP_CR, CR_DM_RW | CR_PS_P0 | CR_STA);
     
    11561154        for (i= 0; i<100; i++)
    11571155        {
    1158                 if (inb_reg0(dep, DP_ISR) &ISR_RDC)
     1156                if (inb_reg0(dep, DP_ISR) & ISR_RDC)
    11591157                        break;
    11601158        }
     
    11831181        int odd_byte;
    11841182
    1185         ecount= (count+1) &~1;
     1183        ecount= (count+1) & ~1;
    11861184        odd_byte= 0;
    11871185
    11881186        outb_reg0(dep, DP_ISR, ISR_RDC);
    1189         outb_reg0(dep, DP_RBCR0, ecount &0xFF);
     1187        outb_reg0(dep, DP_RBCR0, ecount & 0xFF);
    11901188        outb_reg0(dep, DP_RBCR1, ecount >> 8);
    1191         outb_reg0(dep, DP_RSAR0, nic_addr &0xFF);
     1189        outb_reg0(dep, DP_RSAR0, nic_addr & 0xFF);
    11921190        outb_reg0(dep, DP_RSAR1, nic_addr >> 8);
    11931191        outb_reg0(dep, DP_CR, CR_DM_RW | CR_PS_P0 | CR_STA);
     
    12361234                                continue;
    12371235                }
    1238                 ecount= bytes &~1;
     1236                ecount= bytes & ~1;
    12391237                if (ecount != 0)
    12401238                {
     
    12731271        for (i= 0; i<100; i++)
    12741272        {
    1275                 if (inb_reg0(dep, DP_ISR) &ISR_RDC)
     1273                if (inb_reg0(dep, DP_ISR) & ISR_RDC)
    12761274                        break;
    12771275        }
     
    13451343        vir_bytes bytes;
    13461344
    1347         outb_reg0(dep, DP_RBCR0, count &0xFF);
     1345        outb_reg0(dep, DP_RBCR0, count & 0xFF);
    13481346        outb_reg0(dep, DP_RBCR1, count >> 8);
    1349         outb_reg0(dep, DP_RSAR0, nic_addr &0xFF);
     1347        outb_reg0(dep, DP_RSAR0, nic_addr & 0xFF);
    13501348        outb_reg0(dep, DP_RSAR1, nic_addr >> 8);
    13511349        outb_reg0(dep, DP_CR, CR_DM_RR | CR_PS_P0 | CR_STA);
     
    13971395        int odd_byte;
    13981396
    1399         ecount= (count+1) &~1;
     1397        ecount= (count+1) & ~1;
    14001398        odd_byte= 0;
    14011399
    1402         outb_reg0(dep, DP_RBCR0, ecount &0xFF);
     1400        outb_reg0(dep, DP_RBCR0, ecount & 0xFF);
    14031401        outb_reg0(dep, DP_RBCR1, ecount >> 8);
    1404         outb_reg0(dep, DP_RSAR0, nic_addr &0xFF);
     1402        outb_reg0(dep, DP_RSAR0, nic_addr & 0xFF);
    14051403        outb_reg0(dep, DP_RSAR1, nic_addr >> 8);
    14061404        outb_reg0(dep, DP_CR, CR_DM_RR | CR_PS_P0 | CR_STA);
     
    14471445                                continue;
    14481446                }
    1449                 ecount= bytes &~1;
     1447                ecount= bytes & ~1;
    14501448                if (ecount != 0)
    14511449                {
     
    15041502dpeth_t *dep;
    15051503{
    1506 //      static eth_stat_t empty_stat = {0, 0, 0, 0, 0, 0        /* ,... */};
     1504//      static eth_stat_t empty_stat = {0, 0, 0, 0, 0, 0        /* ,... */ };
    15071505
    15081506//      int ifnr;
     
    15531551                return;
    15541552        }else{
    1555                 printf("map_hw_buffer: no buffer!\n");
     1553                printf( "map_hw_buffer: no buffer!\n" );
    15561554        }
    15571555
     
    15861584
    15871585        status = 0;
    1588         if (dep->de_flags &DEF_PACK_SEND)
     1586        if (dep->de_flags & DEF_PACK_SEND)
    15891587                status |= DL_PACK_SEND;
    1590         if (dep->de_flags &DEF_PACK_RECV)
     1588        if (dep->de_flags & DEF_PACK_RECV)
    15911589                status |= DL_PACK_RECV;
    15921590
     
    16351633        size_t i;
    16361634
    1637         for(i = 0; i < size; ++ i){
    1638                 *((uint8_t *) buf + i) = inb(port);
     1635        for( i = 0; i < size; ++ i ){
     1636                *(( uint8_t * ) buf + i ) = inb( port );
    16391637        }
    16401638}
     
    16441642        size_t i;
    16451643
    1646         for(i = 0; i * 2 < size; ++ i){
    1647                 *((uint16_t *) buf + i) = inw(port);
     1644        for( i = 0; i * 2 < size; ++ i ){
     1645                *(( uint16_t * ) buf + i ) = inw( port );
    16481646        }
    16491647}
     
    16531651        size_t i;
    16541652
    1655         for(i = 0; i < size; ++ i){
    1656                 outb(port, *((uint8_t *) buf + i));
     1653        for( i = 0; i < size; ++ i ){
     1654                outb( port, *(( uint8_t * ) buf + i ));
    16571655        }
    16581656}
     
    16621660        size_t i;
    16631661
    1664         for(i = 0; i * 2 < size; ++ i){
    1665                 outw(port, *((uint16_t *) buf + i));
     1662        for( i = 0; i * 2 < size; ++ i ){
     1663                outw( port, *(( uint16_t * ) buf + i ));
    16661664        }
    16671665}
Note: See TracChangeset for help on using the changeset viewer.