2016-08-04 06:38:41

by Anton Blanchard

[permalink] [raw]
Subject: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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


2016-08-04 08:38:00

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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

2016-08-04 10:26:01

by Anton Blanchard

[permalink] [raw]
Subject: Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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

2016-08-05 06:51:53

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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

2016-08-08 15:22:42

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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

2016-08-09 11:26:36

by Michael Ellerman

[permalink] [raw]
Subject: Re: crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

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