Lines Matching refs:mwbmap_p

680 	struct bcm_mwbmap * mwbmap_p;  in bcm_mwbmap_init()  local
698 mwbmap_p = (bcm_mwbmap_t *)MALLOC(osh, size); in bcm_mwbmap_init()
699 if (mwbmap_p == (bcm_mwbmap_t *)NULL) { in bcm_mwbmap_init()
703 memset(mwbmap_p, 0, size); in bcm_mwbmap_init()
706 mwbmap_p->imaps = (uint16)words; in bcm_mwbmap_init()
707 mwbmap_p->ifree = (int32)items_max; in bcm_mwbmap_init()
708 mwbmap_p->total = (uint16)items_max; in bcm_mwbmap_init()
711 mwbmap_p->magic = BCM_MWBMAP_HDL(mwbmap_p); in bcm_mwbmap_init()
715 for (wordix = 0U; wordix < mwbmap_p->imaps; wordix++) { in bcm_mwbmap_init()
716 mwbmap_p->id_bitmap[wordix] = (uint32)(~0U); in bcm_mwbmap_init()
718 mwbmap_p->wd_count[wordix] = BCM_MWBMAP_BITS_WORD; in bcm_mwbmap_init()
724 uint32 * bmap_p = &mwbmap_p->id_bitmap[mwbmap_p->imaps - 1]; in bcm_mwbmap_init()
727 mwbmap_p->wd_count[mwbmap_p->imaps - 1] = (int8)extra; /* fixup count */ in bcm_mwbmap_init()
732 extra = BCM_MWBMAP_MODOP(mwbmap_p->imaps); in bcm_mwbmap_init()
733 words = BCM_MWBMAP_DIVOP(mwbmap_p->imaps) + ((extra != 0U) ? 1U : 0U); in bcm_mwbmap_init()
735 mwbmap_p->wmaps = (uint16)words; in bcm_mwbmap_init()
737 for (wordix = 0U; wordix < mwbmap_p->wmaps; wordix++) in bcm_mwbmap_init()
738 mwbmap_p->wd_bitmap[wordix] = (uint32)(~0U); in bcm_mwbmap_init()
740 uint32 * bmap_p = &mwbmap_p->wd_bitmap[mwbmap_p->wmaps - 1]; in bcm_mwbmap_init()
744 return mwbmap_p; in bcm_mwbmap_init()
754 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_fini() local
757 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_fini()
759 MFREE(osh, mwbmap_p, sizeof(struct bcm_mwbmap) in bcm_mwbmap_fini()
760 + (sizeof(uint32) * mwbmap_p->imaps)); in bcm_mwbmap_fini()
768 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_alloc() local
772 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_alloc()
775 for (wordix = 0; wordix < mwbmap_p->wmaps; ++wordix) { in bcm_mwbmap_alloc()
777 bitmap = mwbmap_p->wd_bitmap[wordix]; /* get the word bitmap */ in bcm_mwbmap_alloc()
783 bitmap_p = &mwbmap_p->wd_bitmap[wordix]; in bcm_mwbmap_alloc()
795 count = bcm_cntsetbits(mwbmap_p->id_bitmap[wordix]) - 1; in bcm_mwbmap_alloc()
797 mwbmap_p->wd_count[wordix]--; in bcm_mwbmap_alloc()
798 count = (uint32)mwbmap_p->wd_count[wordix]; in bcm_mwbmap_alloc()
800 (bcm_cntsetbits(mwbmap_p->id_bitmap[wordix]) - 1)); in bcm_mwbmap_alloc()
814 bitmap_p = &mwbmap_p->id_bitmap[wordix]; in bcm_mwbmap_alloc()
816 bitmap = mwbmap_p->id_bitmap[wordix]; /* get the id bitmap */ in bcm_mwbmap_alloc()
827 mwbmap_p->ifree--; /* decrement system wide free count */ in bcm_mwbmap_alloc()
828 MWBMAP_ASSERT(mwbmap_p->ifree >= 0); in bcm_mwbmap_alloc()
833 mwbmap_p->ifree)); in bcm_mwbmap_alloc()
841 ASSERT(mwbmap_p->ifree == 0); in bcm_mwbmap_alloc()
850 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_force() local
854 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_force()
856 ASSERT(bitix < mwbmap_p->total); in bcm_mwbmap_force()
861 bitmap_p = &mwbmap_p->id_bitmap[wordix]; in bcm_mwbmap_force()
865 mwbmap_p->ifree--; /* update free count */ in bcm_mwbmap_force()
866 ASSERT(mwbmap_p->ifree >= 0); in bcm_mwbmap_force()
870 mwbmap_p->ifree)); in bcm_mwbmap_force()
878 bitmap_p = &mwbmap_p->wd_bitmap[wordix]; in bcm_mwbmap_force()
881 count = bcm_cntsetbits(mwbmap_p->id_bitmap[bitix]); in bcm_mwbmap_force()
883 mwbmap_p->wd_count[bitix]--; in bcm_mwbmap_force()
884 count = (uint32)mwbmap_p->wd_count[bitix]; in bcm_mwbmap_force()
885 MWBMAP_ASSERT(count == bcm_cntsetbits(mwbmap_p->id_bitmap[bitix])); in bcm_mwbmap_force()
904 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_free() local
908 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_free()
910 ASSERT(bitix < mwbmap_p->total); in bcm_mwbmap_free()
915 bitmap_p = &mwbmap_p->id_bitmap[wordix]; in bcm_mwbmap_free()
919 mwbmap_p->ifree++; /* update free count */ in bcm_mwbmap_free()
920 ASSERT(mwbmap_p->ifree <= mwbmap_p->total); in bcm_mwbmap_free()
924 mwbmap_p->ifree)); in bcm_mwbmap_free()
934 bitmap_p = &mwbmap_p->wd_bitmap[wordix]; in bcm_mwbmap_free()
937 mwbmap_p->wd_count[bitix]++; in bcm_mwbmap_free()
944 count = bcm_cntsetbits(mwbmap_p->id_bitmap[bitix]); in bcm_mwbmap_free()
946 count = mwbmap_p->wd_count[bitix]; in bcm_mwbmap_free()
947 MWBMAP_ASSERT(count == bcm_cntsetbits(mwbmap_p->id_bitmap[bitix])); in bcm_mwbmap_free()
966 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_free_cnt() local
969 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_free_cnt()
971 ASSERT(mwbmap_p->ifree >= 0); in bcm_mwbmap_free_cnt()
973 return (uint32)mwbmap_p->ifree; in bcm_mwbmap_free_cnt()
980 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_isfree() local
984 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_isfree()
986 ASSERT(bitix < mwbmap_p->total); in bcm_mwbmap_isfree()
991 return ((mwbmap_p->id_bitmap[wordix] & bitmap) != 0U); in bcm_mwbmap_isfree()
999 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_show() local
1002 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_show()
1005 OSL_OBFUSCATE_BUF((void *)mwbmap_p), in bcm_mwbmap_show()
1006 mwbmap_p->wmaps, mwbmap_p->imaps, mwbmap_p->ifree, mwbmap_p->total); in bcm_mwbmap_show()
1007 for (ix = 0U; ix < mwbmap_p->wmaps; ix++) { in bcm_mwbmap_show()
1008 printf("\tWDMAP:%2u. 0x%08x\t", ix, mwbmap_p->wd_bitmap[ix]); in bcm_mwbmap_show()
1009 bcm_bitprint32(mwbmap_p->wd_bitmap[ix]); in bcm_mwbmap_show()
1012 for (ix = 0U; ix < mwbmap_p->imaps; ix++) { in bcm_mwbmap_show()
1014 count = bcm_cntsetbits(mwbmap_p->id_bitmap[ix]); in bcm_mwbmap_show()
1016 count = (uint32)mwbmap_p->wd_count[ix]; in bcm_mwbmap_show()
1017 MWBMAP_ASSERT(count == bcm_cntsetbits(mwbmap_p->id_bitmap[ix])); in bcm_mwbmap_show()
1019 printf("\tIDMAP:%2u. 0x%08x %02u\t", ix, mwbmap_p->id_bitmap[ix], count); in bcm_mwbmap_show()
1020 bcm_bitprint32(mwbmap_p->id_bitmap[ix]); in bcm_mwbmap_show()
1031 bcm_mwbmap_t * mwbmap_p; in bcm_mwbmap_audit() local
1034 mwbmap_p = BCM_MWBMAP_PTR(mwbmap_hdl); in bcm_mwbmap_audit()
1036 for (wordix = 0U; wordix < mwbmap_p->wmaps; ++wordix) { in bcm_mwbmap_audit()
1038 bitmap_p = &mwbmap_p->wd_bitmap[wordix]; in bcm_mwbmap_audit()
1044 count = bcm_cntsetbits(mwbmap_p->id_bitmap[idmap_ix]); in bcm_mwbmap_audit()
1046 count = (uint32)mwbmap_p->wd_count[idmap_ix]; in bcm_mwbmap_audit()
1047 ASSERT(count == bcm_cntsetbits(mwbmap_p->id_bitmap[idmap_ix])); in bcm_mwbmap_audit()
1055 ASSERT((int)free_cnt == mwbmap_p->ifree); in bcm_mwbmap_audit()