Lines Matching full:feature

3  * Driver Header File for FPGA Device Feature List (DFL) Support
56 * Device Feature Header Register Set
69 /* Device Feature Header Register Bitfield */
70 #define DFH_ID GENMASK_ULL(11, 0) /* Feature ID */
73 #define DFH_REVISION GENMASK_ULL(15, 12) /* Feature revision */
76 #define DFH_TYPE GENMASK_ULL(63, 60) /* Feature type */
107 /* Offset to port device feature header */
195 * struct dfl_feature_id - dfl private feature id
197 * @id: unique dfl private feature id.
204 * struct dfl_feature_driver - dfl private feature driver
207 * @ops: ops of this dfl private feature driver.
215 * struct dfl_feature_irq_ctx - dfl private feature interrupt context
228 * struct dfl_feature - sub feature of the feature devices
230 * @dev: ptr to pdev of the feature device which has the sub feature.
231 * @id: sub feature id.
232 * @resource_index: each sub feature has one mmio resource for its registers.
234 * feature dev (platform device)'s reources.
238 * @ops: ops of this sub feature.
239 * @ddev: ptr to the dfl device of this sub feature.
240 * @priv: priv data of this feature.
257 * struct dfl_feature_platform_data - platform data for feature devices
259 * @node: node to link feature devs to container device's port_dev_list.
261 * @cdev: cdev of feature dev.
264 * @id: id used for this feature device.
266 * @excl_open: set on feature device exclusive open.
267 * @open_count: count for feature device open.
269 * @private: ptr to feature dev private data.
270 * @features: sub features of this feature dev.
336 int (*init)(struct platform_device *pdev, struct dfl_feature *feature);
338 struct dfl_feature *feature);
339 long (*ioctl)(struct platform_device *pdev, struct dfl_feature *feature,
365 #define dfl_fpga_dev_for_each_feature(pdata, feature) \ argument
366 for ((feature) = (pdata)->features; \
367 (feature) < (pdata)->features + (pdata)->num; (feature)++)
373 struct dfl_feature *feature; in dfl_get_feature_by_id() local
375 dfl_fpga_dev_for_each_feature(pdata, feature) in dfl_get_feature_by_id()
376 if (feature->id == id) in dfl_get_feature_by_id()
377 return feature; in dfl_get_feature_by_id()
385 struct dfl_feature *feature = dfl_get_feature_by_id(dev, id); in dfl_get_feature_ioaddr_by_id() local
387 if (feature && feature->ioaddr) in dfl_get_feature_ioaddr_by_id()
388 return feature->ioaddr; in dfl_get_feature_ioaddr_by_id()
430 * @dfls: list of device feature lists.
431 * @nr_irqs: number of irqs for all feature devices.
442 * struct dfl_fpga_enum_dfl - DFL FPGA enumeration device feature list info
444 * @start: base address of this device feature list.
445 * @len: size of this device feature list.
446 * @node: node in list of device feature lists.
466 * @fme_dev: FME feature device under this container device.
468 * @port_dev_list: list of all port feature devices under this container device.
510 int dfl_fpga_set_irq_triggers(struct dfl_feature *feature, unsigned int start,
513 struct dfl_feature *feature,
516 struct dfl_feature *feature,
531 * @feature_id: contains 12 bits feature identifier local to its DFL FIU type.
546 * @feature_id: 16 bits feature identifier local to its DFL FIU type.