Lines Matching defs:bank

150 static void mc_add_mem_unum_label(char *unum, int mcid, int bank, int dimm);
444 struct bank_info *bank = NULL;
518 * return 0: base, size, number of banks, and all bank ids,
559 bank = seg->head;
561 DPRINTF(MC_CMD_DEBUG, ("MCIOC_SEG:nbanks %d seg %p bank %p\n",
562 seg->nbanks, (void *) seg, (void *) bank));
565 while (bank != NULL) {
567 i, bank->bank_node.id));
568 mcseg->bankids[i].globalid = bank->bank_node.id;
569 mcseg->bankids[i++].localid = bank->local_id;
570 bank = bank->next;
594 DPRINTF(MC_CMD_DEBUG, ("MCIOC_BANK: bank id %d\n", mcbank.id));
598 if ((bank = mc_node_get(mcbank.id, bank_head)) == NULL) {
603 mcbank.mask = bank->mask;
604 mcbank.match = bank->match;
605 mcbank.size = bank->size;
606 mcbank.devgrpid.globalid = bank->devgrp_id;
608 bank->bank_node.id % NLOGBANKS_PER_SEG;
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",
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? */
890 /* weave the bank into the segment */
906 DPRINTF(MC_CNSTRC_DEBUG, ("mc_add_segment: id %d add bank: id %d"
931 DPRINTF(MC_CNSTRC_DEBUG, ("mc_add_segment: id %d new bank: id %d"
938 * bank assignment in interleave of kind internal-external same dimm-pair,
950 /* 128Mb and 256Mb devices have same bank select mask */
955 /* 512 and 1Gb devices have same bank select mask */
981 /* Bit 32 selects the logical bank */
989 /* Row[2] selects the logical bank */
998 /* Row[2] selects the logical bank */
1053 /* each bit position of the mask decides the match & base for bank */
1072 * and match per bank, construct the logical layout by adding segments
1110 * logical bank interleaving information.
1156 * banks. Dimm and external bank select bits are the
1363 * and bank lists. Moreover, delete corresponding segment if its connected
1415 /* bank and segments go together */
1558 struct bank_info *bank;
1579 bank = (struct bank_info *)bank_head;
1580 while (bank != NULL) {
1584 * Physical Address is in a bank if (Addr & Mask) == Match
1586 if ((paddr & bank->mask) != bank->match) {
1587 bank = (struct bank_info *)bank->bank_node.next;
1591 mcid = bank->bank_node.id / NLOGBANKS_PER_MC;
1595 DPRINTF(MC_GUNUM_DEBUG, ("mc_get_mem_unum:mc %d bank %d "
1596 "dgrp %d\n", mcid, bank->bank_node.id, bank->devgrp_id));
1598 mcdgrpid = bank->devgrp_id % NDGRPS_PER_MC;
1651 * bank of DIMMs.
1677 } /* end of while loop for logic bank list */
1705 * Physical Address is in a bank if (Addr & Mask) == Match
1733 } /* end of while loop for logic bank list */
1745 mc_add_mem_unum_label(char *unum, int mcid, int bank, int dimm)
1748 plat_add_mem_unum_label(unum, mcid, bank, dimm);