Lines Matching refs:kcache
961 struct r600_bytecode_kcache *kcache, in r600_bytecode_alloc_kcache_line() argument
967 if (kcache[i].mode) { in r600_bytecode_alloc_kcache_line()
970 if (kcache[i].bank < bank) in r600_bytecode_alloc_kcache_line()
973 if ((kcache[i].bank == bank && kcache[i].addr > line+1) || in r600_bytecode_alloc_kcache_line()
974 kcache[i].bank > bank) { in r600_bytecode_alloc_kcache_line()
976 if (kcache[kcache_banks-1].mode) { in r600_bytecode_alloc_kcache_line()
981 memmove(&kcache[i+1],&kcache[i], (kcache_banks-i-1)*sizeof(struct r600_bytecode_kcache)); in r600_bytecode_alloc_kcache_line()
982 kcache[i].mode = V_SQ_CF_KCACHE_LOCK_1; in r600_bytecode_alloc_kcache_line()
983 kcache[i].bank = bank; in r600_bytecode_alloc_kcache_line()
984 kcache[i].addr = line; in r600_bytecode_alloc_kcache_line()
985 kcache[i].index_mode = index_mode; in r600_bytecode_alloc_kcache_line()
989 d = line - kcache[i].addr; in r600_bytecode_alloc_kcache_line()
992 kcache[i].addr--; in r600_bytecode_alloc_kcache_line()
993 if (kcache[i].mode == V_SQ_CF_KCACHE_LOCK_2) { in r600_bytecode_alloc_kcache_line()
999 } else if (kcache[i].mode == V_SQ_CF_KCACHE_LOCK_1) { in r600_bytecode_alloc_kcache_line()
1000 kcache[i].mode = V_SQ_CF_KCACHE_LOCK_2; in r600_bytecode_alloc_kcache_line()
1007 kcache[i].mode = V_SQ_CF_KCACHE_LOCK_2; in r600_bytecode_alloc_kcache_line()
1012 kcache[i].mode = V_SQ_CF_KCACHE_LOCK_1; in r600_bytecode_alloc_kcache_line()
1013 kcache[i].bank = bank; in r600_bytecode_alloc_kcache_line()
1014 kcache[i].addr = line; in r600_bytecode_alloc_kcache_line()
1015 kcache[i].index_mode = index_mode; in r600_bytecode_alloc_kcache_line()
1023 struct r600_bytecode_kcache *kcache, in r600_bytecode_alloc_inst_kcache_lines() argument
1039 if ((r = r600_bytecode_alloc_kcache_line(bc, kcache, bank, line, index_mode))) in r600_bytecode_alloc_inst_kcache_lines()
1047 struct r600_bytecode_kcache * kcache) in r600_bytecode_assign_kcache_banks() argument
1063 switch (kcache[j].mode) { in r600_bytecode_assign_kcache_banks()
1069 if (kcache[j].bank == alu->src[i].kc_bank && in r600_bytecode_assign_kcache_banks()
1070 kcache[j].addr <= line && in r600_bytecode_assign_kcache_banks()
1071 line < kcache[j].addr + kcache[j].mode) { in r600_bytecode_assign_kcache_banks()
1072 alu->src[i].sel = sel - (kcache[j].addr<<4); in r600_bytecode_assign_kcache_banks()
1087 struct r600_bytecode_kcache *kcache = kcache_sets; in r600_bytecode_alloc_kcache_lines() local
1090 memcpy(kcache, bc->cf_last->kcache, 4 * sizeof(struct r600_bytecode_kcache)); in r600_bytecode_alloc_kcache_lines()
1092 if ((r = r600_bytecode_alloc_inst_kcache_lines(bc, kcache, alu))) { in r600_bytecode_alloc_kcache_lines()
1100 kcache = bc->cf_last->kcache; in r600_bytecode_alloc_kcache_lines()
1101 if ((r = r600_bytecode_alloc_inst_kcache_lines(bc, kcache, alu))) { in r600_bytecode_alloc_kcache_lines()
1107 memcpy(bc->cf_last->kcache, kcache, 4 * sizeof(struct r600_bytecode_kcache)); in r600_bytecode_alloc_kcache_lines()
1111 if (kcache[2].mode != V_SQ_CF_KCACHE_NOP || in r600_bytecode_alloc_kcache_lines()
1112 kcache[0].index_mode || kcache[1].index_mode || kcache[2].index_mode || kcache[3].index_mode) { in r600_bytecode_alloc_kcache_lines()
1691 S_SQ_CF_ALU_WORD0_KCACHE_MODE0(cf->kcache[0].mode) | in r600_bytecode_cf_build()
1692 S_SQ_CF_ALU_WORD0_KCACHE_BANK0(cf->kcache[0].bank) | in r600_bytecode_cf_build()
1693 S_SQ_CF_ALU_WORD0_KCACHE_BANK1(cf->kcache[1].bank); in r600_bytecode_cf_build()
1696 S_SQ_CF_ALU_WORD1_KCACHE_MODE1(cf->kcache[1].mode) | in r600_bytecode_cf_build()
1697 S_SQ_CF_ALU_WORD1_KCACHE_ADDR0(cf->kcache[0].addr) | in r600_bytecode_cf_build()
1698 S_SQ_CF_ALU_WORD1_KCACHE_ADDR1(cf->kcache[1].addr) | in r600_bytecode_cf_build()
1798 r600_bytecode_assign_kcache_banks(alu, cf->kcache); in r600_bytecode_build()
2138 if (cf->kcache[i].mode) { in r600_bytecode_disasm()
2139 int c_start = (cf->kcache[i].addr << 4); in r600_bytecode_disasm()
2140 int c_end = c_start + (cf->kcache[i].mode << 4); in r600_bytecode_disasm()
2142 i, cf->kcache[i].bank, c_start, c_end, in r600_bytecode_disasm()
2143 cf->kcache[i].index_mode ? " " : "", in r600_bytecode_disasm()
2144 cf->kcache[i].index_mode ? index_mode[cf->kcache[i].index_mode] : ""); in r600_bytecode_disasm()