<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/crypto/qat, branch linux-6.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2023-04-06T08:41:28Z</updated>
<entry>
<title>crypto: qat - Move driver to drivers/crypto/intel/qat</title>
<updated>2023-04-06T08:41:28Z</updated>
<author>
<name>Tom Zanussi</name>
<email>tom.zanussi@linux.intel.com</email>
</author>
<published>2023-03-28T15:39:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a4b16dad46576ce08ecb660fc923d0857dcae107'/>
<id>urn:sha1:a4b16dad46576ce08ecb660fc923d0857dcae107</id>
<content type='text'>
With the growing number of Intel crypto drivers, it makes sense to
group them all into a single drivers/crypto/intel/ directory.

Signed-off-by: Tom Zanussi &lt;tom.zanussi@linux.intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - drop redundant adf_enable_aer()</title>
<updated>2023-03-17T03:16:43Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2023-03-07T16:19:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=197cccc771ee5871747e7abe5698c4f2ddb12233'/>
<id>urn:sha1:197cccc771ee5871747e7abe5698c4f2ddb12233</id>
<content type='text'>
pci_enable_pcie_error_reporting() enables the device to send ERR_*
Messages.  Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is
native"), the PCI core does this for all devices during enumeration, so the
driver doesn't need to do it itself.

Remove the redundant pci_enable_pcie_error_reporting() call from the
driver.  Also remove the corresponding pci_disable_pcie_error_reporting()
from the driver .remove() path.

Note that this only controls ERR_* Messages from the device.  An ERR_*
Message may cause the Root Port to generate an interrupt, depending on the
AER Root Error Command register managed by the AER service driver.

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Cc: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Cc: qat-linux@intel.com
Acked-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - fix apply custom thread-service mapping for dc service</title>
<updated>2023-03-17T03:09:19Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-03-06T16:09:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=118dbccc1a35b50bf41296846809487e914b65a1'/>
<id>urn:sha1:118dbccc1a35b50bf41296846809487e914b65a1</id>
<content type='text'>
The thread to arbiter mapping for 4xxx devices does not allow to
achieve optimal performance for the compression service as it makes
all the engines to compete for the same resources.

Update the logic so that a custom optimal mapping is used for the
compression service.

Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - add support for 402xx devices</title>
<updated>2023-03-14T09:06:45Z</updated>
<author>
<name>Damian Muszynski</name>
<email>damian.muszynski@intel.com</email>
</author>
<published>2023-03-03T16:56:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a3e8c919b9930e31b705ec7b2f898a59e213a393'/>
<id>urn:sha1:a3e8c919b9930e31b705ec7b2f898a59e213a393</id>
<content type='text'>
QAT_402xx is a derivative of 4xxx. Add support for that device in the
qat_4xxx driver by including the DIDs (both PF and VF), extending the
probe and the firmware loader.

402xx uses different firmware images than 4xxx. To allow that the logic
that selects the firmware images was modified.

Signed-off-by: Damian Muszynski &lt;damian.muszynski@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - make state machine functions static</title>
<updated>2023-03-14T09:06:44Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-02-27T20:55:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=88fca80ec9394f06adae712da409748171ad9d95'/>
<id>urn:sha1:88fca80ec9394f06adae712da409748171ad9d95</id>
<content type='text'>
The state machine functions adf_dev_init(), adf_dev_start(),
adf_dev_stop() adf_dev_shutdown() and adf_dev_shutdown_cache_cfg()
are only used internally within adf_init.c.
Do not export these functions and make them static as state transitions
are now performed using the safe function adf_dev_up() and
adf_dev_down().

This commit does not implement any functional change.

Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - refactor device restart logic</title>
<updated>2023-03-14T09:06:44Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-02-27T20:55:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b97c5377d659863ac4e64eef5c5b8f0524e95fdb'/>
<id>urn:sha1:b97c5377d659863ac4e64eef5c5b8f0524e95fdb</id>
<content type='text'>
Refactor the restart logic by moving it into the function
adf_dev_restart() which uses the safe function adf_dev_up() and
adf_dev_down().

This commit does not implement any functional change.

Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - replace state machine calls</title>
<updated>2023-03-14T09:06:44Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-02-27T20:55:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2b60f79c7b8105994f0daa46bb4e367fdc866b53'/>
<id>urn:sha1:2b60f79c7b8105994f0daa46bb4e367fdc866b53</id>
<content type='text'>
The device state machine functions are unsafe and interdependent on each
other. To perform a state transition, these shall be called in a
specific order:
  * device up:   adf_dev_init() -&gt; adf_dev_start()
  * device down: adf_dev_stop() -&gt; adf_dev_shutdown()

Replace all the state machine functions used in the QAT driver with the
safe wrappers adf_dev_up() and adf_dev_down().

Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - fix concurrency issue when device state changes</title>
<updated>2023-03-14T09:06:44Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-02-27T20:55:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1bdc85550a2b59bb7f62ead7173134e66dd2d60e'/>
<id>urn:sha1:1bdc85550a2b59bb7f62ead7173134e66dd2d60e</id>
<content type='text'>
The sysfs `state` attribute is not protected against race conditions.
If multiple processes perform a device state transition on the same
device in parallel, unexpected behaviors might occur.

For transitioning the device state, adf_sysfs.c calls the functions
adf_dev_init(), adf_dev_start(), adf_dev_stop() and adf_dev_shutdown()
which are unprotected and interdependent on each other. To perform a
state transition, these functions needs to be called in a specific
order:
  * device up:   adf_dev_init() -&gt; adf_dev_start()
  * device down: adf_dev_stop() -&gt; adf_dev_shutdown()

This change introduces the functions adf_dev_up() and adf_dev_down()
which wrap the state machine functions and protect them with a
per-device lock. These are then used in adf_sysfs.c instead of the
individual state transition functions.

Fixes: 5ee52118ac14 ("crypto: qat - expose device state through sysfs for 4xxx")
Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - delay sysfs initialization</title>
<updated>2023-03-14T09:06:44Z</updated>
<author>
<name>Shashank Gupta</name>
<email>shashank.gupta@intel.com</email>
</author>
<published>2023-02-27T20:55:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=59a0ab49536eba9f03748781c7f061d72a70f376'/>
<id>urn:sha1:59a0ab49536eba9f03748781c7f061d72a70f376</id>
<content type='text'>
The function adf_sysfs_init() is used by qat_4xxx to create sysfs
attributes. This is called by the probe function before starting a
device. With this sequence, there might be a chance that the sysfs
entries for configuration might be changed by a user while the driver
is performing a device bring-up causing unexpected behaviors.

Delay the creation of sysfs entries after adf_dev_start().

Signed-off-by: Shashank Gupta &lt;shashank.gupta@intel.com&gt;
Reviewed-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: qat - Include algapi.h for low-level Crypto API</title>
<updated>2023-03-14T09:06:41Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2023-02-15T08:34:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a71b772ba063c47a3d70381dc32448cd5e324b34'/>
<id>urn:sha1:a71b772ba063c47a3d70381dc32448cd5e324b34</id>
<content type='text'>
Include crypto/algapi.h instead of linux/crypto.h in adf_ctl_drv.c
as this is using the low-level Crypto API.  It just happens to work
currently because MODULE_ALIAS_CRYPTO was mistakenly added to
linux/crypto.h.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Acked-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
