Lines Matching full:feature

3  * Driver Header File for FPGA Device Feature List (DFL) Support
58 * Device Feature Header Register Set
71 /* Device Feature Header Register Bitfield */
72 #define DFH_ID GENMASK_ULL(11, 0) /* Feature ID */
75 #define DFH_REVISION GENMASK_ULL(15, 12) /* Feature revision */
79 #define DFH_TYPE GENMASK_ULL(63, 60) /* Feature type */
94 * CSR Rel Bit, 1'b0 = relative (offset from feature DFH start),
146 /* Offset to port device feature header */
236 * struct dfl_feature_id - dfl private feature id
238 * @id: unique dfl private feature id.
245 * struct dfl_feature_driver - dfl private feature driver
248 * @ops: ops of this dfl private feature driver.
256 * struct dfl_feature_irq_ctx - dfl private feature interrupt context
269 * struct dfl_feature - sub feature of the feature devices
271 * @dev: ptr to pdev of the feature device which has the sub feature.
272 * @id: sub feature id.
273 * @revision: revision of this sub feature.
274 * @resource_index: each sub feature has one mmio resource for its registers.
276 * feature dev (platform device)'s resources.
280 * @ops: ops of this sub feature.
281 * @ddev: ptr to the dfl device of this sub feature.
282 * @priv: priv data of this feature.
306 * struct dfl_feature_dev_data - dfl enumeration data for dfl feature dev.
309 * @lock: mutex to protect feature dev data.
310 * @dev: ptr to the feature's platform device linked with this structure.
311 * @type: type of DFL FIU for the feature dev. See enum dfl_id_type.
312 * @pdev_id: platform device id for the feature dev.
313 * @pdev_name: platform device name for the feature dev.
315 * @id: id used for the feature device.
317 * @excl_open: set on feature device exclusive open.
318 * @open_count: count for feature device open.
320 * @private: ptr to feature dev private data.
321 * @features: sub features for the feature dev.
322 * @resource_num: number of resources for the feature dev.
323 * @resources: resources for the feature dev.
345 * struct dfl_feature_platform_data - platform data for feature devices
347 * @cdev: cdev of feature dev.
348 * @fdata: dfl enumeration data for the dfl feature device.
404 int (*init)(struct platform_device *pdev, struct dfl_feature *feature);
406 struct dfl_feature *feature);
407 long (*ioctl)(struct platform_device *pdev, struct dfl_feature *feature,
433 #define dfl_fpga_dev_for_each_feature(fdata, feature) \ argument
434 for ((feature) = (fdata)->features; \
435 (feature) < (fdata)->features + (fdata)->num; (feature)++)
440 struct dfl_feature *feature; in dfl_get_feature_by_id() local
442 dfl_fpga_dev_for_each_feature(fdata, feature) in dfl_get_feature_by_id()
443 if (feature->id == id) in dfl_get_feature_by_id()
444 return feature; in dfl_get_feature_by_id()
452 struct dfl_feature *feature = dfl_get_feature_by_id(fdata, id); in dfl_get_feature_ioaddr_by_id() local
454 if (feature && feature->ioaddr) in dfl_get_feature_ioaddr_by_id()
455 return feature->ioaddr; in dfl_get_feature_ioaddr_by_id()
500 * @dfls: list of device feature lists.
501 * @nr_irqs: number of irqs for all feature devices.
512 * struct dfl_fpga_enum_dfl - DFL FPGA enumeration device feature list info
514 * @start: base address of this device feature list.
515 * @len: size of this device feature list.
516 * @node: node in list of device feature lists.
536 * @fme_dev: FME feature device under this container device.
538 * @port_dev_list: list of all port feature devices under this container device.
575 int dfl_fpga_set_irq_triggers(struct dfl_feature *feature, unsigned int start,
578 struct dfl_feature *feature,
581 struct dfl_feature *feature,