| /linux/virt/lib/ |
| H A D | irqbypass.c | 55 prod->consumer = cons; in __connect() 80 prod->consumer = NULL; in __disconnect() 91 * consumer with a matching eventfd, if one exists. 97 struct irq_bypass_consumer *consumer; in irq_bypass_register_producer() local 111 consumer = xa_load(&consumers, index); in irq_bypass_register_producer() 112 if (consumer) { in irq_bypass_register_producer() 113 ret = __connect(producer, consumer); in irq_bypass_register_producer() 131 * consumer, if one exists. 142 if (producer->consumer) in irq_bypass_unregister_producer() 143 __disconnect(producer, producer->consumer); in irq_bypass_unregister_producer() [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-class-devlink | 7 denoted as ... above, is of the form <supplier>--<consumer> 8 where <supplier> is the supplier bus:device name and <consumer> 9 is the consumer bus:device name. 16 automatically removed by the driver core when the consumer and 21 - 'consumer unbind' 25 'consumer unbind' means the device link will be removed when 26 the consumer's driver is unbound from the consumer device. 32 when as long as the supplier and consumer devices themselves 35 What: /sys/class/devlink/.../consumer 39 This file is a symlink to the consumer device's sysfs directory. [all …]
|
| H A D | sysfs-devices-consumer | 1 What: /sys/devices/.../consumer:<consumer> 5 The /sys/devices/.../consumer:<consumer> are symlinks to device 6 links where this device is the supplier. <consumer> denotes the 7 name of the consumer in that device link and is of the form
|
| /linux/drivers/pps/ |
| H A D | kc.c | 3 * PPS kernel consumer API 23 /* state variables to bind kernel consumer */ 25 /* PPS API (RFC 2783): current source and mode for kernel consumer */ 27 static int pps_kc_hardpps_mode; /* mode bits for kernel consumer */ 29 /* pps_kc_bind - control PPS kernel consumer binding 31 * @bind_args: kernel consumer bind parameters 33 * This function is used to bind or unbind PPS kernel consumer according to 38 /* Check if another consumer is already bound */ in pps_kc_bind() 47 " consumer\n"); in pps_kc_bind() 50 dev_err(&pps->dev, "selected kernel consumer" in pps_kc_bind() [all …]
|
| /linux/Documentation/power/regulator/ |
| H A D | overview.rst | 39 - Consumer 43 Static: consumer does not change its supply voltage or 48 Dynamic: consumer needs to change its supply voltage or 59 Regulator -+-> Switch-1 -+-> Switch-2 --> [Consumer A] 61 | +-> [Consumer B], [Consumer C] 63 +-> [Consumer D], [Consumer E] 69 - Domain 3: Consumer A. 78 Regulator-1 -+-> Regulator-2 -+-> [Consumer A] 80 +-> [Consumer B] 84 - Domain 1: Regulator-2, Consumer B. [all …]
|
| H A D | consumer.rst | 2 Regulator Consumer Driver Interface 5 This text describes the regulator interface for consumer device drivers. 9 1. Consumer Regulator Access (static & dynamic drivers) 12 A consumer driver can get access to its supply regulator by calling :: 16 The consumer passes in its struct device pointer and power supply ID. The core 19 regulator that supplies this consumer. 21 To release the regulator the consumer driver should call :: 25 Consumers can be supplied by more than one regulator e.g. codec consumer with 47 A consumer can enable its power supply by calling:: 53 This may happen if the consumer shares the regulator or the regulator has been [all …]
|
| H A D | machine.rst | 10 Regulator-1 -+-> Regulator-2 --> [Consumer A @ 1.8 - 2.0V] 12 +-> [Consumer B @ 3.3V] 20 const char *dev_name; /* consumer dev_name() */ 21 const char *supply; /* consumer supply - e.g. "vcc" */ 27 REGULATOR_SUPPLY("Vcc", "consumer B"), 31 REGULATOR_SUPPLY("Vcc", "consumer A"), 34 This maps Regulator-1 to the 'Vcc' supply for Consumer B and maps Regulator-2 35 to the 'Vcc' supply for Consumer A. 59 with the core so that Regulator-1 is also enabled when Consumer A enables its
|
| /linux/Documentation/driver-api/iio/ |
| H A D | hw-consumer.rst | 2 HW consumer 5 case the buffers between IIO provider and IIO consumer are handled by hardware. 6 The Industrial I/O HW consumer offers a way to bond these IIO devices without 8 :file:`drivers/iio/buffer/hw-consumer.c` 11 * struct iio_hw_consumer — Hardware consumer structure 12 * :c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumer 13 * :c:func:`iio_hw_consumer_free` — Free IIO hardware consumer 14 * :c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumer 15 * :c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumer 18 HW consumer setup [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_pagefault_types.h | 41 * Page fault producer receives acknowledgment from the consumer and 50 * Generic page fault structure for communication between producer and consumer. 52 * populates this structure, and the consumer copies it into the page-fault 61 * @consumer: State for the software handling the fault. Populated by 62 * the producer and may be modified by the consumer to communicate 66 /** @consumer.page_addr: address of page fault */ 68 /** @consumer.asid: address space ID */ 71 * @consumer.access_type: access type, u8 rather than enum to 76 * @consumer.fault_type: fault type, u8 rather than enum to 81 /** @consumer.fault_level: fault level */ [all …]
|
| H A D | xe_pagefault.c | 28 * then forwards them to the consumer. The consumer layer services the faults 31 * The consumer uses a page fault queue sized to absorb all potential faults and 33 * with a single shared consumer. 35 * xe_pagefault.c implements the consumer layer. 167 if (pf->consumer.fault_level == XE_PAGEFAULT_LEVEL_NACK) in xe_pagefault_service() 170 vm = xe_pagefault_asid_to_vm(xe, pf->consumer.asid); in xe_pagefault_service() 184 vma = xe_vm_find_vma_by_addr(vm, pf->consumer.page_addr); in xe_pagefault_service() 191 pf->consumer.access_type != XE_PAGEFAULT_ACCESS_TYPE_READ) { in xe_pagefault_service() 196 atomic = xe_pagefault_access_is_atomic(pf->consumer.access_type); in xe_pagefault_service() 200 pf->consumer.page_addr, atomic); in xe_pagefault_service() [all …]
|
| H A D | xe_guc_pagefault.c | 27 FIELD_PREP(PFR_ASID, pf->consumer.asid), in guc_ack_fault() 73 pf.consumer.page_addr = ((u64)FIELD_GET(PFD_VIRTUAL_ADDR_HI, msg[3]) in xe_guc_pagefault_handler() 77 pf.consumer.asid = FIELD_GET(PFD_ASID, msg[1]); in xe_guc_pagefault_handler() 78 pf.consumer.access_type = FIELD_GET(PFD_ACCESS_TYPE, msg[2]); in xe_guc_pagefault_handler() 79 pf.consumer.fault_type = FIELD_GET(PFD_FAULT_TYPE, msg[2]); in xe_guc_pagefault_handler() 81 pf.consumer.fault_level = XE_PAGEFAULT_LEVEL_NACK; in xe_guc_pagefault_handler() 83 pf.consumer.fault_level = FIELD_GET(PFD_FAULT_LEVEL, msg[0]); in xe_guc_pagefault_handler() 84 pf.consumer.engine_class = FIELD_GET(PFD_ENG_CLASS, msg[0]); in xe_guc_pagefault_handler() 85 pf.consumer.engine_instance = FIELD_GET(PFD_ENG_INSTANCE, msg[0]); in xe_guc_pagefault_handler()
|
| /linux/Documentation/admin-guide/gpio/ |
| H A D | gpio-virtuser.rst | 3 Virtual GPIO Consumer 6 The virtual GPIO Consumer module allows users to instantiate virtual devices 8 consumer devices can be instantiated from device-tree or over configfs. 10 A virtual consumer uses the driver-facing GPIO APIs and allows to cover it with 17 The gpio-consumer module registers a configfs subsystem called 22 values of exposed attributes. Once the consumer is instantiated, this hierarchy 27 This is the top directory of the gpio-consumer configfs tree. 29 **Group:** ``/config/gpio-consumer/example-name`` 31 **Attribute:** ``/config/gpio-consumer/example-name/live`` 33 **Attribute:** ``/config/gpio-consumer/example-name/dev_name`` [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | device_link.rst | 29 "supplier" device and its "consumer" devices, and it guarantees driver 30 presence on the supplier. The consumer devices are not probed before the 42 whenever and for as long as the consumer is runtime resumed. 49 :c:func:`device_initialize()` has been called for the consumer. 60 represents a driver presence dependency, yet is added from the consumer's 63 consumer in the first place. The onus is thus on the consumer to check 65 non-presence. [Note that it is valid to create a link from the consumer's 66 ``->probe`` callback while the supplier is still probing, but the consumer must 68 the case, for instance, if the consumer has just acquired some resources that 72 is added in the ``->probe`` callback of the supplier or consumer driver, it is [all …]
|
| H A D | reset.rst | 13 the `consumer driver interface <#consumer-driver-interface>`__ (`API reference 14 <#reset-consumer-api>`__), which allows peripheral drivers to request control 49 Reset consumer 54 Consumer driver interface 58 Consumer drivers use get and put operations to acquire and release reset 94 Consumer drivers use the reset_control_assert() and reset_control_deassert() 101 Consumer drivers using shared reset controls should assume that the reset line 104 consumer has requested it to be deasserted. 109 Consumer drivers use reset_control_reset() to trigger a reset pulse on a 112 requesting a pulse from any consumer driver will reset all connected [all …]
|
| /linux/include/linux/ |
| H A D | irqbypass.h | 23 * When a producer and consumer are paired, i.e. an eventfd match is found, the 28 * the @add_* callbacks. eventfds must be unique per producer/consumer, 1:N 37 * @consumer: The connected consumer (NULL if no connection) 39 * @add_consumer: Connect the IRQ producer to an IRQ consumer (optional) 40 * @del_consumer: Disconnect the IRQ producer from an IRQ consumer (optional) 50 struct irq_bypass_consumer *consumer; member 61 * struct irq_bypass_consumer - IRQ bypass consumer definition 64 * @add_producer: Connect the IRQ consumer to an IRQ producer 65 * @del_producer: Disconnect the IRQ consumer from an IRQ producer 69 * The IRQ bypass consumer structure represents an interrupt sink for [all …]
|
| H A D | clk.h | 80 * @id: clock consumer ID 114 * @dev: device for clock "consumer" 192 * provider. It prevents any other consumer to execute, even indirectly, 398 * @dev: device for clock "consumer" 399 * @id: clock consumer ID 403 * uses @dev and @id to determine the clock consumer, and thereby 415 * @dev: device for clock "consumer" 417 * @clks: the clk_bulk_data table of consumer 426 * clock consumer, and thereby the clock producer. 438 * @dev: device for clock "consumer" [all...] |
| /linux/Documentation/networking/ |
| H A D | tls-handshake.rst | 31 kernel consumer might require a TLS handshake. Handshake agents listen 46 A kernel TLS consumer initiates a client-side TLS handshake on an open 65 The @ta_sock field references an open and connected socket. The consumer 67 while the handshake is in progress. The consumer must also have 75 The consumer can provide a NUL-terminated hostname in the @ta_peername 79 The consumer can fill in the @ta_timeout_ms field to force the servicing 86 that are instantiated by the consumer before making the handshake 87 request. The consumer can provide a private keyring that is linked into 91 To request an x.509-authenticated TLS session, the consumer fills in 113 However, in this case, the consumer fills in the @ta_my_peerids array [all …]
|
| /linux/Documentation/core-api/ |
| H A D | circular-buffers.rst | 15 (2) Memory barriers for when the producer and the consumer of objects in the 19 producer and just one consumer. It is possible to handle multiple producers by 31 - The consumer. 44 (2) A 'tail' index - the point at which the consumer finds the next item in 115 but the consumer may still be depleting the buffer on another CPU and 118 To the consumer it will show an upper bound as the producer may be busy 121 (2) CIRC_CNT*() are intended to be used in the consumer. To the consumer they 122 will return a lower bound as the consumer controls the tail index, but the 126 To the producer it will show an upper bound as the consumer may be busy 130 producer and consumer become visible cannot be guaranteed as they are [all …]
|
| /linux/drivers/gpio/ |
| H A D | gpiolib-devres.c | 15 #include <linux/gpio/consumer.h> 34 * @dev: GPIO consumer 35 * @con_id: function within the GPIO consumer 57 * @dev: GPIO consumer 58 * @con_id: function within the GPIO consumer 80 * @dev: GPIO consumer 81 * @con_id: function within the GPIO consumer 82 * @idx: index of the GPIO to obtain in the consumer 128 * @dev: GPIO consumer 130 * @con_id: function within the GPIO consumer [all …]
|
| /linux/net/xdp/ |
| H A D | xsk_queue.h | 18 /* Hinder the adjacent cache prefetcher to prefetch the consumer 22 u32 consumer ____cacheline_aligned_in_smp; 65 * consumer. For the Tx and fill rings, the kernel is the consumer and 68 * producer consumer 70 * if (LOAD ->consumer) { (A) LOAD.acq ->producer (C) 72 * STORE.rel ->producer (B) STORE.rel ->consumer (D) 78 * the producer pointer. If this barrier was missing, the consumer 80 * before the producer has written the new data. The consumer would in 83 * (C) protects the consumer from speculatively loading the data before 89 * (A) is a control dependency that separates the load of ->consumer [all …]
|
| /linux/kernel/trace/ |
| H A D | ring_buffer_benchmark.c | 34 static struct task_struct *consumer; variable 55 MODULE_PARM_DESC(consumer_nice, "nice prio for consumer"); 61 MODULE_PARM_DESC(consumer_fifo, "use fifo for consumer: 0 - disabled, 1 - low prio, 2 - fifo"); 269 if (consumer && !(cnt % wakeup_interval)) in ring_buffer_producer() 270 wake_up_process(consumer); in ring_buffer_producer() 288 if (consumer) { in ring_buffer_producer() 295 wake_up_process(consumer); in ring_buffer_producer() 309 trace_printk("Running Consumer at SCHED_FIFO %s\n", in ring_buffer_producer() 312 trace_printk("Running Consumer at nice: %d\n", in ring_buffer_producer() 408 if (consumer) { in ring_buffer_producer_thread() [all …]
|
| /linux/drivers/staging/iio/Documentation/ |
| H A D | inkernel.txt | 20 consumer_dev_name allows identification of the consumer device. 21 This are then used to find the channel mapping from the consumer device (see 24 Finally consumer_channel is a string identifying the channel to the consumer. 37 to associate a given channel with the consumer requesting it. 39 Acting as an IIO consumer (consumer.h) 41 The consumer first has to obtain an iio_channel structure from the core 55 with a given consumer. This is useful for generic drivers such as 57 consumer driver. To do this, use iio_channel_get_all.
|
| /linux/drivers/gpu/drm/panel/ |
| H A D | panel-boe-bf060y8m-aj0.c | 11 #include <linux/gpio/consumer.h> 14 #include <linux/regulator/consumer.h> 115 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VDD].consumer); in boe_bf060y8m_aj0_prepare() 118 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VSS].consumer); in boe_bf060y8m_aj0_prepare() 122 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCC].consumer); in boe_bf060y8m_aj0_prepare() 126 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer); in boe_bf060y8m_aj0_prepare() 130 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCI].consumer); in boe_bf060y8m_aj0_prepare() 146 regulator_disable(boe->vregs[BF060Y8M_VREG_VCI].consumer); in boe_bf060y8m_aj0_prepare() 148 regulator_disable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer); in boe_bf060y8m_aj0_prepare() 150 regulator_disable(boe->vregs[BF060Y8M_VREG_VCC].consumer); in boe_bf060y8m_aj0_prepare() [all …]
|
| /linux/drivers/iio/buffer/ |
| H A D | industrialio-hw-consumer.c | 13 #include <linux/iio/consumer.h> 14 #include <linux/iio/hw-consumer.h> 18 * struct iio_hw_consumer - IIO hw consumer block 78 * iio_hw_consumer_alloc() - Allocate IIO hardware consumer 79 * @dev: Pointer to consumer device. 126 * iio_hw_consumer_free() - Free IIO hardware consumer 127 * @hwc: hw consumer to free. 147 * @dev: Pointer to consumer device. 173 * iio_hw_consumer_enable() - Enable IIO hardware consumer 199 * iio_hw_consumer_disable() - Disable IIO hardware consumer [all …]
|
| /linux/include/linux/iio/ |
| H A D | consumer.h | 3 * Industrial I/O in kernel consumer interface 19 * struct iio_channel - everything needed for a consumer to use a channel 22 * @data: Data about the channel used by consumer. 32 * @dev: Pointer to consumer device. Device name must match 34 * with which the desired provider to consumer mapping 36 * @consumer_channel: Unique name to identify the channel on the consumer 38 * the consumer. E.g. 'battery_voltage' 51 * @dev: Pointer to consumer device. Device name must match 53 * with which the desired provider to consumer mapping 55 * @consumer_channel: Unique name to identify the channel on the consumer [all …]
|