imc 86 drivers/clk/versatile/clk-impd1.c struct impd1_clk *imc; imc 95 drivers/clk/versatile/clk-impd1.c imc = &impd1_clks[id]; imc 98 drivers/clk/versatile/clk-impd1.c imc->pclkname = kasprintf(GFP_KERNEL, "lm%x-pclk", id); imc 99 drivers/clk/versatile/clk-impd1.c pclk = clk_register_fixed_rate(NULL, imc->pclkname, NULL, 0, 0); imc 100 drivers/clk/versatile/clk-impd1.c imc->pclk = pclk; imc 102 drivers/clk/versatile/clk-impd1.c imc->vco1name = kasprintf(GFP_KERNEL, "lm%x-vco1", id); imc 103 drivers/clk/versatile/clk-impd1.c clk = icst_clk_register(NULL, &impd1_icst1_desc, imc->vco1name, NULL, imc 105 drivers/clk/versatile/clk-impd1.c imc->vco1clk = clk; imc 106 drivers/clk/versatile/clk-impd1.c imc->clks[0] = clkdev_alloc(pclk, "apb_pclk", "lm%x:01000", id); imc 107 drivers/clk/versatile/clk-impd1.c imc->clks[1] = clkdev_alloc(clk, NULL, "lm%x:01000", id); imc 110 drivers/clk/versatile/clk-impd1.c imc->vco2name = kasprintf(GFP_KERNEL, "lm%x-vco2", id); imc 111 drivers/clk/versatile/clk-impd1.c clk = icst_clk_register(NULL, &impd1_icst2_desc, imc->vco2name, NULL, imc 113 drivers/clk/versatile/clk-impd1.c imc->vco2clk = clk; imc 116 drivers/clk/versatile/clk-impd1.c imc->clks[2] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00700", id); imc 117 drivers/clk/versatile/clk-impd1.c imc->clks[3] = clkdev_alloc(clk, NULL, "lm%x:00700", id); imc 120 drivers/clk/versatile/clk-impd1.c imc->uartname = kasprintf(GFP_KERNEL, "lm%x-uartclk", id); imc 121 drivers/clk/versatile/clk-impd1.c clk = clk_register_fixed_factor(NULL, imc->uartname, imc->vco2name, imc 123 drivers/clk/versatile/clk-impd1.c imc->uartclk = clk; imc 124 drivers/clk/versatile/clk-impd1.c imc->clks[4] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00100", id); imc 125 drivers/clk/versatile/clk-impd1.c imc->clks[5] = clkdev_alloc(clk, NULL, "lm%x:00100", id); imc 126 drivers/clk/versatile/clk-impd1.c imc->clks[6] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00200", id); imc 127 drivers/clk/versatile/clk-impd1.c imc->clks[7] = clkdev_alloc(clk, NULL, "lm%x:00200", id); imc 130 drivers/clk/versatile/clk-impd1.c imc->spiname = kasprintf(GFP_KERNEL, "lm%x-spiclk", id); imc 131 drivers/clk/versatile/clk-impd1.c clk = clk_register_fixed_factor(NULL, imc->spiname, imc->vco2name, imc 133 drivers/clk/versatile/clk-impd1.c imc->clks[8] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00300", id); imc 134 drivers/clk/versatile/clk-impd1.c imc->clks[9] = clkdev_alloc(clk, NULL, "lm%x:00300", id); imc 137 drivers/clk/versatile/clk-impd1.c imc->clks[10] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00400", id); imc 138 drivers/clk/versatile/clk-impd1.c imc->clks[11] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00500", id); imc 139 drivers/clk/versatile/clk-impd1.c imc->clks[12] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00800", id); imc 142 drivers/clk/versatile/clk-impd1.c imc->scname = kasprintf(GFP_KERNEL, "lm%x-scclk", id); imc 143 drivers/clk/versatile/clk-impd1.c clk = clk_register_fixed_factor(NULL, imc->scname, imc->vco2name, imc 145 drivers/clk/versatile/clk-impd1.c imc->scclk = clk; imc 146 drivers/clk/versatile/clk-impd1.c imc->clks[13] = clkdev_alloc(pclk, "apb_pclk", "lm%x:00600", id); imc 147 drivers/clk/versatile/clk-impd1.c imc->clks[14] = clkdev_alloc(clk, NULL, "lm%x:00600", id); imc 149 drivers/clk/versatile/clk-impd1.c for (i = 0; i < ARRAY_SIZE(imc->clks); i++) imc 150 drivers/clk/versatile/clk-impd1.c clkdev_add(imc->clks[i]); imc 157 drivers/clk/versatile/clk-impd1.c struct impd1_clk *imc; imc 161 drivers/clk/versatile/clk-impd1.c imc = &impd1_clks[id]; imc 163 drivers/clk/versatile/clk-impd1.c for (i = 0; i < ARRAY_SIZE(imc->clks); i++) imc 164 drivers/clk/versatile/clk-impd1.c clkdev_drop(imc->clks[i]); imc 165 drivers/clk/versatile/clk-impd1.c clk_unregister(imc->spiclk); imc 166 drivers/clk/versatile/clk-impd1.c clk_unregister(imc->uartclk); imc 167 drivers/clk/versatile/clk-impd1.c clk_unregister(imc->vco2clk); imc 168 drivers/clk/versatile/clk-impd1.c clk_unregister(imc->vco1clk); imc 169 drivers/clk/versatile/clk-impd1.c clk_unregister(imc->pclk); imc 170 drivers/clk/versatile/clk-impd1.c kfree(imc->scname); imc 171 drivers/clk/versatile/clk-impd1.c kfree(imc->spiname); imc 172 drivers/clk/versatile/clk-impd1.c kfree(imc->uartname); imc 173 drivers/clk/versatile/clk-impd1.c kfree(imc->vco2name); imc 174 drivers/clk/versatile/clk-impd1.c kfree(imc->vco1name); imc 175 drivers/clk/versatile/clk-impd1.c kfree(imc->pclkname); imc 99 drivers/edac/i10nm_base.c d->imc[i].mdev = mdev; imc 118 drivers/edac/i10nm_base.c d->imc[i].mbase = mbase; imc 133 drivers/edac/i10nm_base.c static bool i10nm_check_ecc(struct skx_imc *imc, int chan) imc 137 drivers/edac/i10nm_base.c mcmtr = *(u32 *)(imc->mbase + 0x20ef8 + chan * 0x4000); imc 146 drivers/edac/i10nm_base.c struct skx_imc *imc = pvt->imc; imc 152 drivers/edac/i10nm_base.c if (!imc->mbase) imc 159 drivers/edac/i10nm_base.c mtr = I10NM_GET_DIMMMTR(imc, i, j); imc 160 drivers/edac/i10nm_base.c mcddrtcfg = I10NM_GET_MCDDRTCFG(imc, i, j); imc 162 drivers/edac/i10nm_base.c mtr, mcddrtcfg, imc->mc, i, j); imc 166 drivers/edac/i10nm_base.c imc, i, j); imc 168 drivers/edac/i10nm_base.c ndimms += skx_get_nvdimm_info(dimm, imc, i, j, imc 171 drivers/edac/i10nm_base.c if (ndimms && !i10nm_check_ecc(imc, i)) { imc 173 drivers/edac/i10nm_base.c imc->mc, i); imc 280 drivers/edac/i10nm_base.c if (!d->imc[i].mdev) imc 283 drivers/edac/i10nm_base.c d->imc[i].mc = mc++; imc 284 drivers/edac/i10nm_base.c d->imc[i].lmc = i; imc 285 drivers/edac/i10nm_base.c d->imc[i].src_id = src_id; imc 286 drivers/edac/i10nm_base.c d->imc[i].node_id = node_id; imc 288 drivers/edac/i10nm_base.c rc = skx_register_mci(&d->imc[i], d->imc[i].mdev, imc 109 drivers/edac/skx_base.c d->imc[i].chan[m->mtype].cdev = pdev; imc 163 drivers/edac/skx_base.c struct skx_imc *imc = pvt->imc; imc 169 drivers/edac/skx_base.c pci_read_config_dword(imc->chan[0].cdev, 0x87c, &mcmtr); imc 173 drivers/edac/skx_base.c pci_read_config_dword(imc->chan[i].cdev, 0x8C, &amap); imc 174 drivers/edac/skx_base.c pci_read_config_dword(imc->chan[i].cdev, 0x400, &mcddrtcfg); imc 178 drivers/edac/skx_base.c pci_read_config_dword(imc->chan[i].cdev, imc 181 drivers/edac/skx_base.c ndimms += skx_get_dimm_info(mtr, mcmtr, amap, dimm, imc, i, j); imc 183 drivers/edac/skx_base.c ndimms += skx_get_nvdimm_info(dimm, imc, i, j, imc 189 drivers/edac/skx_base.c skx_printk(KERN_ERR, "ECC is disabled on imc %d\n", imc->mc); imc 272 drivers/edac/skx_base.c if (d->imc[0].src_id == SKX_ILV_TARGET(tgt)) imc 315 drivers/edac/skx_base.c res->socket = d->imc[0].src_id; imc 316 drivers/edac/skx_base.c res->imc = GET_BITFIELD(d->mcroute, lchan * 3, lchan * 3 + 2); imc 320 drivers/edac/skx_base.c res->addr, res->socket, res->imc, res->channel); imc 327 drivers/edac/skx_base.c pci_read_config_dword((d)->imc[mc].chan[0].cdev, 0x850 + 4 * (i), &(reg)) imc 329 drivers/edac/skx_base.c pci_read_config_dword((d)->imc[mc].chan[0].cdev, 0x880 + 4 * (i), &(reg)) imc 331 drivers/edac/skx_base.c pci_read_config_dword((d)->imc[mc].chan[ch].cdev, 0x90 + 4 * (i), &(reg)) imc 361 drivers/edac/skx_base.c SKX_GET_TADBASE(res->dev, res->imc, i, base); imc 362 drivers/edac/skx_base.c SKX_GET_TADWAYNESS(res->dev, res->imc, i, wayness); imc 375 drivers/edac/skx_base.c SKX_GET_TADCHNILVOFFSET(res->dev, res->imc, res->channel, i, chnilvoffset); imc 402 drivers/edac/skx_base.c pci_read_config_dword((d)->imc[mc].chan[ch].cdev, \ imc 405 drivers/edac/skx_base.c pci_read_config_dword((d)->imc[mc].chan[ch].cdev, \ imc 421 drivers/edac/skx_base.c if (res->dev->imc[res->imc].chan[res->channel].dimms[0].close_pg) imc 427 drivers/edac/skx_base.c SKX_GET_RIRWAYNESS(res->dev, res->imc, res->channel, i, rirway); imc 448 drivers/edac/skx_base.c SKX_GET_RIRILV(res->dev, res->imc, res->channel, idx, i, rirlv); imc 502 drivers/edac/skx_base.c struct skx_dimm *dimm = &r->dev->imc[r->imc].chan[r->channel].dimms[r->dimm]; imc 646 drivers/edac/skx_base.c d->imc[i].mc = mc++; imc 647 drivers/edac/skx_base.c d->imc[i].lmc = i; imc 648 drivers/edac/skx_base.c d->imc[i].src_id = src_id; imc 649 drivers/edac/skx_base.c d->imc[i].node_id = node_id; imc 650 drivers/edac/skx_base.c rc = skx_register_mci(&d->imc[i], d->imc[i].chan[0].cdev, imc 117 drivers/edac/skx_common.c res->imc = (int)adxl_values[component_indices[INDEX_MEMCTRL]]; imc 287 drivers/edac/skx_common.c struct skx_imc *imc, int chan, int dimmno) imc 303 drivers/edac/skx_common.c imc->mc, chan, dimmno, size, npages, imc 306 drivers/edac/skx_common.c imc->chan[chan].dimms[dimmno].close_pg = GET_BITFIELD(mcmtr, 0, 0); imc 307 drivers/edac/skx_common.c imc->chan[chan].dimms[dimmno].bank_xor_enable = GET_BITFIELD(mcmtr, 9, 9); imc 308 drivers/edac/skx_common.c imc->chan[chan].dimms[dimmno].fine_grain_bank = GET_BITFIELD(amap, 0, 0); imc 309 drivers/edac/skx_common.c imc->chan[chan].dimms[dimmno].rowbits = rows; imc 310 drivers/edac/skx_common.c imc->chan[chan].dimms[dimmno].colbits = cols; imc 318 drivers/edac/skx_common.c imc->src_id, imc->lmc, chan, dimmno); imc 323 drivers/edac/skx_common.c int skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc, imc 331 drivers/edac/skx_common.c dev_handle = ACPI_NFIT_BUILD_DEVICE_HANDLE(dimmno, chan, imc->lmc, imc 332 drivers/edac/skx_common.c imc->src_id, 0); imc 363 drivers/edac/skx_common.c imc->mc, chan, dimmno, size >> 20, dimm->nr_pages); imc 366 drivers/edac/skx_common.c imc->src_id, imc->lmc, chan, dimmno); imc 371 drivers/edac/skx_common.c int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev, imc 387 drivers/edac/skx_common.c mci = edac_mc_alloc(imc->mc, ARRAY_SIZE(layers), layers, imc 393 drivers/edac/skx_common.c edac_dbg(0, "MC#%d: mci = %p\n", imc->mc, mci); imc 396 drivers/edac/skx_common.c imc->mci = mci; imc 398 drivers/edac/skx_common.c pvt->imc = imc; imc 401 drivers/edac/skx_common.c imc->node_id, imc->lmc); imc 434 drivers/edac/skx_common.c imc->mci = NULL; imc 438 drivers/edac/skx_common.c static void skx_unregister_mci(struct skx_imc *imc) imc 440 drivers/edac/skx_common.c struct mem_ctl_info *mci = imc->mci; imc 445 drivers/edac/skx_common.c edac_dbg(0, "MC%d: mci = %p\n", imc->mc, mci); imc 465 drivers/edac/skx_common.c if (d->imc[0].src_id == src_id) imc 466 drivers/edac/skx_common.c return d->imc[lmc].mci; imc 552 drivers/edac/skx_common.c res->socket, res->imc, res->rank, imc 587 drivers/edac/skx_common.c mci = get_mci(res.socket, res.imc); imc 592 drivers/edac/skx_common.c mci = res.dev->imc[res.imc].mci; imc 631 drivers/edac/skx_common.c if (d->imc[i].mci) imc 632 drivers/edac/skx_common.c skx_unregister_mci(&d->imc[i]); imc 634 drivers/edac/skx_common.c if (d->imc[i].mdev) imc 635 drivers/edac/skx_common.c pci_dev_put(d->imc[i].mdev); imc 637 drivers/edac/skx_common.c if (d->imc[i].mbase) imc 638 drivers/edac/skx_common.c iounmap(d->imc[i].mbase); imc 641 drivers/edac/skx_common.c if (d->imc[i].chan[j].cdev) imc 642 drivers/edac/skx_common.c pci_dev_put(d->imc[i].chan[j].cdev); imc 75 drivers/edac/skx_common.h } imc[NUM_IMC]; imc 79 drivers/edac/skx_common.h struct skx_imc *imc; imc 99 drivers/edac/skx_common.h int imc; imc 130 drivers/edac/skx_common.h struct skx_imc *imc, int chan, int dimmno); imc 132 drivers/edac/skx_common.h int skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc, imc 135 drivers/edac/skx_common.h int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev, imc 930 drivers/i2c/busses/i2c-piix4.c u8 imc; imc 937 drivers/i2c/busses/i2c-piix4.c 0x40, &imc); imc 938 drivers/i2c/busses/i2c-piix4.c if (imc & 0x80) imc 1659 net/iucv/iucv.c struct iucv_message_complete *imc = (void *) data; imc 1660 net/iucv/iucv.c struct iucv_path *path = iucv_path_table[imc->ippathid]; imc 1664 net/iucv/iucv.c msg.flags = imc->ipflags1; imc 1665 net/iucv/iucv.c msg.id = imc->ipmsgid; imc 1666 net/iucv/iucv.c msg.audit = imc->ipaudit; imc 1667 net/iucv/iucv.c memcpy(msg.rmmsg, imc->iprmmsg, 8); imc 1668 net/iucv/iucv.c msg.class = imc->ipsrccls; imc 1669 net/iucv/iucv.c msg.tag = imc->ipmsgtag; imc 1670 net/iucv/iucv.c msg.length = imc->ipbfln2f; imc 122 tools/testing/nvdimm/test/nfit.c #define NFIT_DIMM_HANDLE(node, socket, imc, chan, dimm) \ imc 124 tools/testing/nvdimm/test/nfit.c | ((imc & 0xf) << 8) | ((chan & 0xf) << 4) | (dimm & 0xf))