• Home
  • Raw
  • Download

Lines Matching full:cdx

3  * CDX bus driver.
11 * CDX is a Hardware Architecture designed for AMD FPGA devices. It
19 * The diagram below shows an overview of the CDX architecture:
24 * | CDX device drivers|
26 * | CDX bus |
28 * | CDX controller |
64 #include <linux/cdx/cdx_bus.h>
67 #include "cdx.h"
69 /* Default DMA mask for devices on a CDX bus */
73 /* CDX controllers registered with the CDX bus */
77 * cdx_dev_reset - Reset a CDX device
78 * @dev: CDX device
85 struct cdx_controller *cdx = cdx_dev->cdx; in cdx_dev_reset() local
96 ret = cdx->ops->dev_configure(cdx, cdx_dev->bus_num, in cdx_dev_reset()
99 dev_err(dev, "cdx device reset failed\n"); in cdx_dev_reset()
110 * cdx_unregister_device - Unregister a CDX device
111 * @dev: CDX device
138 /* Reset all the devices attached to cdx bus */ in cdx_unregister_devices()
143 * cdx_match_one_device - Tell if a CDX device structure has a matching
144 * CDX device id structure
145 * @id: single CDX device id structure to match
146 * @dev: the CDX device structure to match against
162 * cdx_match_id - See if a CDX device matches a given cdx_id table
163 * @ids: array of CDX device ID structures to search in
164 * @dev: the CDX device structure to match against.
166 * Used by a driver to check whether a CDX device is in its list of
187 * @dev: the cdx device to match against
188 * @drv: the device driver to search for matching cdx device
386 struct cdx_controller *cdx; in rescan_store() local
400 xa_for_each(&cdx_controllers, index, cdx) { in rescan_store()
403 ret = cdx->ops->scan(cdx); in rescan_store()
405 dev_err(cdx->dev, "cdx bus scanning failed\n"); in rescan_store()
419 .name = "cdx",
465 struct cdx_controller *cdx = dev_params->cdx; in cdx_device_add() local
466 struct device *parent = cdx->dev; in cdx_device_add()
479 /* Populate CDX dev params */ in cdx_device_add()
485 cdx_dev->cdx = dev_params->cdx; in cdx_device_add()
496 dev_set_name(&cdx_dev->dev, "cdx-%02x:%02x", in cdx_device_add()
497 ((cdx->id << CDX_CONTROLLER_ID_SHIFT) | (cdx_dev->bus_num & CDX_BUS_NUM_MASK)), in cdx_device_add()
503 "cdx device add failed: %d", ret); in cdx_device_add()
519 int cdx_register_controller(struct cdx_controller *cdx) in cdx_register_controller() argument
523 ret = xa_alloc(&cdx_controllers, &cdx->id, cdx, in cdx_register_controller()
526 dev_err(cdx->dev, in cdx_register_controller()
528 cdx->id = (u8)MAX_CDX_CONTROLLERS; in cdx_register_controller()
533 cdx->ops->scan(cdx); in cdx_register_controller()
539 void cdx_unregister_controller(struct cdx_controller *cdx) in cdx_unregister_controller() argument
541 if (cdx->id >= MAX_CDX_CONTROLLERS) in cdx_unregister_controller()
544 device_for_each_child(cdx->dev, NULL, cdx_unregister_device); in cdx_unregister_controller()
545 xa_erase(&cdx_controllers, cdx->id); in cdx_unregister_controller()