<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/include/asm/vas.h, branch linux-5.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-09T08:25:34Z</updated>
<entry>
<title>powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr</title>
<updated>2022-06-09T08:25:34Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2022-04-09T08:44:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f085cfa59105480ac6169600461817ccb7d00c46'/>
<id>urn:sha1:f085cfa59105480ac6169600461817ccb7d00c46</id>
<content type='text'>
[ Upstream commit c127d130f6d59fa81701f6b04023cf7cd1972fb3 ]

In init_winctx_regs(), __pa() is called on winctx-&gt;rx_fifo and this
function is called to initialize registers for receive and fault
windows. But the real address is passed in winctx-&gt;rx_fifo for
receive windows and the virtual address for fault windows which
causes errors with DEBUG_VIRTUAL enabled. Fixes this issue by
assigning only real address to rx_fifo in vas_rx_win_attr struct
for both receive and fault windows.

Reported-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/338e958c7ab8f3b266fa794a1f80f99b9671829e.camel@linux.ibm.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>powerpc/pseries/vas: Integrate API with open/close windows</title>
<updated>2021-06-20T11:58:57Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:36:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b22f2d88e435cdada32581ca1f11b9806adf459a'/>
<id>urn:sha1:b22f2d88e435cdada32581ca1f11b9806adf459a</id>
<content type='text'>
This patch adds VAS window allocatioa/close with the corresponding
hcalls. Also changes to integrate with the existing user space VAS
API and provide register/unregister functions to NX pseries driver.

The driver register function is used to create the user space
interface (/dev/crypto/nx-gzip) and unregister to remove this entry.

The user space process opens this device node and makes an ioctl
to allocate VAS window. The close interface is used to deallocate
window.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/e8d956bace3f182c4d2e66e343ff37cb0391d1fd.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/pseries/vas: Define VAS/NXGZIP hcalls and structs</title>
<updated>2021-06-20T11:58:56Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:34:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f3a6c92802b7c48043954ba3b507e9b33d8c898'/>
<id>urn:sha1:8f3a6c92802b7c48043954ba3b507e9b33d8c898</id>
<content type='text'>
This patch adds hcalls and other definitions. Also define structs
that are used in VAS implementation on PowerVM.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Acked-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/b4b8c594c27ee4aa6be9dc6dc4ee7331571cbbe8.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/vas: Define and use common vas_window struct</title>
<updated>2021-06-20T11:58:56Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:33:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7bc6f71bdff5f8921e324da0a8fad6f4e2e63a85'/>
<id>urn:sha1:7bc6f71bdff5f8921e324da0a8fad6f4e2e63a85</id>
<content type='text'>
Many elements in vas_struct are used on PowerNV and PowerVM
platforms. vas_window is used for both TX and RX windows on
PowerNV and for TX windows on PowerVM. So some elements are
specific to these platforms.

So this patch defines common vas_window and platform
specific window structs (pnv_vas_window on PowerNV). Also adds
the corresponding changes in PowerNV vas code.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/1698c35c158dfe52c6d2166667823d3d4a463353.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/vas: Move update_csb/dump_crb to common book3s platform</title>
<updated>2021-06-20T11:58:56Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:32:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b26797350352479f37216d674c8e5d126faab66'/>
<id>urn:sha1:3b26797350352479f37216d674c8e5d126faab66</id>
<content type='text'>
If a coprocessor encounters an error translating an address, the
VAS will cause an interrupt in the host. The kernel processes
the fault by updating CSB. This functionality is same for both
powerNV and pseries. So this patch moves these functions to
common vas-api.c and the actual functionality is not changed.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/bf8d5b0770fa1ef5cba88c96580caa08d999d3b5.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/vas: Create take/drop pid and mm reference functions</title>
<updated>2021-06-20T11:58:56Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:31:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3856aa542d90ed79cd5ed4cfd828b1fb04017131'/>
<id>urn:sha1:3856aa542d90ed79cd5ed4cfd828b1fb04017131</id>
<content type='text'>
Take pid and mm references when each window opens and drops during
close. This functionality is needed for powerNV and pseries. So
this patch defines the existing code as functions in common book3s
platform vas-api.c

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/2fa40df962250a737c804e58202924717b39e381.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/vas: Add platform specific user window operations</title>
<updated>2021-06-20T11:58:55Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:31:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a0d0d5ed5e3cd9e3fc1ad4459f1db2f3618fce0'/>
<id>urn:sha1:1a0d0d5ed5e3cd9e3fc1ad4459f1db2f3618fce0</id>
<content type='text'>
PowerNV uses registers to open/close VAS windows, and getting the
paste address. Whereas the hypervisor calls are used on PowerVM.

This patch adds the platform specific user space window operations
and register with the common VAS user space interface.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/f85091f4ace67f951ac04d60394d67b21e2f5d3c.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/powernv/vas: Rename register/unregister functions</title>
<updated>2021-06-20T11:58:55Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06c6fad9bfe0b6439e18ea1f1cf0d178405ccf25'/>
<id>urn:sha1:06c6fad9bfe0b6439e18ea1f1cf0d178405ccf25</id>
<content type='text'>
powerNV and pseries drivers register / unregister to the corresponding
platform specific VAS separately. Then these VAS functions call the
common API with the specific window operations. So rename powerNV VAS
API register/unregister functions.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/9db00d58dbdcb7cfc07a1df95f3d2a9e3e5d746a.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>powerpc/vas: Move VAS API to book3s common platform</title>
<updated>2021-06-20T11:58:55Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2021-06-17T20:29:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=413d6ed3eac387a2876893c337174f0c5b99d01d'/>
<id>urn:sha1:413d6ed3eac387a2876893c337174f0c5b99d01d</id>
<content type='text'>
The pseries platform will share vas and nx code and interfaces
with the PowerNV platform, so create the
arch/powerpc/platforms/book3s/ directory and move VAS API code
there. Functionality is not changed.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/e05c8db17b9eabe3545b902d034238e4c6c08180.camel@linux.ibm.com

</content>
</entry>
<entry>
<title>crypto/nx: Remove 'pid' in vas_tx_win_attr struct</title>
<updated>2020-04-20T06:53:14Z</updated>
<author>
<name>Haren Myneni</name>
</author>
<published>2020-04-17T09:11:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=040b00acec4bbbed7493fd64829e74a055075fb2'/>
<id>urn:sha1:040b00acec4bbbed7493fd64829e74a055075fb2</id>
<content type='text'>
When window is opened, pid reference is taken for user space
windows. Not needed for kernel windows. So remove 'pid' in
vas_tx_win_attr struct.

Signed-off-by: Haren Myneni &lt;haren@linux.ibm.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/1587114674.2275.1132.camel@hbabu-laptop
</content>
</entry>
</feed>
