Lines Matching refs:mci

73 #define i7core_mc_printk(mci, level, fmt, arg...)		\  argument
74 edac_mc_chipset_printk(mci, level, "i7core", fmt, ##arg)
247 struct mem_ctl_info *mci; member
499 static int get_dimm_config(struct mem_ctl_info *mci) in get_dimm_config() argument
501 struct i7core_pvt *pvt = mci->pvt_info; in get_dimm_config()
600 dimm = EDAC_DIMM_PTR(mci->layers, mci->dimms, mci->n_layers, in get_dimm_config()
673 static int disable_inject(const struct mem_ctl_info *mci) in disable_inject() argument
675 struct i7core_pvt *pvt = mci->pvt_info; in disable_inject()
699 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_section_store() local
700 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_section_store()
705 disable_inject(mci); in i7core_inject_section_store()
719 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_section_show() local
720 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_section_show()
736 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_type_store() local
737 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_type_store()
742 disable_inject(mci); in i7core_inject_type_store()
756 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_type_show() local
757 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_type_show()
776 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_eccmask_store() local
777 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_eccmask_store()
782 disable_inject(mci); in i7core_inject_eccmask_store()
796 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_eccmask_show() local
797 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_eccmask_show()
819 struct mem_ctl_info *mci = dev_get_drvdata(dev); \
825 pvt = mci->pvt_info; \
828 disable_inject(mci); \
848 struct mem_ctl_info *mci = dev_get_drvdata(dev); \
851 pvt = mci->pvt_info; \
927 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_enable_store() local
928 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_enable_store()
944 disable_inject(mci); in i7core_inject_enable_store()
1031 struct mem_ctl_info *mci = to_mci(dev); in i7core_inject_enable_show() local
1032 struct i7core_pvt *pvt = mci->pvt_info; in i7core_inject_enable_show()
1055 struct mem_ctl_info *mci = dev_get_drvdata(dev); \
1056 struct i7core_pvt *pvt = mci->pvt_info; \
1170 static int i7core_create_sysfs_devices(struct mem_ctl_info *mci) in i7core_create_sysfs_devices() argument
1172 struct i7core_pvt *pvt = mci->pvt_info; in i7core_create_sysfs_devices()
1180 pvt->addrmatch_dev->bus = mci->dev.bus; in i7core_create_sysfs_devices()
1182 pvt->addrmatch_dev->parent = &mci->dev; in i7core_create_sysfs_devices()
1184 dev_set_drvdata(pvt->addrmatch_dev, mci); in i7core_create_sysfs_devices()
1202 pvt->chancounts_dev->bus = mci->dev.bus; in i7core_create_sysfs_devices()
1204 pvt->chancounts_dev->parent = &mci->dev; in i7core_create_sysfs_devices()
1206 dev_set_drvdata(pvt->chancounts_dev, mci); in i7core_create_sysfs_devices()
1217 static void i7core_delete_sysfs_devices(struct mem_ctl_info *mci) in i7core_delete_sysfs_devices() argument
1219 struct i7core_pvt *pvt = mci->pvt_info; in i7core_delete_sysfs_devices()
1457 static int mci_bind_devs(struct mem_ctl_info *mci, in mci_bind_devs() argument
1460 struct i7core_pvt *pvt = mci->pvt_info; in mci_bind_devs()
1537 static void i7core_rdimm_update_ce_count(struct mem_ctl_info *mci, in i7core_rdimm_update_ce_count() argument
1543 struct i7core_pvt *pvt = mci->pvt_info; in i7core_rdimm_update_ce_count()
1574 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add0, in i7core_rdimm_update_ce_count()
1578 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add1, in i7core_rdimm_update_ce_count()
1582 edac_mc_handle_error(HW_EVENT_ERR_CORRECTED, mci, add2, in i7core_rdimm_update_ce_count()
1587 static void i7core_rdimm_check_mc_ecc_err(struct mem_ctl_info *mci) in i7core_rdimm_check_mc_ecc_err() argument
1589 struct i7core_pvt *pvt = mci->pvt_info; in i7core_rdimm_check_mc_ecc_err()
1622 i7core_rdimm_update_ce_count(mci, i, new0, new1, new2); in i7core_rdimm_check_mc_ecc_err()
1632 static void i7core_udimm_check_mc_ecc_err(struct mem_ctl_info *mci) in i7core_udimm_check_mc_ecc_err() argument
1634 struct i7core_pvt *pvt = mci->pvt_info; in i7core_udimm_check_mc_ecc_err()
1699 static void i7core_mce_output_error(struct mem_ctl_info *mci, in i7core_mce_output_error() argument
1702 struct i7core_pvt *pvt = mci->pvt_info; in i7core_mce_output_error()
1783 edac_mc_handle_error(tp_event, mci, core_err_cnt, in i7core_mce_output_error()
1795 static void i7core_check_error(struct mem_ctl_info *mci) in i7core_check_error() argument
1797 struct i7core_pvt *pvt = mci->pvt_info; in i7core_check_error()
1839 i7core_mce_output_error(mci, &pvt->mce_outentry[i]); in i7core_check_error()
1846 i7core_udimm_check_mc_ecc_err(mci); in i7core_check_error()
1848 i7core_rdimm_check_mc_ecc_err(mci); in i7core_check_error()
1864 struct mem_ctl_info *mci; in i7core_mce_check_error() local
1871 mci = i7_dev->mci; in i7core_mce_check_error()
1872 pvt = mci->pvt_info; in i7core_mce_check_error()
1899 i7core_check_error(mci); in i7core_mce_check_error()
2020 static int set_sdram_scrub_rate(struct mem_ctl_info *mci, u32 new_bw) in set_sdram_scrub_rate() argument
2022 struct i7core_pvt *pvt = mci->pvt_info; in set_sdram_scrub_rate()
2082 static int get_sdram_scrub_rate(struct mem_ctl_info *mci) in get_sdram_scrub_rate() argument
2084 struct i7core_pvt *pvt = mci->pvt_info; in get_sdram_scrub_rate()
2111 static void enable_sdram_scrub_setting(struct mem_ctl_info *mci) in enable_sdram_scrub_setting() argument
2113 struct i7core_pvt *pvt = mci->pvt_info; in enable_sdram_scrub_setting()
2122 mci->set_sdram_scrub_rate = set_sdram_scrub_rate; in enable_sdram_scrub_setting()
2123 mci->get_sdram_scrub_rate = get_sdram_scrub_rate; in enable_sdram_scrub_setting()
2126 static void disable_sdram_scrub_setting(struct mem_ctl_info *mci) in disable_sdram_scrub_setting() argument
2128 struct i7core_pvt *pvt = mci->pvt_info; in disable_sdram_scrub_setting()
2161 struct mem_ctl_info *mci = i7core_dev->mci; in i7core_unregister_mci() local
2164 if (unlikely(!mci || !mci->pvt_info)) { in i7core_unregister_mci()
2171 pvt = mci->pvt_info; in i7core_unregister_mci()
2173 edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); in i7core_unregister_mci()
2177 disable_sdram_scrub_setting(mci); in i7core_unregister_mci()
2183 i7core_delete_sysfs_devices(mci); in i7core_unregister_mci()
2184 edac_mc_del_mc(mci->pdev); in i7core_unregister_mci()
2186 edac_dbg(1, "%s: free mci struct\n", mci->ctl_name); in i7core_unregister_mci()
2187 kfree(mci->ctl_name); in i7core_unregister_mci()
2188 edac_mc_free(mci); in i7core_unregister_mci()
2189 i7core_dev->mci = NULL; in i7core_unregister_mci()
2194 struct mem_ctl_info *mci; in i7core_register_mci() local
2207 mci = edac_mc_alloc(i7core_dev->socket, ARRAY_SIZE(layers), layers, in i7core_register_mci()
2209 if (unlikely(!mci)) in i7core_register_mci()
2212 edac_dbg(0, "MC: mci = %p, dev = %p\n", mci, &i7core_dev->pdev[0]->dev); in i7core_register_mci()
2214 pvt = mci->pvt_info; in i7core_register_mci()
2219 i7core_dev->mci = mci; in i7core_register_mci()
2226 mci->mtype_cap = MEM_FLAG_DDR3; in i7core_register_mci()
2227 mci->edac_ctl_cap = EDAC_FLAG_NONE; in i7core_register_mci()
2228 mci->edac_cap = EDAC_FLAG_NONE; in i7core_register_mci()
2229 mci->mod_name = "i7core_edac.c"; in i7core_register_mci()
2230 mci->mod_ver = I7CORE_REVISION; in i7core_register_mci()
2231 mci->ctl_name = kasprintf(GFP_KERNEL, "i7 core #%d", in i7core_register_mci()
2233 mci->dev_name = pci_name(i7core_dev->pdev[0]); in i7core_register_mci()
2234 mci->ctl_page_to_phys = NULL; in i7core_register_mci()
2237 rc = mci_bind_devs(mci, i7core_dev); in i7core_register_mci()
2243 get_dimm_config(mci); in i7core_register_mci()
2245 mci->pdev = &i7core_dev->pdev[0]->dev; in i7core_register_mci()
2247 mci->edac_check = i7core_check_error; in i7core_register_mci()
2251 enable_sdram_scrub_setting(mci); in i7core_register_mci()
2254 if (unlikely(edac_mc_add_mc_with_groups(mci, i7core_dev_groups))) { in i7core_register_mci()
2263 if (i7core_create_sysfs_devices(mci)) { in i7core_register_mci()
2265 edac_mc_del_mc(mci->pdev); in i7core_register_mci()
2287 kfree(mci->ctl_name); in i7core_register_mci()
2288 edac_mc_free(mci); in i7core_register_mci()
2289 i7core_dev->mci = NULL; in i7core_register_mci()