Lines Matching refs:vsid_idx
16 static void apummu_set_segment_offset0(uint32_t vsid_idx, uint8_t seg_idx, uint32_t input_adr, in apummu_set_segment_offset0() argument
19 mmio_write_32(APUMMU_VSID_SEGMENT_BASE(vsid_idx, seg_idx, APUMMU_SEG_OFFSET_0), in apummu_set_segment_offset0()
23 static void apummu_set_segment_offset1(uint32_t vsid_idx, uint8_t seg_idx, uint32_t output_adr, in apummu_set_segment_offset1() argument
26 mmio_write_32(APUMMU_VSID_SEGMENT_BASE(vsid_idx, seg_idx, APUMMU_SEG_OFFSET_1), in apummu_set_segment_offset1()
30 static void apummu_set_segment_offset2(uint32_t vsid_idx, uint8_t seg_idx, uint8_t resv, in apummu_set_segment_offset2() argument
38 mmio_write_32(APUMMU_VSID_SEGMENT_BASE(vsid_idx, seg_idx, APUMMU_SEG_OFFSET_2), in apummu_set_segment_offset2()
45 static void apummu_vsid_segment_enable_init(uint8_t vsid_idx) in apummu_vsid_segment_enable_init() argument
47 mmio_write_32(APUMMU_VSID_SEGMENT_ENABLE(vsid_idx), 0); in apummu_vsid_segment_enable_init()
50 static void apummu_set_single_segment(uint8_t vsid_idx, uint8_t seg_idx) in apummu_set_single_segment() argument
52 mmio_setbits_32(APUMMU_VSID_SEGMENT_ENABLE(vsid_idx), BIT(seg_idx)); in apummu_set_single_segment()
55 static int apummu_enable_vsid(uint32_t vsid_idx) in apummu_enable_vsid() argument
57 if (vsid_idx > (APUMMU_VSID_ACTIVE - 1) && in apummu_enable_vsid()
58 vsid_idx < (APUMMU_RSV_VSID_IDX_END - APUMMU_VSID_RSV + 1)) { in apummu_enable_vsid()
59 ERROR("invalid vsid index %d\n", vsid_idx); in apummu_enable_vsid()
63 mmio_write_32(APUMMU_VSID_ENABLE_BASE(vsid_idx), BIT(vsid_idx & APUMMU_VSID_EN_MASK)); in apummu_enable_vsid()
64 mmio_write_32(APUMMU_VSID_VALID_BASE(vsid_idx), BIT(vsid_idx & APUMMU_VSID_EN_MASK)); in apummu_enable_vsid()
86 static void apummu_bind_vsid(uint32_t tcu_base, uint32_t vsid_idx, uint8_t cor_id, in apummu_bind_vsid() argument
91 ((vsid_idx & VSID_IDX_MASK) << VSID_IDX_OFF) | in apummu_bind_vsid()
127 static int apummu_add_map(uint32_t vsid_idx, uint8_t seg_idx, uint64_t input_adr, in apummu_add_map() argument
147 apummu_set_segment_offset0(vsid_idx, seg_idx, (input_adr >> APUMMU_ADDR_SHIFT), 0, in apummu_add_map()
149 apummu_set_segment_offset1(vsid_idx, seg_idx, (output_adr >> APUMMU_ADDR_SHIFT), in apummu_add_map()
151 apummu_set_segment_offset2(vsid_idx, seg_idx, 0, domain, in apummu_add_map()
153 apummu_set_single_segment(vsid_idx, seg_idx); in apummu_add_map()