Lines Matching defs:imc

119 	res->imc     = (int)adxl_values[component_indices[INDEX_MEMCTRL]];
123 if (res->imc > NUM_IMC - 1) {
124 skx_printk(KERN_ERR, "Bad imc %d\n", res->imc);
129 if (d->imc[0].src_id == res->socket) {
136 skx_printk(KERN_ERR, "No device for src_id %d imc %d\n",
137 res->socket, res->imc);
307 struct skx_imc *imc, int chan, int dimmno)
323 imc->mc, chan, dimmno, size, npages,
326 imc->chan[chan].dimms[dimmno].close_pg = GET_BITFIELD(mcmtr, 0, 0);
327 imc->chan[chan].dimms[dimmno].bank_xor_enable = GET_BITFIELD(mcmtr, 9, 9);
328 imc->chan[chan].dimms[dimmno].fine_grain_bank = GET_BITFIELD(amap, 0, 0);
329 imc->chan[chan].dimms[dimmno].rowbits = rows;
330 imc->chan[chan].dimms[dimmno].colbits = cols;
338 imc->src_id, imc->lmc, chan, dimmno);
343 int skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc,
351 dev_handle = ACPI_NFIT_BUILD_DEVICE_HANDLE(dimmno, chan, imc->lmc,
352 imc->src_id, 0);
383 imc->mc, chan, dimmno, size >> 20, dimm->nr_pages);
386 imc->src_id, imc->lmc, chan, dimmno);
391 int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev,
407 mci = edac_mc_alloc(imc->mc, ARRAY_SIZE(layers), layers,
413 edac_dbg(0, "MC#%d: mci = %p\n", imc->mc, mci);
416 imc->mci = mci;
418 pvt->imc = imc;
421 imc->node_id, imc->lmc);
454 imc->mci = NULL;
458 static void skx_unregister_mci(struct skx_imc *imc)
460 struct mem_ctl_info *mci = imc->mci;
465 edac_dbg(0, "MC%d: mci = %p\n", imc->mc, mci);
548 "%s%s err_code:0x%04x:0x%04x socket:%d imc:%d rank:%d bg:%d ba:%d row:0x%x col:0x%x",
552 res->socket, res->imc, res->rank,
593 mci = res.dev->imc[res.imc].mci;
632 if (d->imc[i].mci)
633 skx_unregister_mci(&d->imc[i]);
635 if (d->imc[i].mdev)
636 pci_dev_put(d->imc[i].mdev);
638 if (d->imc[i].mbase)
639 iounmap(d->imc[i].mbase);
642 if (d->imc[i].chan[j].cdev)
643 pci_dev_put(d->imc[i].chan[j].cdev);