From 12a16f224767e3c235f79aa2dbacf1bfacdc4659 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 27 Mar 2020 22:26:09 -0400 Subject: [PATCH] pan/bi: Structify fadd/min/max16 There is some quirky encoding here. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/panfrost/bifrost/bifrost.h b/src/panfrost/bifrost/bifrost.h index 045295b6965..1a016286608 100644 --- a/src/panfrost/bifrost/bifrost.h +++ b/src/panfrost/bifrost/bifrost.h @@ -209,6 +209,25 @@ struct bifrost_fma_add { unsigned op : 6; } __attribute__((packed)); +#define BIFROST_FMA_OP_FMAX16 (0xC0 >> 2) +#define BIFROST_FMA_OP_FMIN16 (0xCC >> 2) +#define BIFROST_FMA_OP_FADD16 (0xD8 >> 2) + +struct bifrost_fma_add_minmax16 { + unsigned src0 : 3; + unsigned src1 : 3; + /* abs2 inferred as (src1 < src0) */ + unsigned abs1 : 1; + unsigned src0_neg : 1; + unsigned src1_neg : 1; + unsigned src0_swizzle : 2; + unsigned src1_swizzle : 2; + enum bifrost_outmod outmod : 2; + /* roundmode for add, min/max mode for min/max */ + unsigned mode : 2; + unsigned op : 6; +} __attribute__((packed)); + #define BIFROST_FMA_OP_FMA (0x00) struct bifrost_fma_fma { -- 2.30.2