Home
last modified time | relevance | path

Searched full:cdx (Results 1 – 25 of 38) sorted by relevance

12

/openbmc/linux/drivers/cdx/controller/
H A Dcdx_controller.c3 * CDX host controller driver for AMD versal-net platform.
11 #include <linux/cdx/cdx_bus.h>
14 #include "../cdx.h"
18 static unsigned int cdx_mcdi_rpc_timeout(struct cdx_mcdi *cdx, unsigned int cmd) in cdx_mcdi_rpc_timeout() argument
23 static void cdx_mcdi_request(struct cdx_mcdi *cdx, in cdx_mcdi_request() argument
27 if (cdx_rpmsg_send(cdx, hdr, hdr_len, sdu, sdu_len)) in cdx_mcdi_request()
28 dev_err(&cdx->rpdev->dev, "Failed to send rpmsg data\n"); in cdx_mcdi_request()
36 void cdx_rpmsg_post_probe(struct cdx_controller *cdx) in cdx_rpmsg_post_probe() argument
38 /* Register CDX controller with CDX bus driver */ in cdx_rpmsg_post_probe()
39 if (cdx_register_controller(cdx)) in cdx_rpmsg_post_probe()
[all …]
H A Dmcdi.c34 static void cdx_mcdi_cancel_cmd(struct cdx_mcdi *cdx, struct cdx_mcdi_cmd *cmd);
35 static void cdx_mcdi_wait_for_cleanup(struct cdx_mcdi *cdx);
36 static int cdx_mcdi_rpc_async_internal(struct cdx_mcdi *cdx,
52 static void cdx_mcdi_mode_fail(struct cdx_mcdi *cdx, struct list_head *cleanup_list);
53 static void _cdx_mcdi_display_error(struct cdx_mcdi *cdx, unsigned int cmd,
98 static unsigned long cdx_mcdi_rpc_timeout(struct cdx_mcdi *cdx, unsigned int cmd) in cdx_mcdi_rpc_timeout() argument
100 if (!cdx->mcdi_ops->mcdi_rpc_timeout) in cdx_mcdi_rpc_timeout()
103 return cdx->mcdi_ops->mcdi_rpc_timeout(cdx, cmd); in cdx_mcdi_rpc_timeout()
106 int cdx_mcdi_init(struct cdx_mcdi *cdx) in cdx_mcdi_init() argument
111 cdx->mcdi = kzalloc(sizeof(*cdx->mcdi), GFP_KERNEL); in cdx_mcdi_init()
[all …]
H A Dmcdi_functions.h3 * Header file for MCDI FW interaction for CDX bus.
12 #include "../cdx.h"
17 * @cdx: pointer to MCDI interface.
22 int cdx_mcdi_get_num_buses(struct cdx_mcdi *cdx);
27 * @cdx: pointer to MCDI interface.
32 int cdx_mcdi_get_num_devs(struct cdx_mcdi *cdx, int bus_num);
37 * @cdx: pointer to MCDI interface.
46 int cdx_mcdi_get_dev_config(struct cdx_mcdi *cdx,
51 * cdx_mcdi_reset_device - Reset cdx device represented by bus_num:dev_num
52 * @cdx: pointer to MCDI interface.
[all …]
H A Dmcdi.h62 * struct cdx_mcdi - CDX MCDI Firmware interface, to interact
63 * with CDX controller.
83 void (*mcdi_request)(struct cdx_mcdi *cdx,
86 unsigned int (*mcdi_rpc_timeout)(struct cdx_mcdi *cdx, unsigned int cmd);
89 typedef void cdx_mcdi_async_completer(struct cdx_mcdi *cdx,
144 * @cdx: The associated NIC
158 struct cdx_mcdi *cdx; member
183 static inline struct cdx_mcdi_iface *cdx_mcdi_if(struct cdx_mcdi *cdx) in cdx_mcdi_if() argument
185 return cdx->mcdi ? &cdx->mcdi->iface : NULL; in cdx_mcdi_if()
188 int cdx_mcdi_init(struct cdx_mcdi *cdx);
[all …]
H A DKconfig3 # CDX controller configuration
11 tristate "CDX bus controller"
15 CDX controller drives the CDX bus. It interacts with
17 the CDX bus. Say Y to enable the CDX hardware driver.
H A Dmcdi_functions.c11 int cdx_mcdi_get_num_buses(struct cdx_mcdi *cdx) in cdx_mcdi_get_num_buses() argument
17 ret = cdx_mcdi_rpc(cdx, MC_CMD_CDX_BUS_ENUM_BUSES, NULL, 0, in cdx_mcdi_get_num_buses()
28 int cdx_mcdi_get_num_devs(struct cdx_mcdi *cdx, int bus_num) in cdx_mcdi_get_num_devs() argument
37 ret = cdx_mcdi_rpc(cdx, MC_CMD_CDX_BUS_ENUM_DEVICES, inbuf, sizeof(inbuf), in cdx_mcdi_get_num_devs()
48 int cdx_mcdi_get_dev_config(struct cdx_mcdi *cdx, in cdx_mcdi_get_dev_config() argument
62 ret = cdx_mcdi_rpc(cdx, MC_CMD_CDX_BUS_GET_DEVICE_CONFIG, inbuf, sizeof(inbuf), in cdx_mcdi_get_dev_config()
127 int cdx_mcdi_reset_device(struct cdx_mcdi *cdx, u8 bus_num, u8 dev_num) in cdx_mcdi_reset_device() argument
135 ret = cdx_mcdi_rpc(cdx, MC_CMD_CDX_DEVICE_RESET, inbuf, sizeof(inbuf), in cdx_mcdi_reset_device()
H A Dcdx_controller.h3 * Header file for the CDX Controller
11 #include <linux/cdx/cdx_bus.h>
14 void cdx_rpmsg_post_probe(struct cdx_controller *cdx);
16 void cdx_rpmsg_pre_remove(struct cdx_controller *cdx);
H A DMakefile3 # Makefile for CDX controller drivers
8 obj-$(CONFIG_CDX_CONTROLLER) += cdx-controller.o
9 cdx-controller-objs := cdx_controller.o cdx_rpmsg.o mcdi.o mcdi_functions.o
H A Dcdx_rpmsg.c3 * Platform driver for CDX bus.
12 #include <linux/cdx/cdx_bus.h>
15 #include "../cdx.h"
191 "Failed to register cdx RPMsg driver: %d\n", ret); in cdx_setup_rpmsg()
H A Dmc_cdx_pcol.h249 * CDX bus hosts devices (functions) that are implemented using the Composable
255 * devices. This command returns the number of CDX buses present in the system.
269 * Number of CDX buses present in the system. Buses are numbered 0 to
278 * Enumerate CDX bus devices on a given bus
308 * Returns device identification and MMIO/MSI resource data for a CDX device.
/openbmc/linux/drivers/cdx/
H A Dcdx.h3 * Header file for the CDX Bus
11 #include <linux/cdx/cdx_bus.h>
14 * struct cdx_dev_params - CDX device parameters
15 * @cdx: CDX controller associated with the device
16 * @parent: Associated CDX controller
17 * @vendor: Vendor ID for CDX device
18 * @device: Device ID for CDX device
19 * @bus_num: Bus number for this CDX device
23 * @req_id: Requestor ID associated with CDX device
26 struct cdx_controller *cdx; member
[all …]
H A Dcdx.c3 * 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 */
[all …]
H A DKconfig3 # CDX bus configuration
9 bool "CDX Bus driver"
12 Driver to enable Composable DMA Transfer(CDX) Bus. CDX bus
14 APU. CDX bus provides a mechanism for scanning and probing
15 of CDX devices. CDX devices are memory mapped on system bus
16 for embedded CPUs. CDX bus uses CDX controller and firmware
17 to scan these CDX devices.
19 source "drivers/cdx/controller/Kconfig"
H A DMakefile3 # Makefile for CDX
8 obj-$(CONFIG_CDX_BUS) += cdx.o controller/
/openbmc/linux/include/linux/cdx/
H A Dcdx_bus.h3 * CDX bus public interface
20 /* Forward declaration for CDX controller */
31 typedef int (*cdx_scan_cb)(struct cdx_controller *cdx);
33 typedef int (*cdx_dev_configure_cb)(struct cdx_controller *cdx,
38 * CDX_DEVICE_DRIVER_OVERRIDE - macro used to describe a CDX device with
40 * @vend: the 16 bit CDX Vendor ID
41 * @dev: the 16 bit CDX Device ID
42 * @driver_override: the 32 bit CDX Device override_only
51 * struct cdx_ops - Callbacks supported by CDX controller.
54 * msi_config etc for a CDX device
[all …]
/openbmc/linux/Documentation/ABI/testing/
H A Dsysfs-bus-cdx1 What: /sys/bus/cdx/rescan
6 and devices on the CDX bus. Any new devices are scanned and
12 # echo 1 > /sys/bus/cdx/rescan
14 What: /sys/bus/cdx/devices/.../vendor
18 Vendor ID for this CDX device, in hexadecimal. Vendor ID is
22 What: /sys/bus/cdx/devices/.../device
26 Device ID for this CDX device, in hexadecimal. Device ID is
31 What: /sys/bus/cdx/devices/.../reset
35 Writing y/1/on to this file resets the CDX device.
42 # echo 1 > /sys/bus/cdx/.../reset
[all …]
/openbmc/linux/Documentation/devicetree/bindings/bus/
H A Dxlnx,versal-net-cdx.yaml4 $id: http://devicetree.org/schemas/bus/xlnx,versal-net-cdx.yaml#
7 title: AMD CDX bus controller
10 CDX bus controller for AMD devices is implemented to dynamically
11 detect CDX bus and devices using the firmware.
12 The CDX bus manages multiple FPGA based hardware devices, which
17 All devices on the CDX bus will have a unique streamid (for IOMMU)
39 const: xlnx,versal-net-cdx
72 cdx {
73 compatible = "xlnx,versal-net-cdx";
/openbmc/linux/drivers/vfio/cdx/
H A DKconfig3 # VFIO CDX configuration
9 tristate "VFIO support for CDX bus devices"
13 Driver to enable VFIO support for the devices on CDX bus.
14 This is required to make use of CDX devices present in
H A Dmain.c7 #include <linux/cdx/cdx_bus.h>
168 .name = "vfio-cdx",
218 MODULE_DEVICE_TABLE(cdx, vfio_cdx_table);
225 .name = "vfio-cdx",
233 MODULE_DESCRIPTION("VFIO for CDX devices - User Level meta-driver");
H A DMakefile6 obj-$(CONFIG_VFIO_CDX) += vfio-cdx.o
8 vfio-cdx-objs := main.o
/openbmc/linux/arch/nios2/kernel/
H A Dcpuinfo.c58 cpuinfo.has_cdx = of_property_read_bool(cpu, "altr,has-cdx"); in setup_cpuinfo()
74 err_cpu("CDX"); in setup_cpuinfo()
145 " CDX:\t\t%s\n", in show_cpuinfo()
/openbmc/linux/arch/nios2/platform/
H A DKconfig.platform90 bool "Enable CDX instructions"
94 the CDX Bit Manipulation Extension instructions. Enables
/openbmc/linux/drivers/vfio/
H A DMakefile18 obj-$(CONFIG_VFIO_CDX) += cdx/
H A DKconfig87 source "drivers/vfio/cdx/Kconfig"
/openbmc/linux/arch/nios2/
H A DMakefile32 KBUILD_CFLAGS += $(if $(CONFIG_NIOS2_CDX_SUPPORT),-mcdx,-mno-cdx)

12