Changeset 7f7298c4 in rtems for c/src/libchip


Ignore:
Timestamp:
Feb 23, 2006, 9:05:16 PM (14 years ago)
Author:
Eric Norum <WENorum@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
61b0cc6
Parents:
0d0560a1
Message:

Changes from Daron Chabot

Location:
c/src/libchip/network
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/libchip/network/if_dc.c

    r0d0560a1 r7f7298c4  
    101101 */
    102102
     103#if defined(DRIVER_SUPPORTED)
     104        #undef DRIVER_SUPPORTED
     105#endif
     106
    103107#if defined(__i386__)
    104   #define DRIVER_SUPPORTED
     108        #define DRIVER_SUPPORTED
    105109#endif
    106110
    107111#if defined(__PPC__) && (defined(mpc604) || defined(mpc750) || defined(mpc603e))
    108   #define DRIVER_SUPPORTED
    109 #endif
    110 
    111 #undef DRIVER_SUPPORTED
    112 
    113 #if defined(DRIVER_SUPPORTED)
     112        #define DRIVER_SUPPORTED
     113        #warning The if_dc driver is untested on the PPC platform !!!
     114#endif
     115 
     116
     117#if defined(DRIVER_SUPPORTED) /* this covers the file "globally"... */
     118#include <bsp.h>
    114119#include <rtems.h>
     120#include <rtems/pci.h>
     121
    115122#include <rtems/error.h>
     123#include <errno.h>
    116124#include <rtems/rtems_bsdnet.h>
    117 
    118  
    119125
    120126#include <net/if_types.h>
     
    131137#include <bsp.h>
    132138 
     139/* moved to cpukit/include/rtems in CVS current ! */
     140//#include "if_media.h"
     141//#include "pci.h"
    133142#include <net/if_media.h>
    134143#include <rtems/pci.h>
     
    189198#define IRQ_EVENT       RTEMS_EVENT_13  /* Ha ... */
    190199static struct dc_softc dc_softc_devs[NDRIVER];
     200
     201#define UNUSED
    191202
    192203#if 0
     
    284295static void             dc_daemon(void *);
    285296static void             dc_start(struct ifnet *);
    286 static int              dc_ioctl(struct ifnet *, int, caddr_t);
     297static int              dc_ioctl(struct ifnet *, u_long, caddr_t);
    287298static void             dc_init(void *);
    288299static void             dc_stop(struct dc_softc *);
     
    316327static void             dc_setcfg(struct dc_softc *, int);
    317328static u_int32_t        dc_crc_le(struct dc_softc *, caddr_t);
     329#ifndef UNUSED
    318330static u_int32_t        dc_crc_be(caddr_t);
     331#endif
    319332static void             dc_setfilt_21143(struct dc_softc *);
    320333static void             dc_setfilt_asix(struct dc_softc *);
     
    11301143}
    11311144
     1145#ifndef UNUSED
    11321146/*
    11331147 * Calculate CRC of a multicast group address, return the lower 6 bits.
     
    11571171        return((crc >> 26) & 0x0000003F);
    11581172}
    1159 
     1173#endif
    11601174
    11611175/*
     
    15981612
    15991613        while(t->dc_name != NULL) {
    1600                 rc = pcib_find_by_devid(t->dc_vid, t->dc_did, \
    1601                                 (unitnum - 1), &t->dc_devsig);
     1614                rc = pci_find_device(t->dc_vid, t->dc_did, \
     1615                                (unitnum - 1), &t->dc_bus, &t->dc_dev, &t->dc_fun);
    16021616                if (rc == PCIB_ERR_SUCCESS) {
    16031617                        /* Check the PCI revision */
    1604                         pcib_conf_read32(t->dc_devsig, DC_PCI_CFRV, &rev);
    1605                         rev &= 0xFF;
     1618                        //pcib_conf_read32(t->dc_devsig, DC_PCI_CFRV, &rev);
     1619                        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     1620                                                                        DC_PCI_CFRV, &rev);
     1621                        rev &= 0xFF;
     1622                       
    16061623                        if (t->dc_did == DC_DEVICEID_98713 &&
    16071624                            rev >= DC_REVISION_98713A)
     
    18861903rtems_dc_driver_attach(struct rtems_bsdnet_ifconfig *config, int attaching)
    18871904{
    1888         /*int                   s, tmp = 0;*/
     1905        int                             rc;     
    18891906        u_char                  eaddr[ETHER_ADDR_LEN];
    18901907       
     
    18951912        struct dc_softc         *sc;
    18961913        struct ifnet            *ifp;
     1914        struct dc_type          *t;
    18971915        u_int32_t               revision;
    18981916        int                     error = 0, mac_offset;
    1899 #if defined(__i386__)
    1900         int                     sig;
    1901         int                     value;
    1902 #endif
     1917        unsigned int            value;
    19031918       
    19041919        /*
     
    19161931        }
    19171932
    1918 
    1919         /*
    1920          * First, find a DEC board
    1921          */
    19221933        sc = &dc_softc_devs[unitNumber - 1];
    19231934        ifp = &sc->arpcom.ac_if;
     
    19451956                return 0;
    19461957        }
     1958        t = sc->dc_info;
    19471959
    19481960       
     
    19501962         * Map control/status registers.
    19511963         */
    1952         sig = sc->dc_info->dc_devsig;
    1953         pcib_conf_read32(sig, PCI_COMMAND, &command);
     1964        //sig = sc->dc_info->dc_devsig;
     1965        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     1966                                        PCI_COMMAND, &command);
     1967        //pcib_conf_read32(sig, PCI_COMMAND, &command);
    19541968        command |= (PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
    1955         pcib_conf_write32(sig, PCI_COMMAND, command);
    1956         pcib_conf_read32(sig, PCI_COMMAND, &command);
     1969        pci_write_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     1970                                        PCI_COMMAND, command);
     1971        //pcib_conf_write32(sig, PCI_COMMAND, command);
     1972        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     1973                                        PCI_COMMAND, &command);
     1974        //pcib_conf_read32(sig, PCI_COMMAND, &command);
    19571975
    19581976#ifdef DC_USEIOSPACE
     
    19852003
    19862004        /* sc->membase is the address of the card's CSRs !!! */
    1987         pcib_conf_read32(sig, DC_PCI_CFBMA, &value);
     2005        //pcib_conf_read32(sig, DC_PCI_CFBMA, &value);
     2006        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2007                                        DC_PCI_CFBMA, &value);
    19882008        sc->membase = value;
    19892009       
    19902010        /* Allocate interrupt */
    19912011        memset(&sc->irqInfo, 0, sizeof(rtems_irq_connect_data));
    1992         pcib_conf_read32(sig, DC_PCI_CFIT, &value);
     2012        //pcib_conf_read32(sig, DC_PCI_CFIT, &value);
     2013        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2014                                        DC_PCI_CFIT, &value);
     2015       
    19932016        sc->irqInfo.name = value & 0xFF;
    1994 
    19952017        sc->irqInfo.hdl = (rtems_irq_hdl)dc_intr;
     2018        sc->irqInfo.handle = (void *)sc; /* new parameter */
    19962019        sc->irqInfo.on = nop;
    19972020        sc->irqInfo.off = nop;
    19982021        sc->irqInfo.isOn = decISON;
    19992022       
    2000         if(!(BSP_install_rtems_irq_handler( &sc->irqInfo ))) {
     2023#ifdef BSP_SHARED_HANDLER_SUPPORT
     2024        rc = BSP_install_rtems_shared_irq_handler( &sc->irqInfo );
     2025#else
     2026        rc = BSP_install_rtems_irq_handler( &sc->irqInfo );
     2027#endif
     2028        if(!rc) {
    20012029                rtems_panic("Can't install dec2114x irq handler.\n");
    20022030        }
     
    20302058        sc->dc_info = dc_devtype(dev);
    20312059        */
    2032         pcib_conf_read32(sig, DC_PCI_CFRV, &revision);
     2060        //pcib_conf_read32(sig, DC_PCI_CFRV, &revision);
     2061        pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2062                                        DC_PCI_CFRV, &revision);
    20332063        revision &= 0x000000FF;
    20342064
     
    20532083                sc->dc_pmode = DC_PMODE_MII;
    20542084                /* Increase the latency timer value. */
    2055                 pcib_conf_read32(sig, DC_PCI_CFLT, &command);
     2085                //pcib_conf_read32(sig, DC_PCI_CFLT, &command);
     2086                pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2087                                                DC_PCI_CFLT, &command);
    20562088                command &= 0xFFFF00FF;
    20572089                command |= 0x00008000;
    2058                 pcib_conf_write32(sig, DC_PCI_CFLT, command);
     2090                //pcib_conf_write32(sig, DC_PCI_CFLT, command);
     2091                pci_write_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2092                                                DC_PCI_CFLT, command);
    20592093                break;
    20602094        case DC_DEVICEID_AL981:
     
    21432177        }
    21442178        else {
    2145                 pcib_conf_read32(sig, DC_PCI_CFLT, &value);
     2179                //pcib_conf_read32(sig, DC_PCI_CFLT, &value);
     2180                pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2181                                                DC_PCI_CFLT, &value);
    21462182                sc->dc_cachesize = (u_int8_t)(value & 0xFF);
    21472183        }
     
    21522188        /* Take 21143 out of snooze mode */
    21532189        if (DC_IS_INTEL(sc)) {
    2154                 pcib_conf_read32(sig, DC_PCI_CFDD, &command);
     2190                //pcib_conf_read32(sig, DC_PCI_CFDD, &command);
     2191                pci_read_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2192                                                DC_PCI_CFDD, &command);
    21552193                command &= ~(DC_CFDD_SNOOZE_MODE|DC_CFDD_SLEEP_MODE);
    2156                 pcib_conf_write32(sig, DC_PCI_CFDD, command);
     2194                //pcib_conf_write32(sig, DC_PCI_CFDD, command);
     2195                pci_write_config_dword(t->dc_bus,t->dc_dev,t->dc_fun,\
     2196                                                DC_PCI_CFDD, command);
    21572197        }
    21582198       
     
    22422282        ifp->if_name = unitName; /*sc->dc_name;*/
    22432283        ifp->if_mtu = ETHERMTU;
    2244         ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;/* | IFF_MULTICAST;*/
     2284        ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX; /* | IFF_MULTICAST;*/
    22452285        ifp->if_ioctl = dc_ioctl;
    22462286        ifp->if_output = ether_output;
     
    23272367        */
    23282368
    2329 #ifdef SRM_MEDIA
     2369#ifdef SRM_MEDIA /* only defined if __alpha__ is defined... */
    23302370        sc->dc_srm_media = 0;
    23312371
     
    32863326{
    32873327        struct dc_softc         *sc;
    3288         struct mbuf             *m_head = NULL;
    3289         int                     idx;
     3328        struct mbuf                     *m_head = NULL;
     3329        unsigned int            idx;
    32903330
    32913331        sc = ifp->if_softc;
     
    35823622static int dc_ioctl(ifp, command, data)
    35833623        struct ifnet            *ifp;
    3584         int                     command;
     3624        u_long                  command;
    35853625        caddr_t                 data;
    35863626{
     
    38073847#endif
    38083848
    3809 
    3810 #endif  /* end if supported */
     3849#endif /* end if supported */
  • c/src/libchip/network/if_dcreg.h

    r0d0560a1 r7f7298c4  
    475475        u_int16_t               dc_did;
    476476        char                    *dc_name;
    477         int                     dc_devsig;
     477        int                             dc_devsig;
     478    int                         dc_bus;
     479        int                             dc_dev;
     480        int                             dc_fun;
    478481};
    479482
     
    679682        struct arpcom           arpcom;         /* interface info */
    680683        rtems_irq_connect_data  irqInfo;
    681         volatile unsigned32     membase;
     684        volatile u_int32_t      membase;
    682685        rtems_id                daemontid;
    683686#if 0
Note: See TracChangeset for help on using the changeset viewer.