Changeset a677fe9 in rtems-libbsd


Ignore:
Timestamp:
Oct 23, 2017, 7:11:15 AM (20 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
eeb3fd5d9b07ac9a2e280cff60a1b762bd273a8d, 1e989998de954bef51e6c19cc3d64d39f32100aa
Children:
fb84af0
Parents:
b1fd51c
git-author:
Sebastian Huber <sebastian.huber@…> (10/23/17 07:11:15)
git-committer:
Sebastian Huber <sebastian.huber@…> (10/23/17 07:24:08)
Message:

dpaa: Use only one FMan MAC SGT zone

Location:
rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c

    rb1fd51c ra677fe9  
    6363};
    6464
     65static uma_zone_t fman_mac_sgt_zone;
     66
     67static void
     68fman_mac_sgt_init(void)
     69{
     70
     71        fman_mac_sgt_zone = uma_zcreate("FMan MAC SGT", sizeof(struct fman_mac_sgt),
     72            NULL, NULL, NULL, NULL, 16, 0);
     73        if (fman_mac_sgt_zone == NULL) {
     74                panic("Cannot create FMan MAC SGT zone");
     75        }
     76}
     77SYSINIT(fman_mac_sgt, SI_SUB_MBUF, SI_ORDER_ANY, fman_mac_sgt_init, NULL);
     78
    6579static void
    6680fman_mac_enable_tx_csum(struct mbuf *m, struct qm_fd *fd,
     
    122136                }
    123137
    124                 sgt = uma_zalloc(sc->sgt_zone, M_NOWAIT);
     138                sgt = uma_zalloc(fman_mac_sgt_zone, M_NOWAIT);
    125139                if (sgt == NULL) {
    126140                        if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1);
     
    163177                                if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1);
    164178                                m_freem(m);
    165                                 uma_zfree(sc->sgt_zone, sgt);
     179                                uma_zfree(fman_mac_sgt_zone, sgt);
    166180                                continue;
    167181                        }
     
    418432        callout_init_mtx(&sc->fman_mac_callout, &sc->mtx, 0);
    419433
    420         sc->sgt_zone = uma_zcreate("FMan MAC SGT", sizeof(struct fman_mac_sgt),
    421             NULL, NULL, NULL, NULL, 16, 0);
    422         if (sc->sgt_zone == NULL) {
    423                 goto error_0;
    424         }
    425 
    426434        /* Set up the Ethernet interface */
    427435        sc->ifp = ifp = if_alloc(IFT_ETHER);
    428436        if (sc->ifp == NULL) {
    429                 goto error_1;
     437                goto error;
    430438        }
    431439
     
    469477
    470478        if_free(ifp);
    471 error_1:
    472         uma_zdestroy(sc->sgt_zone);
    473 error_0:
     479error:
    474480        mtx_destroy(&sc->mtx);
    475481        return (ENXIO);
     
    488494
    489495        if_free(sc->ifp);
    490         uma_zdestroy(sc->sgt_zone);
    491496        mtx_destroy(&sc->mtx);
    492497
     
    571576void dpaa_cleanup_tx_fd(struct ifnet *ifp, const struct qm_fd *fd)
    572577{
    573         struct fman_mac_softc *sc;
    574578        struct fman_mac_sgt *sgt;
    575579
    576580        BSD_ASSERT(qm_fd_get_format(fd) == qm_fd_sg);
    577581
    578         sc = ifp->if_softc;
    579582        sgt = (struct fman_mac_sgt *)qm_fd_addr(fd);
    580583
    581584        m_freem(sgt->m);
    582         uma_zfree(sc->sgt_zone, sgt);
     585        uma_zfree(fman_mac_sgt_zone, sgt);
    583586}
    584587
  • rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.h

    rb1fd51c ra677fe9  
    6060        int                     if_flags;
    6161        struct mtx              mtx;
    62         uma_zone_t              sgt_zone;
    6362        struct callout          fman_mac_callout;
    6463        char                    name[8];
Note: See TracChangeset for help on using the changeset viewer.