Lines Matching refs:dct
86 static void f15h_select_dct(struct amd64_pvt *pvt, u8 dct) in f15h_select_dct() argument
92 reg |= dct; in f15h_select_dct()
110 static inline int amd64_read_dct_pci_cfg(struct amd64_pvt *pvt, u8 dct, in amd64_read_dct_pci_cfg() argument
115 if (dct || offset >= 0x100) in amd64_read_dct_pci_cfg()
120 if (dct) { in amd64_read_dct_pci_cfg()
138 dct = (dct && pvt->model == 0x30) ? 3 : dct; in amd64_read_dct_pci_cfg()
139 f15h_select_dct(pvt, dct); in amd64_read_dct_pci_cfg()
143 if (dct) in amd64_read_dct_pci_cfg()
386 static void get_cs_base_and_mask(struct amd64_pvt *pvt, int csrow, u8 dct, in get_cs_base_and_mask() argument
393 csbase = pvt->csels[dct].csbases[csrow]; in get_cs_base_and_mask()
394 csmask = pvt->csels[dct].csmasks[csrow]; in get_cs_base_and_mask()
405 csbase = pvt->csels[dct].csbases[csrow]; in get_cs_base_and_mask()
406 csmask = pvt->csels[dct].csmasks[csrow >> 1]; in get_cs_base_and_mask()
421 csbase = pvt->csels[dct].csbases[csrow]; in get_cs_base_and_mask()
422 csmask = pvt->csels[dct].csmasks[csrow >> 1]; in get_cs_base_and_mask()
442 #define for_each_chip_select(i, dct, pvt) \ argument
443 for (i = 0; i < pvt->csels[dct].b_cnt; i++)
445 #define chip_select_base(i, dct, pvt) \ argument
446 pvt->csels[dct].csbases[i]
448 #define for_each_chip_select_mask(i, dct, pvt) \ argument
449 for (i = 0; i < pvt->csels[dct].m_cnt; i++)
1287 static int k8_dbam_to_chip_select(struct amd64_pvt *pvt, u8 dct, in k8_dbam_to_chip_select() argument
1290 u32 dclr = dct ? pvt->dclr1 : pvt->dclr0; in k8_dbam_to_chip_select()
1454 static int f10_dbam_to_chip_select(struct amd64_pvt *pvt, u8 dct, in f10_dbam_to_chip_select() argument
1457 u32 dclr = dct ? pvt->dclr1 : pvt->dclr0; in f10_dbam_to_chip_select()
1470 static int f15_dbam_to_chip_select(struct amd64_pvt *pvt, u8 dct, in f15_dbam_to_chip_select() argument
1479 static int f15_m60h_dbam_to_chip_select(struct amd64_pvt *pvt, u8 dct, in f15_m60h_dbam_to_chip_select() argument
1483 u32 dcsm = pvt->csels[dct].csmasks[cs_mask_nr]; in f15_m60h_dbam_to_chip_select()
1512 static int f16_dbam_to_chip_select(struct amd64_pvt *pvt, u8 dct, in f16_dbam_to_chip_select() argument
1701 static int f10_process_possible_spare(struct amd64_pvt *pvt, u8 dct, int csrow) in f10_process_possible_spare() argument
1705 if (online_spare_swap_done(pvt, dct) && in f10_process_possible_spare()
1706 csrow == online_spare_bad_dramcs(pvt, dct)) { in f10_process_possible_spare()
1708 for_each_chip_select(tmp_cs, dct, pvt) { in f10_process_possible_spare()
1709 if (chip_select_base(tmp_cs, dct, pvt) & 0x2) { in f10_process_possible_spare()
1726 static int f1x_lookup_addr_in_dct(u64 in_addr, u8 nid, u8 dct) in f1x_lookup_addr_in_dct() argument
1740 edac_dbg(1, "input addr: 0x%llx, DCT: %d\n", in_addr, dct); in f1x_lookup_addr_in_dct()
1742 for_each_chip_select(csrow, dct, pvt) { in f1x_lookup_addr_in_dct()
1743 if (!csrow_enabled(csrow, dct, pvt)) in f1x_lookup_addr_in_dct()
1746 get_cs_base_and_mask(pvt, csrow, dct, &cs_base, &cs_mask); in f1x_lookup_addr_in_dct()
1761 cs_found = f10_process_possible_spare(pvt, dct, csrow); in f1x_lookup_addr_in_dct()
2761 static u32 get_csrow_nr_pages(struct amd64_pvt *pvt, u8 dct, int csrow_nr_orig) in get_csrow_nr_pages() argument
2763 u32 dbam = dct ? pvt->dbam1 : pvt->dbam0; in get_csrow_nr_pages()
2772 nr_pages = pvt->ops->dbam_to_cs(pvt, dct, cs_mode, csrow_nr); in get_csrow_nr_pages()
2776 csrow_nr_orig, dct, cs_mode); in get_csrow_nr_pages()