zephyr/doc
Tom Burdick 344d24bcb7 docs: Better document the DMA API and expectations
The DMA API has several expectations for drivers and callers that were
underdocumented or undocumented. Better clarify the driver expectations
and caller expectations.

The DMA API from the caller side is not a portable API and really cannot
be as each DMA has unique properties and expectations of memory,
peripheral interaction, and features. The API in effect provides a union
of all useful DMA functionality drivers have needed in the tree. It can
still be a good abstraction, with care, for peripheral devices for
vendors where the DMA IP might be very similar but have slight
variances.

From the driver implementation side expectations around synchronization,
state transitions, and memory management for transfer descriptors is now
described in documentation rather than solely from me in github review
comments.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
..
_doxygen doc: define internal API group 2023-11-03 11:46:52 +01:00
_extensions/zephyr doc: gh_utils: Use MAINTAINERS file to add labels to opened issues 2023-11-09 14:50:21 +01:00
_scripts samples: net: cloud: drop Google Cloud IoT Core 2023-09-08 11:04:25 +02:00
_static doc: css: fix dark theme for gui roles 2023-11-09 10:23:31 +00:00
_templates doc: Rename "report an issue" label 2023-11-09 14:50:21 +01:00
build doc: kconfig: sort devicetree functions alphabetically 2023-11-09 15:31:38 +01:00
connectivity doc: connectivity: networking: api: Add subsystem link notes to CoAP 2023-11-09 11:21:42 +01:00
contribute doc: contribute: instructions for local viewing of docs 2023-11-07 09:54:22 +01:00
develop doc: gsg: macOS: Use menuselection role 2023-11-09 10:23:31 +00:00
hardware docs: Better document the DMA API and expectations 2023-11-10 10:40:10 +01:00
images doc: remove unused images 2021-07-19 20:06:00 -04:00
introduction doc: intro: cleanup VFS section 2023-10-18 13:17:57 +03:00
kernel doc: slist: fix duplicated sys_sfnode_flags_get() 2023-11-08 10:10:27 +01:00
project doc: project roles: Further finetune language 2023-10-27 10:49:47 +02:00
releases Kconfig: drop COMPAT_INCLUDES 2023-11-09 11:22:40 +01:00
safety docs: safety: Add safety documentation 2023-06-22 06:01:39 -04:00
security doc: vuln: Disclose information about CVE-2023-5139 2023-10-27 10:52:26 +02:00
services doc: services: pm: fix function prototype for PM device support 2023-11-09 15:32:01 +01:00
templates doc: Update sample.tmpl with new directive 2023-09-06 12:11:28 +02:00
404.rst doc: Suggest filing GitHub issue for broken links 2022-04-28 10:26:03 +02:00
CMakeLists.txt doc: enable Sphinx tracebacks 2023-07-12 09:13:49 -04:00
conf.py doc: pdf: Use single column for the index 2023-11-09 15:33:40 +01:00
glossary.rst doc: use :kconfig:option: domain role 2022-03-02 09:28:37 +01:00
index-tex.rst docs: safety: Add safety documentation 2023-06-22 06:01:39 -04:00
index.rst docs: safety: Add safety documentation 2023-06-22 06:01:39 -04:00
kconfig.rst doc: use new kconfig extension 2022-03-02 09:28:37 +01:00
known-warnings.txt doc: Revert "doc: Add more known-warnings" 2023-09-15 15:05:23 +02:00
LICENSING.rst doc licensing: Remove get_maintainers.pl 2023-06-25 02:46:42 -04:00
Makefile doc: align pseudo-Makefile with latest CMake changes 2023-07-13 14:27:56 +02:00
requirements.txt doc: Make code-samples admonition collapsible 2023-09-06 12:11:28 +02:00
substitutions.txt doc: New developer getting started guide 2019-11-13 14:05:47 -06:00
zephyr.doxyfile.in toolchain: Add nonnull attribute 2023-10-31 09:00:02 +01:00