No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Jason Gunthorpe 2122e8553c iommu/arm-smmuv3: Update comments about ATS and bypass
[ Upstream commit 9b640ae7fb ]

The SMMUv3 spec has a note that BYPASS and ATS don't work together under
the STE EATS field definition. However there is another section "13.6.4
Full ATS skipping stage 1" that explains under certain conditions BYPASS
and ATS do work together if the STE is using S1DSS to select BYPASS and
the CD table has the possibility for a substream.

When these comments were written the understanding was that all forms of
BYPASS just didn't work and this was to be a future problem to solve.

It turns out that ATS and IDENTITY will always work just fine:

 - If STE.Config = BYPASS then the PCI ATS is disabled

 - If a PASID domain is attached then S1DSS = BYPASS and ATS will be
   enabled. This meets the requirements of 13.6.4 to automatically
   generate 1:1 ATS replies on the RID.

Update the comments to reflect this.

Fixes: 7497f4211f ("iommu/arm-smmu-v3: Make changing domains be hitless for ATS")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/0-v1-f27174f44f39+27a33-smmuv3_ats_note_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-02-08 09:57:27 +01:00
arch arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock 2025-02-08 09:57:09 +01:00
block partitions: ldm: remove the initial kernel-doc notation 2025-02-08 09:56:52 +01:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto crypto: ecdsa - Avoid signed integer overflow on signature decoding 2024-12-14 20:03:36 +01:00
Documentation dt-bindings: clock: Add i.MX91 clock support 2025-02-08 09:57:08 +01:00
drivers iommu/arm-smmuv3: Update comments about ATS and bypass 2025-02-08 09:57:27 +01:00
fs afs: Fix the fallback handling for the YFS.RemoveFile2 RPC call 2025-02-08 09:56:53 +01:00
include net: sched: refine software bypass handling in tc_run 2025-02-08 09:57:25 +01:00
init Compiler Attributes: disable __counted_by for clang < 19.1.3 2024-12-05 14:02:45 +01:00
io_uring io_uring/rsrc: require cloned buffers to share accounting contexts 2025-02-01 18:39:40 +01:00
ipc ipc: fix memleak if msg_init_ns failed in create_ipc_ns 2024-12-05 14:03:02 +01:00
kernel cpufreq: schedutil: Fix superfluous updates caused by need_freq_update 2025-02-08 09:57:06 +01:00
lib maple_tree: reload mas before the second call for mas_empty_area 2025-01-09 13:33:50 +01:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm cachestat: fix page cache statistics permission checking 2025-02-01 18:39:38 +01:00
net net/rose: prevent integer overflows in rose_setsockopt() 2025-02-08 09:57:25 +01:00
rust rust: kbuild: set bindgen's Rust target version 2024-12-19 18:13:22 +01:00
samples samples/landlock: Fix possible NULL dereference in parse_path() 2025-02-08 09:57:11 +01:00
scripts scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity 2025-01-09 13:33:50 +01:00
security landlock: Handle weird files 2025-02-08 09:57:16 +01:00
sound ASoC: sun4i-spdif: Add clock multiplier settings 2025-02-08 09:57:27 +01:00
tools selftests/bpf: Fix fill_link_info selftest on powerpc 2025-02-08 09:57:27 +01:00
usr initramfs: shorten cmd_initfs in usr/Makefile 2024-07-16 01:07:52 +09:00
virt KVM: x86: switch hugepage recovery thread to vhost_task 2024-12-05 14:02:43 +01:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
.mailmap mailmap: add entry for Thorsten Blum 2024-11-07 14:14:59 -08:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Remove self from DSA entry 2024-11-03 12:52:38 -08:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS MAINTAINERS: update location of media main tree 2024-12-05 14:02:42 +01:00
Makefile Linux 6.12.12 2025-02-01 18:39:40 +01:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.