badrange 19 drivers/nvdimm/badrange.c void badrange_init(struct badrange *badrange) badrange 21 drivers/nvdimm/badrange.c INIT_LIST_HEAD(&badrange->list); badrange 22 drivers/nvdimm/badrange.c spin_lock_init(&badrange->lock); badrange 26 drivers/nvdimm/badrange.c static void append_badrange_entry(struct badrange *badrange, badrange 29 drivers/nvdimm/badrange.c lockdep_assert_held(&badrange->lock); badrange 32 drivers/nvdimm/badrange.c list_add_tail(&bre->list, &badrange->list); badrange 35 drivers/nvdimm/badrange.c static int alloc_and_append_badrange_entry(struct badrange *badrange, badrange 44 drivers/nvdimm/badrange.c append_badrange_entry(badrange, bre, addr, length); badrange 48 drivers/nvdimm/badrange.c static int add_badrange(struct badrange *badrange, u64 addr, u64 length) badrange 52 drivers/nvdimm/badrange.c spin_unlock(&badrange->lock); badrange 54 drivers/nvdimm/badrange.c spin_lock(&badrange->lock); badrange 56 drivers/nvdimm/badrange.c if (list_empty(&badrange->list)) { badrange 59 drivers/nvdimm/badrange.c append_badrange_entry(badrange, bre_new, addr, length); badrange 68 drivers/nvdimm/badrange.c list_for_each_entry(bre, &badrange->list, list) badrange 84 drivers/nvdimm/badrange.c append_badrange_entry(badrange, bre_new, addr, length); badrange 89 drivers/nvdimm/badrange.c int badrange_add(struct badrange *badrange, u64 addr, u64 length) badrange 93 drivers/nvdimm/badrange.c spin_lock(&badrange->lock); badrange 94 drivers/nvdimm/badrange.c rc = add_badrange(badrange, addr, length); badrange 95 drivers/nvdimm/badrange.c spin_unlock(&badrange->lock); badrange 101 drivers/nvdimm/badrange.c void badrange_forget(struct badrange *badrange, phys_addr_t start, badrange 104 drivers/nvdimm/badrange.c struct list_head *badrange_list = &badrange->list; badrange 108 drivers/nvdimm/badrange.c spin_lock(&badrange->lock); badrange 154 drivers/nvdimm/badrange.c alloc_and_append_badrange_entry(badrange, new_start, badrange 161 drivers/nvdimm/badrange.c spin_unlock(&badrange->lock); badrange 213 drivers/nvdimm/badrange.c static void badblocks_populate(struct badrange *badrange, badrange 218 drivers/nvdimm/badrange.c if (list_empty(&badrange->list)) badrange 221 drivers/nvdimm/badrange.c list_for_each_entry(bre, &badrange->list, list) { badrange 282 drivers/nvdimm/badrange.c badblocks_populate(&nvdimm_bus->badrange, bb, res); badrange 219 drivers/nvdimm/bus.c badrange_forget(&nvdimm_bus->badrange, phys, cleared); badrange 355 drivers/nvdimm/bus.c badrange_init(&nvdimm_bus->badrange); badrange 439 drivers/nvdimm/bus.c spin_lock(&nvdimm_bus->badrange.lock); badrange 440 drivers/nvdimm/bus.c free_badrange_list(&nvdimm_bus->badrange.list); badrange 441 drivers/nvdimm/bus.c spin_unlock(&nvdimm_bus->badrange.lock); badrange 395 drivers/nvdimm/core.c return badrange_add(&nvdimm_bus->badrange, addr, length); badrange 28 drivers/nvdimm/nd-core.h struct badrange badrange; badrange 207 include/linux/libnvdimm.h void badrange_init(struct badrange *badrange); badrange 208 include/linux/libnvdimm.h int badrange_add(struct badrange *badrange, u64 addr, u64 length); badrange 209 include/linux/libnvdimm.h void badrange_forget(struct badrange *badrange, phys_addr_t start, badrange 212 tools/testing/nvdimm/test/nfit.c struct badrange badrange; badrange 528 tools/testing/nvdimm/test/nfit.c struct badrange *badrange, u64 addr, u64 len) badrange 543 tools/testing/nvdimm/test/nfit.c spin_lock(&badrange->lock); badrange 544 tools/testing/nvdimm/test/nfit.c list_for_each_entry(be, &badrange->list, list) { badrange 560 tools/testing/nvdimm/test/nfit.c spin_unlock(&badrange->lock); badrange 581 tools/testing/nvdimm/test/nfit.c post_ars_status(ars_state, &t->badrange, ars_start->address, badrange 623 tools/testing/nvdimm/test/nfit.c badrange_forget(&t->badrange, clear_err->address, clear_err->length); badrange 836 tools/testing/nvdimm/test/nfit.c rc = badrange_add(&t->badrange, err_inj->err_inj_spa_range_base, badrange 867 tools/testing/nvdimm/test/nfit.c badrange_forget(&t->badrange, err_clr->err_inj_clr_spa_range_base, badrange 887 tools/testing/nvdimm/test/nfit.c spin_lock(&t->badrange.lock); badrange 888 tools/testing/nvdimm/test/nfit.c list_for_each_entry(be, &t->badrange.list, list) { badrange 895 tools/testing/nvdimm/test/nfit.c spin_unlock(&t->badrange.lock); badrange 2494 tools/testing/nvdimm/test/nfit.c post_ars_status(&t->ars_state, &t->badrange, t->spa_set_dma[0], badrange 2630 tools/testing/nvdimm/test/nfit.c post_ars_status(&t->ars_state, &t->badrange, t->spa_set_dma[0], badrange 3204 tools/testing/nvdimm/test/nfit.c badrange_init(&nfit_test->badrange);