Home
last modified time | relevance | path

Searched full:a (Results 1 – 25 of 5287) sorted by relevance

12345678910>>...212

/Documentation/i2c/
Dsmbus-protocol.rst5 The following is a summary of the SMBus protocol. It applies to
11 which is a subset from the I2C protocol. Fortunately, many devices use
14 If you write a driver for some I2C device, please try to use the SMBus
21 Below is a list of SMBus protocol operations, and the functions executing
23 don't match these function names. For some of the operations which pass a
25 a different protocol operation entirely.
27 Each transaction type corresponds to a functionality flag. Before calling a
28 transaction function, a device driver should always check (just once) for
43 A, NA (1 bit) Acknowledge (ACK) and Not Acknowledge (NACK) bit
45 get a 10 bit I2C address.
[all …]
Di2c-protocol.rst15 A, NA (1 bit) Acknowledge (ACK) and Not Acknowledge (NACK) bit
17 get a 10 bit I2C address.
18 Data (8 bits) A plain data byte.
30 S Addr Wr [A] Data [A] Data [A] ... [A] Data [A] P
38 S Addr Rd [A] [Data] A [Data] A ... A [Data] NA P
46 They are just like the above transactions, but instead of a stop
47 condition P a start condition S is sent and the transaction continues.
48 An example of a byte read, followed by a byte write::
50 S Addr Rd [A] [Data] NA S Addr Wr [A] Data [A] P
62 client. Setting this flag treats any [NA] as [A], and all of
[all …]
/Documentation/userspace-api/media/v4l/
Dvidioc-queryctrl.rst41 To query the attributes of a control applications set the ``id`` field
42 of a struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` and call the
43 ``VIDIOC_QUERYCTRL`` ioctl with a pointer to this structure. The driver
49 exclusive ``V4L2_CID_LASTP1``. Drivers may return ``EINVAL`` if a control in
81 ``VIDIOC_QUERYMENU`` ioctl with a pointer to this structure. The driver
113 returns the first control with a higher ID. Drivers which do not
120 - Name of the control, a NUL-terminated ASCII string. This
124 - Minimum value, inclusive. This field gives a lower bound for the
127 Note that this a signed 32-bit value.
133 Note that this a signed 32-bit value.
[all …]
/Documentation/maintainer/
Drebasing-and-merging.rst7 Maintaining a subsystem, as a general rule, requires a familiarity with the
8 Git source-code management system. Git is a powerful tool with a lot of
19 maintainers result from a desire to avoid merges, while others come from
20 merging a little too often.
25 "Rebasing" is the process of changing the history of a series of commits
26 within a repository. There are two different types of operations that are
30 - Changing the parent (starting) commit upon which a series of patches is
31 built. For example, a rebase operation could take a patch set built on
36 - Changing the history of a set of patches by fixing (or deleting) broken
42 Used properly, rebasing can yield a cleaner and clearer development
[all …]
Dfeature-and-driver-maintainers.rst7 The term "maintainer" spans a very wide range of levels of engagement
8 from people handling patches and pull requests as almost a full time job
9 to people responsible for a small feature or a driver.
13 responsibilities of maintainers of a small(ish) section of the code.
16 git trees but instead send and review patches on the list of a larger
27 Even when a particular driver only sees one patch a month, or a quarter,
28 a subsystem could well have a hundred such drivers. Subsystem
29 maintainers cannot afford to wait a long time to hear from reviewers.
33 be found in the subsystem documentation. Failing that as a rule of thumb
37 to as long as a few weeks in slower moving parts of the kernel.
[all …]
/Documentation/filesystems/
Dsharedsubtree.rst23 A process wants to clone its own namespace, but still wants to access the CD
36 a. shared mount
42 2a) A shared mount can be replicated to as many mountpoints and all the
47 Let's say /mnt has a mount that is shared::
65 a b c
68 a b c
70 Now let's say we mount a device at /tmp/a::
72 # mount /dev/sd0 /tmp/a
74 #ls /tmp/a
77 #ls /mnt/a
[all …]
Ddirectory-locking.rst37 * check that the source is not a directory
45 The source needs to be locked if it's a non-directory, target - if it's
46 a non-directory or about to be removed.
56 * if the parents don't have a common ancestor, fail the operation.
60 * verify that the source is not a descendent of the target and
61 target is not a descendent of source; fail the operation otherwise.
76 is a bunch of subtrees visible in dcache and locking happens on those.
78 that's not a problem, but there is a nasty twist - what should we do
82 the root of another"; there's also open-by-fhandle stuff, and there's a
84 to another and we run into it when we do a lookup.
[all …]
/Documentation/filesystems/nfs/
Drpc-cache.rst5 This document gives a brief introduction to the caching
13 a wide variety of values to be caches.
15 There are a number of caches that are similar in structure though
16 quite possibly very different in content and use. There is a corpus
42 Creating a Cache
45 - A cache needs a datum to store. This is in the form of a
46 structure definition that must contain a struct cache_head
48 It will also contain a key and some content.
51 - A cache needs a "cache_detail" structure that
60 a pointer to the cache_detail embedded within the
[all …]
Dexporting.rst9 All filesystem operations require a dentry (or two) as a starting
10 point. Local applications have a reference-counted hold on suitable
12 applications that access a filesystem via a remote filesystem protocol
13 such as NFS may not be able to hold such a reference, and so need a
14 different way to refer to a particular dentry. As the alternative
23 This byte string will be called a "filehandle fragment" as it
26 A filesystem which supports the mapping between filehandle fragments
34 The dcache normally contains a proper prefix of any given filesystem
38 maintained easily (by each object maintaining a reference count on
41 However when objects are included into the dcache by interpreting a
[all …]
/Documentation/ABI/testing/
Dsysfs-bus-rpmsg6 Every rpmsg device is a communication channel with a remote
7 processor. Channels are identified with a (textual) name,
18 Every rpmsg device is a communication channel with a remote
19 processor. Channels have a local ("source") rpmsg address,
21 starts listening on one end of a channel, it assigns it with
22 a unique rpmsg address (a 32 bits integer). This way when
24 dispatches them to the listening entity (a kernel driver).
36 Every rpmsg device is a communication channel with a remote
37 processor. Channels have a local ("source") rpmsg address,
39 starts listening on one end of a channel, it assigns it with
[all …]
Dsysfs-firmware-sgi_uv8 Under that directory are a number of read-only attributes::
23 similar to uv_type but encoded in a binary format. Include
31 machines, which each partition running a unique copy
32 of the operating system. Each partition will have a unique
36 A partitioned UV system can have one or more coherence
55 The hubs directory contains a number of hub objects, each representing
56 a UV Hub visible to the BIOS. Each hub object's name is appended by a
59 Each hub object directory contains a number of read-only attributes::
69 If a cnode value is not applicable, the value returned will be -1.
72 This value is used to physically identify a hub within a system.
[all …]
/Documentation/userspace-api/media/mediactl/
Dmedia-controller-model.rst8 Discovering a device internal topology, and configuring it at runtime,
14 - An **entity** is a basic media hardware or software building block.
15 It can correspond to a large variety of logical blocks such as
17 hardware devices (a building block in a System-on-Chip image
20 - An **interface** is a graph representation of a Linux Kernel
21 userspace API interface, like a device node or a sysfs file that
24 - A **pad** is a data connection endpoint through which an entity can
30 - A **data link** is a point-to-point oriented connection between two
32 from a source pad to a sink pad.
34 - An **interface link** is a point-to-point bidirectional control
[all …]
/Documentation/driver-api/soundwire/
Derror_handling.rst17 restarting from a known position. In the case of such errors outside of a
21 and after a number of such errors are detected the bus might be reset. Note
24 be distinguished, although a recurring bus clash when audio is enabled is a
25 indication of a bus allocation issue. The interrupt mechanism can also help
26 identify Slaves which detected a Bus Clash or a Parity Error, but they may
27 not be responsible for the errors so resetting them individually is not a
30 2. Command status: Each command is associated with a status, which only
33 current frame. A NAK indicates that the command was in error and will not
34 be applied. In case of a bad programming (command sent to non-existent
35 Slave or to a non-implemented register) or electrical issue, no response
[all …]
/Documentation/core-api/
Dkobject.rst13 place. Dealing with kobjects requires understanding a few different types,
15 easier, we'll take a multi-pass approach, starting with vague terms and
19 - A kobject is an object of type struct kobject. Kobjects have a name
20 and a reference count. A kobject also has a parent pointer (allowing
21 objects to be arranged into hierarchies), a specific type, and,
22 usually, a representation in the sysfs virtual filesystem.
32 - A ktype is the type of object that embeds a kobject. Every structure
33 that embeds a kobject needs a corresponding ktype. The ktype controls
36 - A kset is a group of kobjects. These kobjects can be of the same ktype
42 When you see a sysfs directory full of other directories, generally each
[all …]
Dswiotlb.rst7 swiotlb is a memory buffer allocator used by the Linux kernel DMA layer. It is
8 typically used when a device doing DMA can't directly access the target memory
9 buffer because of hardware limitations or other requirements. In such a case,
10 the DMA layer calls swiotlb to allocate a temporary memory buffer that conforms
14 temporary memory buffer is called a "bounce buffer".
18 the normal DMA map, unmap, and sync APIs when programming a device to do DMA.
22 device, some devices in a system may use bounce buffering while others do not.
40 directed to guest memory that is unencrypted. CoCo VMs set a kernel-wide option
46 device drivers to "just work" in a CoCo VM, with no modifications
50 mappings are set up for a DMA operation to/from a device that is considered
[all …]
/Documentation/process/
D5.Posting.rst8 kernel. Unsurprisingly, the kernel development community has evolved a set
20 There is a constant temptation to avoid posting patches before they are
21 completely "ready." For simple patches, that is not a problem. If the
22 work being done is complex, though, there is a lot to be gained by getting
24 consider posting in-progress work, or even making a git tree available so
27 When posting code which is not yet considered ready for inclusion, it is a
37 There are a number of things which should be done before you consider
49 benchmarks showing what the impact (or benefit) of your change is; a
53 for an employer, the employer likely has a right to the work and must be
56 As a general rule, putting in some extra thought before posting code almost
[all …]
/Documentation/locking/
Drt-mutex-design.rst24 Priority inversion is when a lower priority process executes while a higher
26 most of the time it can't be helped. Anytime a high priority process wants
27 to use a resource that a lower priority process has (a mutex for example),
29 with the resource. This is a priority inversion. What we want to prevent
31 priority process is prevented from running by a lower priority process for
35 processes, let's call them processes A, B, and C, where A is the highest
36 priority process, C is the lowest, and B is in between. A tries to grab a lock
38 meantime, B executes, and since B is of a higher priority than C, it preempts C,
39 but by doing so, it is in fact preempting A which is a higher priority process.
40 Now there's no way of knowing how long A will be sleeping waiting for C
[all …]
/Documentation/admin-guide/cgroup-v1/
Dcgroups.rst44 Control Groups provide a mechanism for aggregating/partitioning sets of
50 A *cgroup* associates a set of tasks with a set of parameters for one
53 A *subsystem* is a module that makes use of the task grouping
55 particular ways. A subsystem is typically a "resource controller" that
56 schedules a resource or applies per-cgroup limits, but it may be
57 anything that wants to act on a group of processes, e.g. a
60 A *hierarchy* is a set of cgroups arranged in a tree, such that
62 hierarchy, and a set of subsystems; each subsystem has system-specific
67 cgroups. Each hierarchy is a partition of all tasks in the system.
71 which cgroup a task is assigned, and list the task PIDs assigned to
[all …]
/Documentation/driver-api/driver-model/
Dbinding.rst5 Driver binding is the process of associating a device with a device
15 The bus type structure contains a list of all devices that are on that bus
16 type in the system. When device_register is called for a device, it is
17 inserted into the end of this list. The bus object also contains a
19 for a driver, it is inserted at the end of this list. These are the
26 When a new device is added, the bus's list of drivers is iterated over
30 Instead of trying to derive a complex state machine and matching
31 algorithm, it is up to the bus driver to provide a callback to compare
32 a device against the IDs of a driver. The bus returns 1 if a match was
37 If a match is found, the device's driver field is set to the driver
[all …]
/Documentation/arch/powerpc/
Dcxlflash.rst10 on Power 8 systems. CAPI can be thought of as a special tunneling
13 memory and generate page faults. As a result, the host interface to
19 devices as a PCI device by implementing a virtual PCI host bridge.
24 CXL provides a mechanism by which user space applications can
25 directly talk to a device (network or storage) bypassing the typical
26 kernel/device driver stack. The CXL Flash Adapter Driver enables a
29 The CXL Flash Adapter Driver is a kernel module that sits in the
30 SCSI stack as a low level device driver (below the SCSI disk and
40 - Any flash device (LUN) can be configured to be accessed as a
44 user space with a special block library. This mode further
[all …]
/Documentation/driver-api/media/
Drc-core.rst12 Every time a key is pressed on a remote controller, a scan code is produced.
13 Also, on most hardware, keeping a key pressed for more than a few dozens of
14 milliseconds produce a repeat key event. That's somewhat similar to what
15 a normal keyboard or mouse is handled internally on Linux\ [#f1]_. So, the
22 produces one event for a key press and another one for key release. On
31 The infrared transmission is done by blinking a infrared emitter using a
36 In other words, a typical IR transmission can be viewed as a sequence of
37 *PULSE* and *SPACE* events, each with a given duration.
41 For example, the NEC protocol uses a carrier of 38kHz, and transmissions
42 start with a 9ms *PULSE* and a 4.5ms SPACE. It then transmits 16 bits of
[all …]
/Documentation/security/keys/
Dcore.rst9 Keyrings are permitted; these are a special type of key that can hold links to
10 other keys. Processes each have three standard keyring subscriptions that a
28 Each key has a number of attributes:
30 - A serial number.
31 - A type.
32 - A description (for matching a key in a search).
35 - A payload.
39 * Each key is issued a serial number of type key_serial_t that is unique for
43 Userspace programs can use a key's serial numbers as a way to gain access
46 * Each key is of a defined "type". Types must be registered inside the
[all …]
/Documentation/driver-api/
Dxillybus.rst37 An FPGA (Field Programmable Gate Array) is a piece of logic hardware, which
38 can be programmed to become virtually anything that is usually found as a
39 dedicated chipset: For instance, a display adapter, network interface card,
40 or even a processor with its peripherals. FPGAs are the LEGO of hardware:
43 available on the market as a chipset, so FPGAs are mostly used when some
47 The challenge with FPGAs is that everything is implemented at a very low
52 mathematical functions, a functional unit (e.g. a USB interface), an entire
53 processor (e.g. ARM) or anything that might come handy. Think of them as a
57 One of the daunting tasks in FPGA design is communicating with a fullblown
60 (registers, interrupts, DMA etc.) is a project in itself. When the FPGA's
[all …]
/Documentation/bpf/
Dkfuncs.rst14 kfuncs do not have a stable interface and can change from one kernel release to
18 2. Defining a kfunc
21 There are two ways to expose a kernel function to BPF programs, either make an
22 existing function in the kernel visible, or add a new wrapper for BPF. In both
23 cases, care must be taken that BPF program can only call such function in a
24 valid context. To enforce this, visibility of a kfunc can be per program type.
26 If you are not creating a BPF wrapper for existing kernel function, skip ahead
29 2.1 Creating a wrapper kfunc
32 When defining a wrapper kfunc, the wrapper function should have extern linkage.
34 is not invoked anywhere in the kernel itself. It is not necessary to provide a
[all …]
/Documentation/admin-guide/device-mapper/
Dvdo-design.rst8 compression, zero-block elimination, and thin provisioning. A dm-vdo target
9 can be backed by up to 256TB of storage, and can present a logical size of
16 Because deduplication rates fall drastically as the block size increases, a
17 vdo target has a maximum block size of 4K. However, it can achieve
18 deduplication rates of 254:1, i.e. up to 254 copies of a given 4K block can
19 reference a single 4K of actual storage. It can achieve compression rates
25 The design of dm-vdo is based on the idea that deduplication is a two-part
28 parts: a deduplication index (called UDS) that is used to discover
29 duplicate data, and a data store with a reference counted block map that
37 structures involved in a single write operation to a vdo target is larger
[all …]

12345678910>>...212