Lines Matching defs:adapter
173 static int update_devicetree(struct cxl *adapter, s32 scope)
190 unwa->unit_address = cpu_to_be64(adapter->guest->handle);
227 static int handle_image(struct cxl *adapter, int operation,
237 /* base adapter image header */
244 header->vendor = cpu_to_be16(adapter->guest->vendor);
245 header->device = cpu_to_be16(adapter->guest->device);
246 header->subsystem_vendor = cpu_to_be16(adapter->guest->subsystem_vendor);
247 header->subsystem = cpu_to_be16(adapter->guest->subsystem);
285 /* add adapter image header */
308 * download/validate the adapter image to the coherent
311 rc = fct(adapter->guest->handle, virt_to_phys(le), entries,
322 static int transfer_image(struct cxl *adapter, int operation,
330 rc = handle_image(adapter, operation,
333 pr_devel("resetting adapter\n");
334 cxl_h_reset_adapter(adapter->guest->handle);
339 rc = handle_image(adapter, operation,
342 pr_devel("resetting adapter\n");
343 cxl_h_reset_adapter(adapter->guest->handle);
348 for (afu = 0; afu < adapter->slices; afu++)
349 cxl_guest_remove_afu(adapter->afu[afu]);
351 pr_devel("resetting adapter\n");
352 cxl_h_reset_adapter(adapter->guest->handle);
362 rc = update_devicetree(adapter, DEVICE_SCOPE);
371 static long ioctl_transfer_image(struct cxl *adapter, int operation,
388 return transfer_image(adapter, operation, &ai);
394 struct cxl *adapter;
405 if (!(adapter = get_cxl_adapter(adapter_num))) {
410 file->private_data = adapter;
451 put_device(&adapter->dev);
460 struct cxl *adapter = file->private_data;
465 return ioctl_transfer_image(adapter,
469 return ioctl_transfer_image(adapter,
478 struct cxl *adapter = file->private_data;
492 put_device(&adapter->dev);
497 cxl_guest_reload_module(adapter);
499 pr_devel("resetting adapter\n");
500 cxl_h_reset_adapter(adapter->guest->handle);
515 void cxl_guest_remove_chardev(struct cxl *adapter)
517 cdev_del(&adapter->guest->cdev);
520 int cxl_guest_add_chardev(struct cxl *adapter)
525 devt = MKDEV(MAJOR(cxl_get_dev()), CXL_CARD_MINOR(adapter));
526 cdev_init(&adapter->guest->cdev, &fops);
527 if ((rc = cdev_add(&adapter->guest->cdev, devt, 1))) {
528 dev_err(&adapter->dev,
529 "Unable to add chardev on adapter (card%i): %i\n",
530 adapter->adapter_num, rc);
533 adapter->dev.devt = devt;