root/arch/powerpc/lib/xor_vmx_glue.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. xor_altivec_2
  2. xor_altivec_3
  3. xor_altivec_4
  4. xor_altivec_5

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * Altivec XOR operations
   4  *
   5  * Copyright 2017 IBM Corp.
   6  */
   7 
   8 #include <linux/preempt.h>
   9 #include <linux/export.h>
  10 #include <linux/sched.h>
  11 #include <asm/switch_to.h>
  12 #include <asm/xor_altivec.h>
  13 #include "xor_vmx.h"
  14 
  15 void xor_altivec_2(unsigned long bytes, unsigned long *v1_in,
  16                    unsigned long *v2_in)
  17 {
  18         preempt_disable();
  19         enable_kernel_altivec();
  20         __xor_altivec_2(bytes, v1_in, v2_in);
  21         disable_kernel_altivec();
  22         preempt_enable();
  23 }
  24 EXPORT_SYMBOL(xor_altivec_2);
  25 
  26 void xor_altivec_3(unsigned long bytes,  unsigned long *v1_in,
  27                    unsigned long *v2_in, unsigned long *v3_in)
  28 {
  29         preempt_disable();
  30         enable_kernel_altivec();
  31         __xor_altivec_3(bytes, v1_in, v2_in, v3_in);
  32         disable_kernel_altivec();
  33         preempt_enable();
  34 }
  35 EXPORT_SYMBOL(xor_altivec_3);
  36 
  37 void xor_altivec_4(unsigned long bytes,  unsigned long *v1_in,
  38                    unsigned long *v2_in, unsigned long *v3_in,
  39                    unsigned long *v4_in)
  40 {
  41         preempt_disable();
  42         enable_kernel_altivec();
  43         __xor_altivec_4(bytes, v1_in, v2_in, v3_in, v4_in);
  44         disable_kernel_altivec();
  45         preempt_enable();
  46 }
  47 EXPORT_SYMBOL(xor_altivec_4);
  48 
  49 void xor_altivec_5(unsigned long bytes,  unsigned long *v1_in,
  50                    unsigned long *v2_in, unsigned long *v3_in,
  51                    unsigned long *v4_in, unsigned long *v5_in)
  52 {
  53         preempt_disable();
  54         enable_kernel_altivec();
  55         __xor_altivec_5(bytes, v1_in, v2_in, v3_in, v4_in, v5_in);
  56         disable_kernel_altivec();
  57         preempt_enable();
  58 }
  59 EXPORT_SYMBOL(xor_altivec_5);

/* [<][>][^][v][top][bottom][index][help] */