<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/firmware/qcom, branch update-toolchain</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/firmware/qcom?h=update-toolchain</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/firmware/qcom?h=update-toolchain'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2024-07-17T00:35:45Z</updated>
<entry>
<title>firmware: qcom: tzmem: don't ask about allocator mode when not enabled</title>
<updated>2024-07-17T00:35:45Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2024-07-17T00:35:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=9de4ad3bde144b55b8451fc280c18107c139481c'/>
<id>urn:sha1:9de4ad3bde144b55b8451fc280c18107c139481c</id>
<content type='text'>
The Qualcomm firmware code shouldn't ask about what memory allocator
mode should be used when the code isn't even enabled.

Get rid of pointless config-time question.

Link: https://lore.kernel.org/all/CAHk-=wg+38EHPKGou1MqXwAAXC30cM8sMgZAGnZ7TcFO4L9J2w@mail.gmail.com/
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: tzmem: blacklist more platforms for SHM Bridge</title>
<updated>2024-07-06T17:59:50Z</updated>
<author>
<name>Dmitry Baryshkov</name>
<email>dmitry.baryshkov@linaro.org</email>
</author>
<published>2024-07-04T11:12:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=55751d3e9e96d5d64dc6ebb5bbdf70f45098f279'/>
<id>urn:sha1:55751d3e9e96d5d64dc6ebb5bbdf70f45098f279</id>
<content type='text'>
The SHM bridge makes the Qualcomm RB3 and SM8150-HDK reset while probing
the RMTFS (in qcom_scm_assign_mem()). Blacklist the SHM Bridge on
corresponding platforms using SoC-level compat string. If later it's
found that the bad behaviour is limited just to the particular boards
rather than SoC, the compat strings can be adjusted.

Reported-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt;
Fixes: f86c61498a57 ("firmware: qcom: tzmem: enable SHM Bridge support")
Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@linaro.org&gt;
Acked-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Tested-by: Neil Armstrong &lt;neil.armstrong@linaro.org&gt; # on Qualcomm RB3
Link: https://lore.kernel.org/r/20240704-shmbridge-blacklist-v1-1-14b027b3b2dc@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: tzmem: simplify returning pointer without cleanup</title>
<updated>2024-07-06T17:56:38Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@linaro.org</email>
</author>
<published>2024-07-03T08:30:46Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d99b680b4a9a33d0c47a68a4c1a45775023426ff'/>
<id>urn:sha1:d99b680b4a9a33d0c47a68a4c1a45775023426ff</id>
<content type='text'>
Use 'return_ptr' helper for returning a pointer without cleanup for
shorter code.

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Acked-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Link: https://lore.kernel.org/r/20240703083046.95811-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: tzmem: export devm_qcom_tzmem_pool_new()</title>
<updated>2024-06-24T22:43:28Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-06-24T19:06:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d96377892dd89bd4e7e5ae7293647f6bc7bddf7d'/>
<id>urn:sha1:d96377892dd89bd4e7e5ae7293647f6bc7bddf7d</id>
<content type='text'>
EXPORT_SYMBOL_GPL() is missing for devm_qcom_tzmem_pool_new() which
causes build failures with randconfig. Add it and fix the issue.

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/oe-kbuild-all/202406250127.8Pl2kqFp-lkp@intel.com
Fixes: 84f5a7b67b61 ("firmware: qcom: add a dedicated TrustZone buffer allocator")
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Reviewed-by: Andrew Halaney &lt;ahalaney@redhat.com&gt;
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240624190615.36282-1-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: scm: clarify the comment in qcom_scm_pas_init_image()</title>
<updated>2024-06-23T21:08:43Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:55:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=dcf5bd889a7ce3d9e53bd8075fbade59ebae9104'/>
<id>urn:sha1:dcf5bd889a7ce3d9e53bd8075fbade59ebae9104</id>
<content type='text'>
The "memory protection" mechanism mentioned in the comment is the SHM
Bridge. This is also the reason why we do not convert this call to using
the TZ memory allocator.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Tested-by: Andrew Halaney &lt;ahalaney@redhat.com&gt; # sc8280xp-lenovo-thinkpad-x13s
Tested-by: Deepti Jaggi &lt;quic_djaggi@quicinc.com&gt; #sa8775p-ride
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-13-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: scm: add support for SHM bridge memory carveout</title>
<updated>2024-06-23T21:08:21Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=a33b2579c8d303b353a1f7c743b096f150da70fa'/>
<id>urn:sha1:a33b2579c8d303b353a1f7c743b096f150da70fa</id>
<content type='text'>
Parse the "memory-region" property and - if present - use it to assign
the dedicated reserved memory to the underlying DMA callbacks which will
then allocate memory for the SCM calls from it.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-12-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: tzmem: enable SHM Bridge support</title>
<updated>2024-06-23T21:08:21Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:55:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f86c61498a573a19b19b0ba2784dc1bd4dcfc170'/>
<id>urn:sha1:f86c61498a573a19b19b0ba2784dc1bd4dcfc170</id>
<content type='text'>
SHM Bridge is a safety mechanism allowing to limit the amount of memory
shared between the kernel and the TrustZone to regions explicitly marked
as such.

Add a variant of the tzmem allocator that configures the memory pools as
SHM bridges. It also enables the SHM bridge globally so non-SHM bridge
memory will no longer work with SCM calls.

If enabled at build-time, it will still be checked for availability at
run-time. If the architecture doesn't support SHM Bridge, the allocator
will fall back to the generic mode.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Tested-by: Andrew Halaney &lt;ahalaney@redhat.com&gt; # sc8280xp-lenovo-thinkpad-x13s
Tested-by: Deepti Jaggi &lt;quic_djaggi@quicinc.com&gt; #sa8775p-ride
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-11-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: scm: add support for SHM bridge operations</title>
<updated>2024-06-23T21:08:20Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:55:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=178e19c0df1b1b27668fc6ca43b25a03eda01dad'/>
<id>urn:sha1:178e19c0df1b1b27668fc6ca43b25a03eda01dad</id>
<content type='text'>
SHM Bridge is a safety mechanism allowing to limit the amount of memory
shared between the kernel and the TrustZone to regions explicitly marked
as such.

Add low-level primitives for enabling SHM bridge support as well as
creating and destroying SHM bridges to qcom-scm.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Acked-by: Andrew Halaney &lt;ahalaney@redhat.com&gt;
Tested-by: Andrew Halaney &lt;ahalaney@redhat.com&gt; # sc8280xp-lenovo-thinkpad-x13s
Tested-by: Deepti Jaggi &lt;quic_djaggi@quicinc.com&gt; #sa8775p-ride
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-10-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: qseecom: convert to using the TZ allocator</title>
<updated>2024-06-23T21:08:05Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=6612103ec35af6058bb85ab24dae28e119b3c055'/>
<id>urn:sha1:6612103ec35af6058bb85ab24dae28e119b3c055</id>
<content type='text'>
Drop the DMA mapping operations from qcom_scm_qseecom_app_send() and
convert all users of it in the qseecom module to using the TZ allocator
for creating SCM call buffers. As this is largely a module separate from
the SCM driver, let's use a separate memory pool. Set the initial size to
4K and - if we run out - add twice the current amount to the pool.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Reviewed-by: Amirreza Zarrabi &lt;quic_azarrabi@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-9-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
<entry>
<title>firmware: qcom: scm: make qcom_scm_qseecom_app_get_id() use the TZ allocator</title>
<updated>2024-06-23T21:08:05Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@linaro.org</email>
</author>
<published>2024-05-27T12:54:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bd6ad954e73374b49302731bfaada94270087863'/>
<id>urn:sha1:bd6ad954e73374b49302731bfaada94270087863</id>
<content type='text'>
Let's use the new TZ memory allocator to obtain a buffer for this call
instead of manually kmalloc()ing it and then mapping to physical space.

Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@linaro.org&gt;
Reviewed-by: Andrew Halaney &lt;ahalaney@redhat.com&gt;
Tested-by: Maximilian Luz &lt;luzmaximilian@gmail.com&gt;
Tested-by: Andrew Halaney &lt;ahalaney@redhat.com&gt; # sc8280xp-lenovo-thinkpad-x13s
Tested-by: Deepti Jaggi &lt;quic_djaggi@quicinc.com&gt; #sa8775p-ride
Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;
Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-8-ce7afaa58d3a@linaro.org
Signed-off-by: Bjorn Andersson &lt;andersson@kernel.org&gt;
</content>
</entry>
</feed>
