From: Anton Blanchard <[email protected]>
This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
to automatically load the crc32c-vpmsum module if the CPU supports
it.
Signed-off-by: Anton Blanchard <[email protected]>
---
arch/powerpc/crypto/crc32c-vpmsum_glue.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/crypto/crc32c-vpmsum_glue.c b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
index bfe3d37..9fa046d 100644
--- a/arch/powerpc/crypto/crc32c-vpmsum_glue.c
+++ b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
@@ -4,6 +4,7 @@
#include <linux/module.h>
#include <linux/string.h>
#include <linux/kernel.h>
+#include <linux/cpufeature.h>
#include <asm/switch_to.h>
#define CHKSUM_BLOCK_SIZE 1
@@ -157,7 +158,7 @@ static void __exit crc32c_vpmsum_mod_fini(void)
crypto_unregister_shash(&alg);
}
-module_init(crc32c_vpmsum_mod_init);
+module_cpu_feature_match(PPC_MODULE_FEATURE_VEC_CRYPTO, crc32c_vpmsum_mod_init);
module_exit(crc32c_vpmsum_mod_fini);
MODULE_AUTHOR("Anton Blanchard <[email protected]>");
--
2.7.4
Anton Blanchard <[email protected]> writes:
> From: Anton Blanchard <[email protected]>
>
> This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
> to automatically load the crc32c-vpmsum module if the CPU supports
> it.
>
> Signed-off-by: Anton Blanchard <[email protected]>
> ---
> arch/powerpc/crypto/crc32c-vpmsum_glue.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/crypto/crc32c-vpmsum_glue.c b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
> index bfe3d37..9fa046d 100644
> --- a/arch/powerpc/crypto/crc32c-vpmsum_glue.c
> +++ b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
> @@ -4,6 +4,7 @@
> #include <linux/module.h>
> #include <linux/string.h>
> #include <linux/kernel.h>
> +#include <linux/cpufeature.h>
> #include <asm/switch_to.h>
>
> #define CHKSUM_BLOCK_SIZE 1
> @@ -157,7 +158,7 @@ static void __exit crc32c_vpmsum_mod_fini(void)
> crypto_unregister_shash(&alg);
> }
>
> -module_init(crc32c_vpmsum_mod_init);
> +module_cpu_feature_match(PPC_MODULE_FEATURE_VEC_CRYPTO, crc32c_vpmsum_mod_init);
Is VEC_CRYPTO the right feature?
That's new power8 crypto stuff.
I thought this only used VMX? (but I haven't looked closely)
cheers
Hi Michael,
> Is VEC_CRYPTO the right feature?
>
> That's new power8 crypto stuff.
The vpmsum* instructions are part of the same pipeline as the vcipher*
instructions, introduced in POWER8.
> I thought this only used VMX? (but I haven't looked closely)
Yes, vcipher* and vpmsum* are VMX instructions.
Anton
Anton Blanchard <[email protected]> writes:
> Hi Michael,
>
>> Is VEC_CRYPTO the right feature?
>>
>> That's new power8 crypto stuff.
>
> The vpmsum* instructions are part of the same pipeline as the vcipher*
> instructions, introduced in POWER8.
OK.
>> I thought this only used VMX? (but I haven't looked closely)
>
> Yes, vcipher* and vpmsum* are VMX instructions.
Right. The confusion is that we have PPC_FEATURE_HAS_ALTIVEC, but that
doesn't mean we have *these* VMX instructions.
This is actually an arch/powerpc patch, so I'll merge it unless Herbert
objects.
cheers
Michael Ellerman <[email protected]> wrote:
>
> This is actually an arch/powerpc patch, so I'll merge it unless Herbert
> objects.
It's fine with me.
Cheers,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
On Thu, 2016-04-08 at 06:38:15 UTC, Anton Blanchard wrote:
> From: Anton Blanchard <[email protected]>
>
> This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
> to automatically load the crc32c-vpmsum module if the CPU supports
> it.
>
> Signed-off-by: Anton Blanchard <[email protected]>
Applied to powerpc fixes, thanks.
https://git.kernel.org/powerpc/c/d2cf5be07ff7c7cde8bef8551a
cheers