nfit_test
static int nd_intel_test_cmd_freeze_lock(struct nfit_test *t,
static int nd_intel_test_cmd_disable_pass(struct nfit_test *t,
static int nd_intel_test_cmd_secure_erase(struct nfit_test *t,
static int nd_intel_test_cmd_overwrite(struct nfit_test *t,
static int nd_intel_test_cmd_query_overwrite(struct nfit_test *t,
static int nd_intel_test_cmd_master_set_pass(struct nfit_test *t,
static int nd_intel_test_cmd_master_secure_erase(struct nfit_test *t,
static int nvdimm_bus_intel_fw_activate_businfo(struct nfit_test *t,
static int nvdimm_bus_intel_fw_activate(struct nfit_test *t,
static int nd_intel_test_cmd_fw_activate_dimminfo(struct nfit_test *t,
static int nd_intel_test_cmd_fw_activate_arm(struct nfit_test *t,
struct nfit_test *t = container_of(acpi_desc, typeof(*t), acpi_desc);
struct nfit_test *t = container_of(acpi_desc, typeof(*t), acpi_desc);
static struct nfit_test *instances[NUM_NFITS];
static void *__test_alloc(struct nfit_test *t, size_t size, dma_addr_t *dma,
static void *test_alloc(struct nfit_test *t, size_t size, dma_addr_t *dma)
struct nfit_test *t = instances[i];
struct nfit_test *t = data;
static int nfit_test_dimm_init(struct nfit_test *t)
static void nfit_security_init(struct nfit_test *t)
static void smart_init(struct nfit_test *t)
static int nfit_test0_alloc(struct nfit_test *t)
static int nfit_test1_alloc(struct nfit_test *t)
static void nfit_test0_setup(struct nfit_test *t)
int (*alloc)(struct nfit_test *t);
void (*setup)(struct nfit_test *t);
static struct nfit_test *to_nfit_test(struct device *dev)
return container_of(pdev, struct nfit_test, pdev);
static int nd_intel_test_get_fw_info(struct nfit_test *t,
static int nd_intel_test_start_update(struct nfit_test *t,
static void nfit_test1_setup(struct nfit_test *t)
static int nd_intel_test_send_data(struct nfit_test *t,
struct nfit_test *nfit_test;
nfit_test = to_nfit_test(&pdev->dev);
if (nfit_test->num_dcr) {
int num = nfit_test->num_dcr;
nfit_test->dimm = devm_kcalloc(dev, num, sizeof(void *),
nfit_test->dimm_dma = devm_kcalloc(dev, num, sizeof(dma_addr_t),
nfit_test->flush = devm_kcalloc(dev, num, sizeof(void *),
nfit_test->flush_dma = devm_kcalloc(dev, num, sizeof(dma_addr_t),
nfit_test->label = devm_kcalloc(dev, num, sizeof(void *),
nfit_test->label_dma = devm_kcalloc(dev, num,
nfit_test->dcr = devm_kcalloc(dev, num,
nfit_test->dcr_dma = devm_kcalloc(dev, num,
nfit_test->smart = devm_kcalloc(dev, num,
nfit_test->smart_threshold = devm_kcalloc(dev, num,
nfit_test->fw = devm_kcalloc(dev, num,
if (nfit_test->dimm && nfit_test->dimm_dma && nfit_test->label
&& nfit_test->label_dma && nfit_test->dcr
&& nfit_test->dcr_dma && nfit_test->flush
&& nfit_test->flush_dma
&& nfit_test->fw)
if (nfit_test->num_pm) {
int num = nfit_test->num_pm;
nfit_test->spa_set = devm_kcalloc(dev, num, sizeof(void *),
nfit_test->spa_set_dma = devm_kcalloc(dev, num,
if (nfit_test->spa_set && nfit_test->spa_set_dma)
if (nfit_test->alloc(nfit_test))
nfit_test->setup(nfit_test);
acpi_desc = &nfit_test->acpi_desc;
rc = acpi_nfit_init(acpi_desc, nfit_test->nfit_buf,
nfit_test->nfit_filled);
if (nfit_test->setup != nfit_test0_setup)
nfit_test->setup_hotplug = 1;
nfit_test->setup(nfit_test);
obj->buffer.length = nfit_test->nfit_size;
obj->buffer.pointer = nfit_test->nfit_buf;
*(nfit_test->_fit) = obj;
__acpi_nfit_notify(&pdev->dev, nfit_test, 0x80);
dev_set_drvdata(nfit_test->dimm_dev[i],
struct nfit_test *nfit_test = to_nfit_test(dev);
kfree(nfit_test);
struct nfit_test *nfit_test;
nfit_test = kzalloc(sizeof(*nfit_test), GFP_KERNEL);
if (!nfit_test) {
INIT_LIST_HEAD(&nfit_test->resources);
badrange_init(&nfit_test->badrange);
nfit_test->num_pm = NUM_PM;
nfit_test->dcr_idx = 0;
nfit_test->num_dcr = NUM_DCR;
nfit_test->alloc = nfit_test0_alloc;
nfit_test->setup = nfit_test0_setup;
nfit_test->num_pm = 2;
nfit_test->dcr_idx = NUM_DCR;
nfit_test->num_dcr = 2;
nfit_test->alloc = nfit_test1_alloc;
nfit_test->setup = nfit_test1_setup;
pdev = &nfit_test->pdev;
instances[i] = nfit_test;
INIT_WORK(&nfit_test->work, uc_error_notify);
static int nd_intel_test_finish_fw(struct nfit_test *t,
static int nd_intel_test_finish_query(struct nfit_test *t,
static int nfit_test_cmd_ars_start(struct nfit_test *t,
static int nfit_test_cmd_clear_error(struct nfit_test *t,
struct nfit_test *t = container_of(work, typeof(*t), work);
static int nfit_test_cmd_ars_error_inject(struct nfit_test *t,
static int nfit_test_cmd_ars_inject_clear(struct nfit_test *t,
static int nfit_test_cmd_ars_inject_status(struct nfit_test *t,
static int nd_intel_test_cmd_set_lss_status(struct nfit_test *t,
static int nd_intel_test_cmd_security_status(struct nfit_test *t,
static int nd_intel_test_cmd_unlock_unit(struct nfit_test *t,
static int nd_intel_test_cmd_set_pass(struct nfit_test *t,