Lines Matching +full:bool +full:- +full:property

1 /* SPDX-License-Identifier: GPL-2.0 */
40 * enum tb_security_level - Thunderbolt security level
61 * struct tb - main thunderbolt bus structure
97 return (link - 1) / TB_LINKS_PER_PHY_PORT; in tb_phy_port_from_link()
101 * struct tb_property_dir - XDomain property directory
123 * struct tb_property - XDomain property
125 * @key: Key for the property (always terminated).
126 * @type: Type of the property
127 * @length: Length of the property data in dwords
128 * @value: Property value
166 #define tb_property_for_each(dir, property) \ argument
167 for (property = tb_property_get_next(dir, NULL); \
168 property; \
169 property = tb_property_get_next(dir, property))
175 * struct tb_xdomain - Cross-domain (XDomain) connection
219 * non-standard properties but they need hold @lock when doing so
238 bool link_usb4;
239 bool is_unplugged;
240 bool needs_uuid;
254 bool bonding_possible;
275 return tb_xdomain_disable_paths(xd, -1, -1, -1, -1); in tb_xdomain_disable_all_paths()
286 mutex_lock(&tb->lock); in tb_xdomain_find_by_uuid_locked()
288 mutex_unlock(&tb->lock); in tb_xdomain_find_by_uuid_locked()
298 mutex_lock(&tb->lock); in tb_xdomain_find_by_route_locked()
300 mutex_unlock(&tb->lock); in tb_xdomain_find_by_route_locked()
308 get_device(&xd->dev); in tb_xdomain_get()
315 put_device(&xd->dev); in tb_xdomain_put()
318 static inline bool tb_is_xdomain(const struct device *dev) in tb_is_xdomain()
320 return dev->type == &tb_xdomain_type; in tb_is_xdomain()
339 * tb_protocol_handler - Protocol specific handler
367 * struct tb_service - Thunderbolt service
397 get_device(&svc->dev); in tb_service_get()
404 put_device(&svc->dev); in tb_service_put()
407 static inline bool tb_is_service(const struct device *dev) in tb_is_service()
409 return dev->type == &tb_service_type; in tb_is_service()
420 * tb_service_driver - Thunderbolt service driver
446 return dev_get_drvdata(&svc->dev); in tb_service_get_drvdata()
451 dev_set_drvdata(&svc->dev, data); in tb_service_set_drvdata()
456 return tb_to_xdomain(svc->dev.parent); in tb_service_parent()
460 * struct tb_nhi - thunderbolt native host interface
468 * @msix_ida: Used to allocate MSI-X vectors for rings
471 * @iommu_dma_protection: An IOMMU will isolate external-facing ports.
473 * MSI-X is used.
485 bool going_away;
486 bool iommu_dma_protection;
493 * struct tb_ring - thunderbolt TX or RX ring associated with a NHI
495 * nhi->lock.
507 * @irq: MSI-X irq number if the ring uses MSI-X. %0 otherwise.
508 * @vector: MSI-X vector number the ring uses (only set if @irq is > 0)
530 bool is_tx:1;
531 bool running:1;
546 /* Enable end-to-end flow control */
550 typedef void (*ring_cb)(struct tb_ring *, struct ring_frame *, bool canceled);
553 * enum ring_desc_flags - Flags for DMA ring descriptor
571 * struct ring_frame - For use with ring_rx/ring_tx
606 * tb_ring_rx() - enqueue a frame on an RX ring
610 * @frame->buffer, @frame->buffer_phy have to be set. The buffer must
613 * @frame->callback will be invoked with @frame->size, @frame->flags,
614 * @frame->eof, @frame->sof set once the frame has been received.
617 * @frame->callback will be called with canceled set to true.
619 * Return: Returns %-ESHUTDOWN if ring_stop has been called. Zero otherwise.
623 WARN_ON(ring->is_tx); in tb_ring_rx()
628 * tb_ring_tx() - enqueue a frame on an TX ring
632 * @frame->buffer, @frame->buffer_phy, @frame->size, @frame->eof and
633 * @frame->sof have to be set.
635 * @frame->callback will be invoked with once the frame has been transmitted.
637 * If ring_stop() is called after the packet has been enqueued @frame->callback
640 * Return: Returns %-ESHUTDOWN if ring_stop has been called. Zero otherwise.
644 WARN_ON(!ring->is_tx); in tb_ring_tx()
653 * tb_ring_dma_device() - Return device used for DMA mapping
661 return &ring->nhi->pdev->dev; in tb_ring_dma_device()