Lines Matching refs:nfit_blk

2202 static u32 read_blk_stat(struct nfit_blk *nfit_blk, unsigned int bw)  in read_blk_stat()  argument
2204 struct nfit_blk_mmio *mmio = &nfit_blk->mmio[DCR]; in read_blk_stat()
2205 u64 offset = nfit_blk->stat_offset + mmio->size * bw; in read_blk_stat()
2214 static void write_blk_ctl(struct nfit_blk *nfit_blk, unsigned int bw, in write_blk_ctl() argument
2218 struct nfit_blk_mmio *mmio = &nfit_blk->mmio[DCR]; in write_blk_ctl()
2232 offset = nfit_blk->cmd_offset + mmio->size * bw; in write_blk_ctl()
2237 nvdimm_flush(nfit_blk->nd_region); in write_blk_ctl()
2239 if (nfit_blk->dimm_flags & NFIT_BLK_DCR_LATCH) in write_blk_ctl()
2243 static int acpi_nfit_blk_single_io(struct nfit_blk *nfit_blk, in acpi_nfit_blk_single_io() argument
2247 struct nfit_blk_mmio *mmio = &nfit_blk->mmio[BDW]; in acpi_nfit_blk_single_io()
2252 base_offset = nfit_blk->bdw_offset + dpa % L1_CACHE_BYTES in acpi_nfit_blk_single_io()
2254 write_blk_ctl(nfit_blk, lane, dpa, len, rw); in acpi_nfit_blk_single_io()
2267 offset = base_offset + nfit_blk->bdw_offset; in acpi_nfit_blk_single_io()
2274 if (nfit_blk->dimm_flags & NFIT_BLK_READ_FLUSH) in acpi_nfit_blk_single_io()
2286 nvdimm_flush(nfit_blk->nd_region); in acpi_nfit_blk_single_io()
2288 rc = read_blk_stat(nfit_blk, lane) ? -EIO : 0; in acpi_nfit_blk_single_io()
2295 struct nfit_blk *nfit_blk = nd_blk_region_provider_data(ndbr); in acpi_nfit_blk_region_do_io() local
2296 struct nfit_blk_mmio *mmio = &nfit_blk->mmio[BDW]; in acpi_nfit_blk_region_do_io()
2297 struct nd_region *nd_region = nfit_blk->nd_region; in acpi_nfit_blk_region_do_io()
2305 rc = acpi_nfit_blk_single_io(nfit_blk, dpa + copied, in acpi_nfit_blk_region_do_io()
2334 struct nvdimm *nvdimm, struct nfit_blk *nfit_blk) in acpi_nfit_blk_get_flags() argument
2344 nfit_blk->dimm_flags = flags.flags; in acpi_nfit_blk_get_flags()
2347 nfit_blk->dimm_flags = NFIT_BLK_DCR_LATCH | NFIT_BLK_READ_FLUSH; in acpi_nfit_blk_get_flags()
2361 struct nfit_blk *nfit_blk; in acpi_nfit_blk_region_enable() local
2376 nfit_blk = devm_kzalloc(dev, sizeof(*nfit_blk), GFP_KERNEL); in acpi_nfit_blk_region_enable()
2377 if (!nfit_blk) in acpi_nfit_blk_region_enable()
2379 nd_blk_region_set_provider_data(ndbr, nfit_blk); in acpi_nfit_blk_region_enable()
2380 nfit_blk->nd_region = to_nd_region(dev); in acpi_nfit_blk_region_enable()
2383 nfit_blk->bdw_offset = nfit_mem->bdw->offset; in acpi_nfit_blk_region_enable()
2384 mmio = &nfit_blk->mmio[BDW]; in acpi_nfit_blk_region_enable()
2405 nfit_blk->cmd_offset = nfit_mem->dcr->command_offset; in acpi_nfit_blk_region_enable()
2406 nfit_blk->stat_offset = nfit_mem->dcr->status_offset; in acpi_nfit_blk_region_enable()
2407 mmio = &nfit_blk->mmio[DCR]; in acpi_nfit_blk_region_enable()
2427 rc = acpi_nfit_blk_get_flags(nd_desc, nvdimm, nfit_blk); in acpi_nfit_blk_region_enable()
2434 if (nvdimm_has_flush(nfit_blk->nd_region) < 0) in acpi_nfit_blk_region_enable()
2440 if ((u32) nfit_blk->cmd_offset % mmio->line_size in acpi_nfit_blk_region_enable()
2444 } else if ((u32) nfit_blk->stat_offset % mmio->line_size in acpi_nfit_blk_region_enable()