X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fmisc%2Fsgi-gru%2Fgru_instructions.h;h=e033b6ce4a3f637e1f928507841269e2756bfa48;hb=289750d1f1fd4a715baa2a2c6dd0cec2b8317fd7;hp=3c9c06618e6adaf0b3febba4cc74d9c45356bc5c;hpb=fae419f2abd15ab7d1cd1413e6683a276a4e14e2;p=linux-beck.git diff --git a/drivers/misc/sgi-gru/gru_instructions.h b/drivers/misc/sgi-gru/gru_instructions.h index 3c9c06618e6a..e033b6ce4a3f 100644 --- a/drivers/misc/sgi-gru/gru_instructions.h +++ b/drivers/misc/sgi-gru/gru_instructions.h @@ -340,6 +340,19 @@ static inline void gru_start_instruction(struct gru_instruction *ins, int op32) * - nelem and stride are in elements * - tri0/tri1 is in bytes for the beginning of the data segment. */ +static inline void gru_vload_phys(void *cb, unsigned long gpa, + unsigned int tri0, int iaa, unsigned long hints) +{ + struct gru_instruction *ins = (struct gru_instruction *)cb; + + ins->baddr0 = (long)gpa | ((unsigned long)iaa << 62); + ins->nelem = 1; + ins->tri0 = tri0; + ins->op1_stride = 1; + gru_start_instruction(ins, __opword(OP_VLOAD, 0, XTYPE_DW, iaa, 0, + CB_IMA(hints))); +} + static inline void gru_vload(void *cb, unsigned long mem_addr, unsigned int tri0, unsigned char xtype, unsigned long nelem, unsigned long stride, unsigned long hints)