Lines Matching refs:nfit_test
23 #include "nfit_test.h"
179 struct nfit_test {
200 int (*alloc)(struct nfit_test *t);
201 void (*setup)(struct nfit_test *t);
224 static struct nfit_test *to_nfit_test(struct device *dev)
228 return container_of(pdev, struct nfit_test, pdev);
231 static int nd_intel_test_get_fw_info(struct nfit_test *t,
238 dev_dbg(dev, "%s(nfit_test: %p nd_cmd: %p, buf_len: %u, idx: %d\n",
257 static int nd_intel_test_start_update(struct nfit_test *t,
264 dev_dbg(dev, "%s(nfit_test: %p nd_cmd: %p buf_len: %u idx: %d)\n",
287 static int nd_intel_test_send_data(struct nfit_test *t,
295 dev_dbg(dev, "%s(nfit_test: %p nd_cmd: %p buf_len: %u idx: %d)\n",
338 static int nd_intel_test_finish_fw(struct nfit_test *t,
345 dev_dbg(dev, "%s(nfit_test: %p nd_cmd: %p buf_len: %u idx: %d)\n",
389 static int nd_intel_test_finish_query(struct nfit_test *t,
396 dev_dbg(dev, "%s(nfit_test: %p nd_cmd: %p buf_len: %u idx: %d)\n",
568 static int nfit_test_cmd_ars_start(struct nfit_test *t,
614 static int nfit_test_cmd_clear_error(struct nfit_test *t,
818 struct nfit_test *t = container_of(work, typeof(*t), work);
823 static int nfit_test_cmd_ars_error_inject(struct nfit_test *t,
854 static int nfit_test_cmd_ars_inject_clear(struct nfit_test *t,
880 static int nfit_test_cmd_ars_inject_status(struct nfit_test *t,
903 static int nd_intel_test_cmd_set_lss_status(struct nfit_test *t,
942 static int nd_intel_test_cmd_security_status(struct nfit_test *t,
957 static int nd_intel_test_cmd_unlock_unit(struct nfit_test *t,
983 static int nd_intel_test_cmd_set_pass(struct nfit_test *t,
1008 static int nd_intel_test_cmd_freeze_lock(struct nfit_test *t,
1027 static int nd_intel_test_cmd_disable_pass(struct nfit_test *t,
1051 static int nd_intel_test_cmd_secure_erase(struct nfit_test *t,
1082 static int nd_intel_test_cmd_overwrite(struct nfit_test *t,
1105 static int nd_intel_test_cmd_query_overwrite(struct nfit_test *t,
1128 static int nd_intel_test_cmd_master_set_pass(struct nfit_test *t,
1155 static int nd_intel_test_cmd_master_secure_erase(struct nfit_test *t,
1185 static int nvdimm_bus_intel_fw_activate_businfo(struct nfit_test *t,
1227 static int nvdimm_bus_intel_fw_activate(struct nfit_test *t,
1265 static int nd_intel_test_cmd_fw_activate_dimminfo(struct nfit_test *t,
1301 static int nd_intel_test_cmd_fw_activate_arm(struct nfit_test *t,
1329 struct nfit_test *t = container_of(acpi_desc, typeof(*t), acpi_desc);
1353 struct nfit_test *t = container_of(acpi_desc, typeof(*t), acpi_desc);
1595 static struct nfit_test *instances[NUM_NFITS];
1612 static void *__test_alloc(struct nfit_test *t, size_t size, dma_addr_t *dma,
1648 static void *test_alloc(struct nfit_test *t, size_t size, dma_addr_t *dma)
1669 struct nfit_test *t = instances[i];
1707 struct nfit_test *t = data;
1826 static int nfit_test_dimm_init(struct nfit_test *t)
1843 static void nfit_security_init(struct nfit_test *t)
1854 static void smart_init(struct nfit_test *t)
1878 static int nfit_test0_alloc(struct nfit_test *t)
1943 static int nfit_test1_alloc(struct nfit_test *t)
1987 static void nfit_test0_setup(struct nfit_test *t)
2735 static void nfit_test1_setup(struct nfit_test *t)
3128 struct nfit_test *nfit_test;
3133 if (strcmp(dev_name(&pdev->dev), "nfit_test.0") == 0) {
3139 nfit_test = to_nfit_test(&pdev->dev);
3142 if (nfit_test->num_dcr) {
3143 int num = nfit_test->num_dcr;
3145 nfit_test->dimm = devm_kcalloc(dev, num, sizeof(void *),
3147 nfit_test->dimm_dma = devm_kcalloc(dev, num, sizeof(dma_addr_t),
3149 nfit_test->flush = devm_kcalloc(dev, num, sizeof(void *),
3151 nfit_test->flush_dma = devm_kcalloc(dev, num, sizeof(dma_addr_t),
3153 nfit_test->label = devm_kcalloc(dev, num, sizeof(void *),
3155 nfit_test->label_dma = devm_kcalloc(dev, num,
3157 nfit_test->dcr = devm_kcalloc(dev, num,
3159 nfit_test->dcr_dma = devm_kcalloc(dev, num,
3161 nfit_test->smart = devm_kcalloc(dev, num,
3163 nfit_test->smart_threshold = devm_kcalloc(dev, num,
3166 nfit_test->fw = devm_kcalloc(dev, num,
3168 if (nfit_test->dimm && nfit_test->dimm_dma && nfit_test->label
3169 && nfit_test->label_dma && nfit_test->dcr
3170 && nfit_test->dcr_dma && nfit_test->flush
3171 && nfit_test->flush_dma
3172 && nfit_test->fw)
3178 if (nfit_test->num_pm) {
3179 int num = nfit_test->num_pm;
3181 nfit_test->spa_set = devm_kcalloc(dev, num, sizeof(void *),
3183 nfit_test->spa_set_dma = devm_kcalloc(dev, num,
3185 if (nfit_test->spa_set && nfit_test->spa_set_dma)
3192 if (nfit_test->alloc(nfit_test))
3195 nfit_test->setup(nfit_test);
3196 acpi_desc = &nfit_test->acpi_desc;
3203 rc = acpi_nfit_init(acpi_desc, nfit_test->nfit_buf,
3204 nfit_test->nfit_filled);
3212 if (nfit_test->setup != nfit_test0_setup)
3215 nfit_test->setup_hotplug = 1;
3216 nfit_test->setup(nfit_test);
3222 obj->buffer.length = nfit_test->nfit_size;
3223 obj->buffer.pointer = nfit_test->nfit_buf;
3224 *(nfit_test->_fit) = obj;
3225 __acpi_nfit_notify(&pdev->dev, nfit_test, 0x80);
3235 dev_set_drvdata(nfit_test->dimm_dev[i],
3245 struct nfit_test *nfit_test = to_nfit_test(dev);
3247 kfree(nfit_test);
3297 struct nfit_test *nfit_test;
3300 nfit_test = kzalloc(sizeof(*nfit_test), GFP_KERNEL);
3301 if (!nfit_test) {
3305 INIT_LIST_HEAD(&nfit_test->resources);
3306 badrange_init(&nfit_test->badrange);
3309 nfit_test->num_pm = NUM_PM;
3310 nfit_test->dcr_idx = 0;
3311 nfit_test->num_dcr = NUM_DCR;
3312 nfit_test->alloc = nfit_test0_alloc;
3313 nfit_test->setup = nfit_test0_setup;
3316 nfit_test->num_pm = 2;
3317 nfit_test->dcr_idx = NUM_DCR;
3318 nfit_test->num_dcr = 2;
3319 nfit_test->alloc = nfit_test1_alloc;
3320 nfit_test->setup = nfit_test1_setup;
3326 pdev = &nfit_test->pdev;
3341 instances[i] = nfit_test;
3342 INIT_WORK(&nfit_test->work, uc_error_notify);