Lines Matching full:bank

150 static void mc_add_mem_unum_label(char *unum, int mcid, int bank, int dimm);
444 struct bank_info *bank = NULL; in mc_ioctl() local
518 * return 0: base, size, number of banks, and all bank ids, in mc_ioctl()
559 bank = seg->head; in mc_ioctl()
561 DPRINTF(MC_CMD_DEBUG, ("MCIOC_SEG:nbanks %d seg %p bank %p\n", in mc_ioctl()
562 seg->nbanks, (void *) seg, (void *) bank)); in mc_ioctl()
565 while (bank != NULL) { in mc_ioctl()
567 i, bank->bank_node.id)); in mc_ioctl()
568 mcseg->bankids[i].globalid = bank->bank_node.id; in mc_ioctl()
569 mcseg->bankids[i++].localid = bank->local_id; in mc_ioctl()
570 bank = bank->next; in mc_ioctl()
594 DPRINTF(MC_CMD_DEBUG, ("MCIOC_BANK: bank id %d\n", mcbank.id)); in mc_ioctl()
598 if ((bank = mc_node_get(mcbank.id, bank_head)) == NULL) { in mc_ioctl()
603 mcbank.mask = bank->mask; in mc_ioctl()
604 mcbank.match = bank->match; in mc_ioctl()
605 mcbank.size = bank->size; in mc_ioctl()
606 mcbank.devgrpid.globalid = bank->devgrp_id; in mc_ioctl()
608 bank->bank_node.id % NLOGBANKS_PER_SEG; in mc_ioctl()
787 * memory segments, at bank-boundries, dimm-pair boundries, in the form
833 * Initialize a logical bank
842 DPRINTF(MC_CNSTRC_DEBUG, ("mc_add_bank: bank %d exists\n", in mc_add_bank()
866 * Use the bank's base address to find out whether to initialize a new segment,
867 * or weave the bank into an existing segment. If the tail bank of a previous
868 * segment is not continuous with the new bank, the new bank goes into a new
877 /* does this bank start a new segment? */ in mc_add_segment()
890 /* weave the bank into the segment */ in mc_add_segment()
906 DPRINTF(MC_CNSTRC_DEBUG, ("mc_add_segment: id %d add bank: id %d" in mc_add_segment()
931 DPRINTF(MC_CNSTRC_DEBUG, ("mc_add_segment: id %d new bank: id %d" in mc_add_segment()
938 * bank assignment in interleave of kind internal-external same dimm-pair,
950 /* 128Mb and 256Mb devices have same bank select mask */ in get_row_shift()
955 /* 512 and 1Gb devices have same bank select mask */ in get_row_shift()
981 /* Bit 32 selects the logical bank */ in get_device_select()
989 /* Row[2] selects the logical bank */ in get_device_select()
998 /* Row[2] selects the logical bank */ in get_device_select()
1053 /* each bit position of the mask decides the match & base for bank */ in mc_add_xor_banks()
1072 * and match per bank, construct the logical layout by adding segments
1110 * logical bank interleaving information. in mc_add_dgrp_banks()
1156 * banks. Dimm and external bank select bits are the in mc_logical_layout()
1363 * and bank lists. Moreover, delete corresponding segment if its connected
1415 /* bank and segments go together */ in mc_delete()
1558 struct bank_info *bank; in mc_get_mem_unum() local
1579 bank = (struct bank_info *)bank_head; in mc_get_mem_unum()
1580 while (bank != NULL) { in mc_get_mem_unum()
1584 * Physical Address is in a bank if (Addr & Mask) == Match in mc_get_mem_unum()
1586 if ((paddr & bank->mask) != bank->match) { in mc_get_mem_unum()
1587 bank = (struct bank_info *)bank->bank_node.next; in mc_get_mem_unum()
1591 mcid = bank->bank_node.id / NLOGBANKS_PER_MC; in mc_get_mem_unum()
1595 DPRINTF(MC_GUNUM_DEBUG, ("mc_get_mem_unum:mc %d bank %d " in mc_get_mem_unum()
1596 "dgrp %d\n", mcid, bank->bank_node.id, bank->devgrp_id)); in mc_get_mem_unum()
1598 mcdgrpid = bank->devgrp_id % NDGRPS_PER_MC; in mc_get_mem_unum()
1651 * bank of DIMMs. in mc_get_mem_unum()
1677 } /* end of while loop for logic bank list */ in mc_get_mem_unum()
1705 * Physical Address is in a bank if (Addr & Mask) == Match in mc_get_mem_info()
1733 } /* end of while loop for logic bank list */ in mc_get_mem_info()
1745 mc_add_mem_unum_label(char *unum, int mcid, int bank, int dimm) in mc_add_mem_unum_label() argument
1748 plat_add_mem_unum_label(unum, mcid, bank, dimm); in mc_add_mem_unum_label()