Lines Matching refs:dpa
239 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_trigger_poison_list()
255 static int cxl_validate_poison_dpa(struct cxl_memdev *cxlmd, u64 dpa) in cxl_validate_poison_dpa() argument
266 if (!cxl_resource_contains_addr(&cxlds->dpa_res, dpa)) { in cxl_validate_poison_dpa()
268 dpa, &cxlds->dpa_res); in cxl_validate_poison_dpa()
271 if (!IS_ALIGNED(dpa, 64)) { in cxl_validate_poison_dpa()
272 dev_dbg(cxlds->dev, "dpa:0x%llx is not 64-byte aligned\n", dpa); in cxl_validate_poison_dpa()
279 int cxl_inject_poison(struct cxl_memdev *cxlmd, u64 dpa) in cxl_inject_poison() argument
295 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_inject_poison()
299 rc = cxl_validate_poison_dpa(cxlmd, dpa); in cxl_inject_poison()
303 inject.address = cpu_to_le64(dpa); in cxl_inject_poison()
313 cxlr = cxl_dpa_to_region(cxlmd, dpa); in cxl_inject_poison()
316 "poison inject dpa:%#llx region: %s\n", dpa, in cxl_inject_poison()
320 .address = cpu_to_le64(dpa), in cxl_inject_poison()
329 int cxl_clear_poison(struct cxl_memdev *cxlmd, u64 dpa) in cxl_clear_poison() argument
345 ACQUIRE(rwsem_read_intr, dpa_rwsem)(&cxl_rwsem.dpa); in cxl_clear_poison()
349 rc = cxl_validate_poison_dpa(cxlmd, dpa); in cxl_clear_poison()
359 .address = cpu_to_le64(dpa) in cxl_clear_poison()
372 cxlr = cxl_dpa_to_region(cxlmd, dpa); in cxl_clear_poison()
375 "poison clear dpa:%#llx region: %s\n", dpa, in cxl_clear_poison()
379 .address = cpu_to_le64(dpa), in cxl_clear_poison()