| /Documentation/devicetree/bindings/i2c/ |
| D | renesas,i2c.txt | 5 "renesas,i2c-r8a7743" if the device is a part of a R8A7743 SoC. 6 "renesas,i2c-r8a7744" if the device is a part of a R8A7744 SoC. 7 "renesas,i2c-r8a7745" if the device is a part of a R8A7745 SoC. 8 "renesas,i2c-r8a77470" if the device is a part of a R8A77470 SoC. 9 "renesas,i2c-r8a774a1" if the device is a part of a R8A774A1 SoC. 10 "renesas,i2c-r8a774c0" if the device is a part of a R8A774C0 SoC. 11 "renesas,i2c-r8a7778" if the device is a part of a R8A7778 SoC. 12 "renesas,i2c-r8a7779" if the device is a part of a R8A7779 SoC. 13 "renesas,i2c-r8a7790" if the device is a part of a R8A7790 SoC. 14 "renesas,i2c-r8a7791" if the device is a part of a R8A7791 SoC. [all …]
|
| /Documentation/i2c/ |
| D | smbus-protocol.rst | 5 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 41 A, NA (1 bit) : Accept and reverse accept bit. 43 get a 10 bit I2C address. [all …]
|
| D | i2c-protocol.rst | 14 A, NA (1 bit) : Accept and reverse accept bit. 16 get a 10 bit I2C address. 17 Comm (8 bits): Command byte, a data byte which often selects a register on 19 Data (8 bits): A plain data byte. Sometimes, I write DataLow, DataHigh 21 Count (8 bits): A data byte containing the length of a block operation. 33 S Addr Wr [A] Data [A] Data [A] ... [A] Data [A] P 41 S Addr Rd [A] [Data] A [Data] A ... A [Data] NA P 49 They are just like the above transactions, but instead of a stop bit P 50 a start bit S is sent and the transaction continues. An example of 51 a byte read, followed by a byte write:: [all …]
|
| /Documentation/filesystems/nfs/ |
| D | exporting.rst | 9 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 …]
|
| D | rpc-cache.txt | 1 This document gives a brief introduction to the caching 8 a wide variety of values to be caches. 10 There are a number of caches that are similar in structure though 11 quite possibly very different in content and use. There is a corpus 35 Creating a Cache 38 1/ A cache needs a datum to store. This is in the form of a 39 structure definition that must contain a 42 It will also contain a key and some content. 45 2/ A cache needs a "cache_detail" structure that 52 a pointer to the cache_detail embedded within the [all …]
|
| /Documentation/filesystems/ |
| D | sharedsubtree.txt | 20 A process wants to clone its own namespace, but still wants to access the CD 33 a. shared mount 39 2a) A shared mount can be replicated to as many mountpoints and all the 44 Let's say /mnt has a mount that is shared. 56 a b c 59 a b c 61 Now let's say we mount a device at /tmp/a 62 # mount /dev/sd0 /tmp/a 64 #ls /tmp/a 67 #ls /mnt/a [all …]
|
| D | mandatory-locking.txt | 11 The Linux implementation is prey to a number of difficult-to-fix race 14 - The write system call checks for a mandatory lock only once 15 at its start. It is therefore possible for a lock request to 17 A process may then see file data change even while a mandatory 19 - Similarly, an exclusive lock may be granted on a file after 20 the kernel has decided to proceed with a read, but before the 22 the file data in a state which should not have been visible 33 (and the lockf() library routine which is a wrapper around fcntl().) It is 34 normally a process' responsibility to check for locks on a file it wishes to 37 troublesome) is access to a user's mailbox. The mail user agent and the mail [all …]
|
| /Documentation/maintainer/ |
| D | rebasing-and-merging.rst | 7 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 …]
|
| /Documentation/ABI/testing/ |
| D | sysfs-bus-rpmsg | 6 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 …]
|
| /Documentation/vm/ |
| D | frontswap.rst | 7 Frontswap provides a "transcendent memory" interface for swap pages. 9 swapped pages are saved in RAM (or a RAM-like device) instead of a swap disk. 14 See the LWN.net article `Transcendent memory in a nutshell`_ 15 for a detailed overview of frontswap and related kernel parts) 17 .. _Transcendent memory in a nutshell: https://lwn.net/Articles/454795/ 20 a "backing" store for a swap device. The storage is assumed to be 21 a synchronous concurrency-safe page-oriented "pseudo-RAM device" conforming 31 with the specified swap device number (aka "type"). A "store" will 33 offset associated with the page. A "load" will copy the page, if found, 40 Once a page is successfully stored, a matching load on the page will normally [all …]
|
| /Documentation/driver-api/soundwire/ |
| D | error_handling.rst | 17 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/process/ |
| D | 5.Posting.rst | 8 kernel. Unsurprisingly, the kernel development community has evolved a set 21 There is a constant temptation to avoid posting patches before they are 22 completely "ready." For simple patches, that is not a problem. If the 23 work being done is complex, though, there is a lot to be gained by getting 25 consider posting in-progress work, or even making a git tree available so 28 When posting code which is not yet considered ready for inclusion, it is a 38 There are a number of things which should be done before you consider 50 benchmarks showing what the impact (or benefit) of your change is; a 54 for an employer, the employer likely has a right to the work and must be 57 As a general rule, putting in some extra thought before posting code almost [all …]
|
| /Documentation/ |
| D | kobject.txt | 13 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 …]
|
| /Documentation/driver-api/dmaengine/ |
| D | provider.rst | 11 They have a given number of channels to use for the DMA transfers, and 12 a given number of requests lines. 21 will want to start a transfer, it will assert a DMA request (DRQ) by 24 A very simple DMA controller would only take into account a single 25 parameter: the transfer size. At each clock cycle, it would transfer a 30 require a specific number of bits to be transferred in a single 32 physical bus allows to maximize performances when doing a simple 33 memory copy operation, but our audio device could have a narrower FIFO 34 that requires data to be written exactly 16 or 24 bits at a time. This 35 is why most if not all of the DMA controllers can adjust this, using a [all …]
|
| /Documentation/driver-api/ |
| D | generic-counter.rst | 10 Counter devices are prevalent within a diverse spectrum of industries. 11 The ubiquitous presence of these devices necessitates a common interface 14 drivers by introducing a generic counter interface for consumption. The 15 Generic Counter interface enables drivers to support and expose a common 23 counter devices consist of a core set of components. This core set of 27 There are three core components to a counter: 30 Count data for a set of Signals. 37 The association of a Signal with a respective Count. 41 A Count represents the count data for a set of Signals. The Generic 47 A Count has a count function mode which represents the update behavior [all …]
|
| D | xillybus.rst | 37 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/locking/ |
| D | rt-mutex-design.rst | 24 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/networking/ |
| D | rxrpc.txt | 5 The RxRPC protocol driver provides a reliable two-phase transport on top of UDP 37 RxRPC is a two-layer protocol. There is a session layer which provides 39 layer, but implements a real network protocol; and there's the presentation 57 making the session part of it a Linux network protocol (AF_RXRPC). 59 (2) A two-phase protocol. The client transmits a blob (the request) and then 60 receives a blob (the reply), and the server receives the request and then 66 (4) A secure protocol, using the Linux kernel's key retention facility to 80 (2) provided with a protocol of the type of underlying transport they're going 102 (*) Each connection goes to a particular "service". A connection may not go 103 to multiple services. A service may be considered the RxRPC equivalent of [all …]
|
| D | scaling.rst | 11 This document describes a set of complementary techniques in the Linux 28 (multi-queue). On reception, a NIC can send different packets to different 30 applying a filter to each packet that assigns it to one of a small number 31 of logical flows. Packets for each flow are steered to a separate receive 38 The filter used in RSS is typically a hash function over the network 39 and/or transport layer headers-- for example, a 4-tuple hash over 40 IP addresses and TCP ports of a packet. The most common hardware 41 implementation of RSS uses a 128-entry indirection table where each entry 42 stores a queue number. The receive queue for a packet is determined 44 packet (usually a Toeplitz hash), taking this number as a key into the [all …]
|
| /Documentation/filesystems/configfs/ |
| D | configfs.txt | 14 configfs is a ram-based filesystem that provides the converse of 15 sysfs's functionality. Where sysfs is a filesystem-based view of 16 kernel objects, configfs is a filesystem-based manager of kernel 19 With sysfs, an object is created in kernel (for example, when a device 25 representation, and sysfs is merely a window on all this. 27 A configfs config_item is created via an explicit userspace operation: 36 system. One is not a replacement for the other. 40 configfs can be compiled as a module or into the kernel. You can access 47 subsystems. Once a client subsystem is loaded, it will appear as a 59 files, with a maximum size of one page (PAGE_SIZE, 4096 on i386). Preferably [all …]
|
| /Documentation/admin-guide/cgroup-v1/ |
| D | cgroups.rst | 44 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 …]
|
| D | devices.rst | 8 Implement a cgroup to track and enforce open and mknod restrictions 9 on device files. A device cgroup associates a device access 10 whitelist with each cgroup. A whitelist entry has 4 fields. 11 'type' is a (all), c (char), or b (block). 'all' means it applies 13 either an integer or * for all. Access is a composition of r 16 The root device cgroup starts with rwm to 'all'. A child device 17 cgroup gets a copy of the parent. Administrators can then remove 18 devices from the whitelist or add new entries. A child cgroup can 19 never receive a device access which is denied by its parent. 32 echo a > /sys/fs/cgroup/1/devices.deny [all …]
|
| /Documentation/driver-api/driver-model/ |
| D | binding.rst | 5 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/media/kapi/ |
| D | rc-core.rst | 12 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/powerpc/ |
| D | cxlflash.rst | 10 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 …]
|