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 */
77 #define DFH_TYPE GENMASK_ULL(63, 60) /* Feature type */
109 /* Offset to port device feature header */
197 * struct dfl_feature_id - dfl private feature id
199 * @id: unique dfl private feature id.
206 * struct dfl_feature_driver - dfl private feature driver
209 * @ops: ops of this dfl private feature driver.
217 * struct dfl_feature_irq_ctx - dfl private feature interrupt context
230 * struct dfl_feature - sub feature of the feature devices
232 * @dev: ptr to pdev of the feature device which has the sub feature.
233 * @id: sub feature id.
234 * @resource_index: each sub feature has one mmio resource for its registers.
236 * feature dev (platform device)'s resources.
240 * @ops: ops of this sub feature.
241 * @ddev: ptr to the dfl device of this sub feature.
242 * @priv: priv data of this feature.
260 * struct dfl_feature_platform_data - platform data for feature devices
262 * @node: node to link feature devs to container device's port_dev_list.
264 * @cdev: cdev of feature dev.
267 * @id: id used for this feature device.
269 * @excl_open: set on feature device exclusive open.
270 * @open_count: count for feature device open.
272 * @private: ptr to feature dev private data.
273 * @features: sub features of this feature dev.
339 int (*init)(struct platform_device *pdev, struct dfl_feature *feature);
341 struct dfl_feature *feature);
342 long (*ioctl)(struct platform_device *pdev, struct dfl_feature *feature,
368 #define dfl_fpga_dev_for_each_feature(pdata, feature) \ argument
369 for ((feature) = (pdata)->features; \
370 (feature) < (pdata)->features + (pdata)->num; (feature)++)
376 struct dfl_feature *feature; in dfl_get_feature_by_id() local
378 dfl_fpga_dev_for_each_feature(pdata, feature) in dfl_get_feature_by_id()
379 if (feature->id == id) in dfl_get_feature_by_id()
380 return feature; in dfl_get_feature_by_id()
388 struct dfl_feature *feature = dfl_get_feature_by_id(dev, id); in dfl_get_feature_ioaddr_by_id() local
390 if (feature && feature->ioaddr) in dfl_get_feature_ioaddr_by_id()
391 return feature->ioaddr; in dfl_get_feature_ioaddr_by_id()
433 * @dfls: list of device feature lists.
434 * @nr_irqs: number of irqs for all feature devices.
445 * struct dfl_fpga_enum_dfl - DFL FPGA enumeration device feature list info
447 * @start: base address of this device feature list.
448 * @len: size of this device feature list.
449 * @node: node in list of device feature lists.
469 * @fme_dev: FME feature device under this container device.
471 * @port_dev_list: list of all port feature devices under this container device.
513 int dfl_fpga_set_irq_triggers(struct dfl_feature *feature, unsigned int start,
516 struct dfl_feature *feature,
519 struct dfl_feature *feature,