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 * enum tb_link_width - Thunderbolt/USB4 link width
189 * struct tb_xdomain - Cross-domain (XDomain) connection
233 * non-standard properties but they need hold @lock when doing so
252 bool link_usb4;
253 bool is_unplugged;
254 bool needs_uuid;
268 bool bonding_possible;
289 return tb_xdomain_disable_paths(xd, -1, -1, -1, -1); in tb_xdomain_disable_all_paths()
300 mutex_lock(&tb->lock); in tb_xdomain_find_by_uuid_locked()
302 mutex_unlock(&tb->lock); in tb_xdomain_find_by_uuid_locked()
312 mutex_lock(&tb->lock); in tb_xdomain_find_by_route_locked()
314 mutex_unlock(&tb->lock); in tb_xdomain_find_by_route_locked()
322 get_device(&xd->dev); in tb_xdomain_get()
329 put_device(&xd->dev); in tb_xdomain_put()
332 static inline bool tb_is_xdomain(const struct device *dev) in tb_is_xdomain()
334 return dev->type == &tb_xdomain_type; in tb_is_xdomain()
353 * tb_protocol_handler - Protocol specific handler
381 * struct tb_service - Thunderbolt service
411 get_device(&svc->dev); in tb_service_get()
418 put_device(&svc->dev); in tb_service_put()
421 static inline bool tb_is_service(const struct device *dev) in tb_is_service()
423 return dev->type == &tb_service_type; in tb_is_service()
434 * tb_service_driver - Thunderbolt service driver
460 return dev_get_drvdata(&svc->dev); in tb_service_get_drvdata()
465 dev_set_drvdata(&svc->dev, data); in tb_service_set_drvdata()
470 return tb_to_xdomain(svc->dev.parent); in tb_service_parent()
474 * struct tb_nhi - thunderbolt native host interface
482 * @msix_ida: Used to allocate MSI-X vectors for rings
485 * @iommu_dma_protection: An IOMMU will isolate external-facing ports.
487 * MSI-X is used.
499 bool going_away;
500 bool iommu_dma_protection;
507 * struct tb_ring - thunderbolt TX or RX ring associated with a NHI
509 * nhi->lock.
521 * @irq: MSI-X irq number if the ring uses MSI-X. %0 otherwise.
522 * @vector: MSI-X vector number the ring uses (only set if @irq is > 0)
544 bool is_tx:1;
545 bool running:1;
560 /* Enable end-to-end flow control */
564 typedef void (*ring_cb)(struct tb_ring *, struct ring_frame *, bool canceled);
567 * enum ring_desc_flags - Flags for DMA ring descriptor
585 * struct ring_frame - For use with ring_rx/ring_tx
620 * tb_ring_rx() - enqueue a frame on an RX ring
624 * @frame->buffer, @frame->buffer_phy have to be set. The buffer must
627 * @frame->callback will be invoked with @frame->size, @frame->flags,
628 * @frame->eof, @frame->sof set once the frame has been received.
631 * @frame->callback will be called with canceled set to true.
633 * Return: Returns %-ESHUTDOWN if ring_stop has been called. Zero otherwise.
637 WARN_ON(ring->is_tx); in tb_ring_rx()
642 * tb_ring_tx() - enqueue a frame on an TX ring
646 * @frame->buffer, @frame->buffer_phy, @frame->size, @frame->eof and
647 * @frame->sof have to be set.
649 * @frame->callback will be invoked with once the frame has been transmitted.
651 * If ring_stop() is called after the packet has been enqueued @frame->callback
654 * Return: Returns %-ESHUTDOWN if ring_stop has been called. Zero otherwise.
658 WARN_ON(!ring->is_tx); in tb_ring_tx()
667 * tb_ring_dma_device() - Return device used for DMA mapping
675 return &ring->nhi->pdev->dev; in tb_ring_dma_device()