123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- Device drivers infrastructure
- =============================
- The Basic Device Driver-Model Structures
- ----------------------------------------
- .. kernel-doc:: include/linux/device.h
- :internal:
- Device Drivers Base
- -------------------
- .. kernel-doc:: drivers/base/init.c
- :internal:
- .. kernel-doc:: drivers/base/driver.c
- :export:
- .. kernel-doc:: drivers/base/core.c
- :export:
- .. kernel-doc:: drivers/base/syscore.c
- :export:
- .. kernel-doc:: drivers/base/class.c
- :export:
- .. kernel-doc:: drivers/base/node.c
- :internal:
- .. kernel-doc:: drivers/base/firmware_class.c
- :export:
- .. kernel-doc:: drivers/base/transport_class.c
- :export:
- .. kernel-doc:: drivers/base/dd.c
- :export:
- .. kernel-doc:: include/linux/platform_device.h
- :internal:
- .. kernel-doc:: drivers/base/platform.c
- :export:
- .. kernel-doc:: drivers/base/bus.c
- :export:
- Buffer Sharing and Synchronization
- ----------------------------------
- The dma-buf subsystem provides the framework for sharing buffers for
- hardware (DMA) access across multiple device drivers and subsystems, and
- for synchronizing asynchronous hardware access.
- This is used, for example, by drm "prime" multi-GPU support, but is of
- course not limited to GPU use cases.
- The three main components of this are: (1) dma-buf, representing a
- sg_table and exposed to userspace as a file descriptor to allow passing
- between devices, (2) fence, which provides a mechanism to signal when
- one device as finished access, and (3) reservation, which manages the
- shared or exclusive fence(s) associated with the buffer.
- dma-buf
- ~~~~~~~
- .. kernel-doc:: drivers/dma-buf/dma-buf.c
- :export:
- .. kernel-doc:: include/linux/dma-buf.h
- :internal:
- reservation
- ~~~~~~~~~~~
- .. kernel-doc:: drivers/dma-buf/reservation.c
- :doc: Reservation Object Overview
- .. kernel-doc:: drivers/dma-buf/reservation.c
- :export:
- .. kernel-doc:: include/linux/reservation.h
- :internal:
- fence
- ~~~~~
- .. kernel-doc:: drivers/dma-buf/fence.c
- :export:
- .. kernel-doc:: include/linux/fence.h
- :internal:
- .. kernel-doc:: drivers/dma-buf/seqno-fence.c
- :export:
- .. kernel-doc:: include/linux/seqno-fence.h
- :internal:
- .. kernel-doc:: drivers/dma-buf/fence-array.c
- :export:
- .. kernel-doc:: include/linux/fence-array.h
- :internal:
- .. kernel-doc:: drivers/dma-buf/reservation.c
- :export:
- .. kernel-doc:: include/linux/reservation.h
- :internal:
- .. kernel-doc:: drivers/dma-buf/sync_file.c
- :export:
- .. kernel-doc:: include/linux/sync_file.h
- :internal:
- Device Drivers DMA Management
- -----------------------------
- .. kernel-doc:: drivers/base/dma-coherent.c
- :export:
- .. kernel-doc:: drivers/base/dma-mapping.c
- :export:
- Device Drivers Power Management
- -------------------------------
- .. kernel-doc:: drivers/base/power/main.c
- :export:
- Device Drivers ACPI Support
- ---------------------------
- .. kernel-doc:: drivers/acpi/scan.c
- :export:
- .. kernel-doc:: drivers/acpi/scan.c
- :internal:
- Device drivers PnP support
- --------------------------
- .. kernel-doc:: drivers/pnp/core.c
- :internal:
- .. kernel-doc:: drivers/pnp/card.c
- :export:
- .. kernel-doc:: drivers/pnp/driver.c
- :internal:
- .. kernel-doc:: drivers/pnp/manager.c
- :export:
- .. kernel-doc:: drivers/pnp/support.c
- :export:
- Userspace IO devices
- --------------------
- .. kernel-doc:: drivers/uio/uio.c
- :export:
- .. kernel-doc:: include/linux/uio_driver.h
- :internal:
|