Lines Matching full:feature

3  * Driver Header File for FPGA Device Feature List (DFL) Support
57 * Device Feature Header Register Set
70 /* Device Feature Header Register Bitfield */
71 #define DFH_ID GENMASK_ULL(11, 0) /* Feature ID */
74 #define DFH_REVISION GENMASK_ULL(15, 12) /* Feature revision */
78 #define DFH_TYPE GENMASK_ULL(63, 60) /* Feature type */
93 * CSR Rel Bit, 1'b0 = relative (offset from feature DFH start),
145 /* Offset to port device feature header */
233 * struct dfl_feature_id - dfl private feature id
235 * @id: unique dfl private feature id.
242 * struct dfl_feature_driver - dfl private feature driver
245 * @ops: ops of this dfl private feature driver.
253 * struct dfl_feature_irq_ctx - dfl private feature interrupt context
266 * struct dfl_feature - sub feature of the feature devices
268 * @dev: ptr to pdev of the feature device which has the sub feature.
269 * @id: sub feature id.
270 * @revision: revision of this sub feature.
271 * @resource_index: each sub feature has one mmio resource for its registers.
273 * feature dev (platform device)'s resources.
277 * @ops: ops of this sub feature.
278 * @ddev: ptr to the dfl device of this sub feature.
279 * @priv: priv data of this feature.
303 * struct dfl_feature_platform_data - platform data for feature devices
305 * @node: node to link feature devs to container device's port_dev_list.
307 * @cdev: cdev of feature dev.
310 * @id: id used for this feature device.
312 * @excl_open: set on feature device exclusive open.
313 * @open_count: count for feature device open.
315 * @private: ptr to feature dev private data.
316 * @features: sub features of this feature dev.
382 int (*init)(struct platform_device *pdev, struct dfl_feature *feature);
384 struct dfl_feature *feature);
385 long (*ioctl)(struct platform_device *pdev, struct dfl_feature *feature,
411 #define dfl_fpga_dev_for_each_feature(pdata, feature) \ argument
412 for ((feature) = (pdata)->features; \
413 (feature) < (pdata)->features + (pdata)->num; (feature)++)
419 struct dfl_feature *feature; in dfl_get_feature_by_id() local
421 dfl_fpga_dev_for_each_feature(pdata, feature) in dfl_get_feature_by_id()
422 if (feature->id == id) in dfl_get_feature_by_id()
423 return feature; in dfl_get_feature_by_id()
431 struct dfl_feature *feature = dfl_get_feature_by_id(dev, id); in dfl_get_feature_ioaddr_by_id() local
433 if (feature && feature->ioaddr) in dfl_get_feature_ioaddr_by_id()
434 return feature->ioaddr; in dfl_get_feature_ioaddr_by_id()
471 * @dfls: list of device feature lists.
472 * @nr_irqs: number of irqs for all feature devices.
483 * struct dfl_fpga_enum_dfl - DFL FPGA enumeration device feature list info
485 * @start: base address of this device feature list.
486 * @len: size of this device feature list.
487 * @node: node in list of device feature lists.
507 * @fme_dev: FME feature device under this container device.
509 * @port_dev_list: list of all port feature devices under this container device.
551 int dfl_fpga_set_irq_triggers(struct dfl_feature *feature, unsigned int start,
554 struct dfl_feature *feature,
557 struct dfl_feature *feature,