Lines Matching defs:imc

138 		res->imc     = (adxl_nm_bitmap & BIT_NM_MEMCTRL) ?
147 res->imc = (int)adxl_values[component_indices[INDEX_MEMCTRL]];
153 if (res->imc > NUM_IMC - 1 || res->imc < 0) {
154 skx_printk(KERN_ERR, "Bad imc %d\n", res->imc);
159 if (d->imc[0].src_id == res->socket) {
166 skx_printk(KERN_ERR, "No device for src_id %d imc %d\n",
167 res->socket, res->imc);
344 struct skx_imc *imc, int chan, int dimmno,
353 cols = imc->hbm_mc ? 6 : numcol(mtr);
355 if (imc->hbm_mc) {
373 imc->mc, chan, dimmno, size, npages,
376 imc->chan[chan].dimms[dimmno].close_pg = GET_BITFIELD(mcmtr, 0, 0);
377 imc->chan[chan].dimms[dimmno].bank_xor_enable = GET_BITFIELD(mcmtr, 9, 9);
378 imc->chan[chan].dimms[dimmno].fine_grain_bank = GET_BITFIELD(amap, 0, 0);
379 imc->chan[chan].dimms[dimmno].rowbits = rows;
380 imc->chan[chan].dimms[dimmno].colbits = cols;
388 if (imc->hbm_mc)
390 imc->src_id, imc->lmc, chan);
393 imc->src_id, imc->lmc, chan, dimmno);
398 int skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc,
406 dev_handle = ACPI_NFIT_BUILD_DEVICE_HANDLE(dimmno, chan, imc->lmc,
407 imc->src_id, 0);
438 imc->mc, chan, dimmno, size >> 20, dimm->nr_pages);
441 imc->src_id, imc->lmc, chan, dimmno);
446 int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev,
463 mci = edac_mc_alloc(imc->mc, ARRAY_SIZE(layers), layers,
469 edac_dbg(0, "MC#%d: mci = %p\n", imc->mc, mci);
472 imc->mci = mci;
474 pvt->imc = imc;
477 imc->node_id, imc->lmc);
512 imc->mci = NULL;
516 static void skx_unregister_mci(struct skx_imc *imc)
518 struct mem_ctl_info *mci = imc->mci;
523 edac_dbg(0, "MC%d: mci = %p\n", imc->mc, mci);
596 res->socket, res->imc, res->rank,
659 mci = res.dev->imc[res.imc].mci;
698 if (d->imc[i].mci)
699 skx_unregister_mci(&d->imc[i]);
701 if (d->imc[i].mdev)
702 pci_dev_put(d->imc[i].mdev);
704 if (d->imc[i].mbase)
705 iounmap(d->imc[i].mbase);
708 if (d->imc[i].chan[j].cdev)
709 pci_dev_put(d->imc[i].chan[j].cdev);