]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto/ccp: Allow multiple streams on the same root bridge
authorAlexey Kardashevskiy <aik@amd.com>
Fri, 23 Jan 2026 05:30:57 +0000 (16:30 +1100)
committerDan Williams <dan.j.williams@intel.com>
Fri, 30 Jan 2026 22:27:53 +0000 (14:27 -0800)
With SEV-TIO the low-level TSM driver is responsible for allocating a
Stream ID. The Stream ID needs to be unique within each IDE partner
port. Fix the Stream ID selection to reuse the host bridge stream
resource id which is a pool of 256 ids per host bridge on AMD platforms.
Otherwise, only one device per-host bridge can establish Selective
Stream IDE.

Fixes: 4be423572da1 ("crypto/ccp: Implement SEV-TIO PCIe IDE (phase1)")
Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://patch.msgid.link/20260123053057.1350569-3-aik@amd.com
[djbw: clarify end user impact in changelog]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/crypto/ccp/sev-dev-tsm.c

index 7407b77c2ef279fe349e09f485600e5557125f09..40d02adaf3f6daa51ee302f5eda849dbdcd9bee1 100644 (file)
@@ -198,8 +198,7 @@ static int stream_alloc(struct pci_dev *pdev, struct pci_ide **ide,
        if (!ide1)
                return -EFAULT;
 
-       /* Blindly assign streamid=0 to TC=0, and so on */
-       ide1->stream_id = tc;
+       ide1->stream_id = ide1->host_bridge_stream;
 
        ide[tc] = ide1;