Lines Matching defs:val

80 	u64		val;
457 static void its_mask_encode(u64 *raw_cmd, u64 val, int h, int l)
461 *raw_cmd |= (val << l) & mask;
1455 static void __direct_lpi_inv(struct irq_data *d, u64 val)
1466 gic_write_lpir(val, rdbase + GICR_INVLPIR);
1476 u64 val;
1483 val = GICR_INVLPIR_V;
1484 val |= FIELD_PREP(GICR_INVLPIR_VPEID, map->vpe->vpe_id);
1485 val |= FIELD_PREP(GICR_INVLPIR_INTID, map->vintid);
1487 val = d->hwirq;
1490 __direct_lpi_inv(d, val);
2262 u64 val;
2264 val = gicr_read_propbaser(gic_data_rdist_rd_base() + GICR_PROPBASER);
2265 lpi_id_bits = (val & GICR_PROPBASER_IDBITS_MASK) + 1;
2267 gic_rdists->prop_table_pa = val & GENMASK_ULL(51, 12);
2314 u64 val)
2318 gits_write_baser(val, its->base + GITS_BASER + (idx << 3));
2319 baser->val = its_read_baser(its, baser);
2325 u64 val = its_read_baser(its, baser);
2326 u64 esz = GITS_BASER_ENTRY_SIZE(val);
2327 u64 type = GITS_BASER_TYPE(val);
2365 val = (baser_phys |
2373 val |= indirect ? GITS_BASER_INDIRECT : 0x0;
2377 val |= GITS_BASER_PAGE_SIZE_4K;
2380 val |= GITS_BASER_PAGE_SIZE_16K;
2383 val |= GITS_BASER_PAGE_SIZE_64K;
2390 its_write_baser(its, baser, val);
2391 tmp = baser->val;
2393 if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) {
2408 if (val != tmp) {
2411 val, tmp);
2438 u64 val = GITS_BASER_InnerShareable | GITS_BASER_RaWaWb;
2449 its_write_baser(its, baser, val | GITS_BASER_INDIRECT);
2450 indirect = !!(baser->val & GITS_BASER_INDIRECT);
2486 static u32 compute_common_aff(u64 val)
2490 aff = FIELD_GET(GICR_TYPER_AFFINITY, val);
2491 clpiaff = FIELD_GET(GICR_TYPER_COMMON_LPI_AFF, val);
2498 u64 val;
2507 val = FIELD_PREP(GICR_TYPER_COMMON_LPI_AFF, svpet);
2508 val |= FIELD_PREP(GICR_TYPER_AFFINITY, its->mpidr);
2509 return compute_common_aff(val);
2535 baser = its->tables[2].val;
2563 u64 val, gpsz;
2565 val = its_read_baser(its, baser);
2566 val &= ~GITS_BASER_PAGE_SIZE_MASK;
2583 val |= FIELD_PREP(GITS_BASER_PAGE_SIZE_MASK, gpsz);
2584 its_write_baser(its, baser, val);
2586 if (FIELD_GET(GITS_BASER_PAGE_SIZE_MASK, baser->val) == gpsz)
2623 u64 val = its_read_baser(its, baser);
2624 u64 type = GITS_BASER_TYPE(val);
2651 its_write_baser(its, baser, baser->val);
2668 cache = baser->val & GITS_BASER_CACHEABILITY_MASK;
2669 shr = baser->val & GITS_BASER_SHAREABILITY_MASK;
2678 u64 val;
2681 val = gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER);
2682 aff = compute_common_aff(val);
2697 baser = its->tables[2].val;
2704 val = GICR_VPROPBASER_4_1_VALID;
2706 val |= GICR_VPROPBASER_4_1_INDIRECT;
2707 val |= FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE,
2717 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ADDR, addr >> 12);
2719 val |= FIELD_PREP(GICR_VPROPBASER_SHAREABILITY_MASK,
2721 val |= FIELD_PREP(GICR_VPROPBASER_INNER_CACHEABILITY_MASK,
2724 val |= FIELD_PREP(GICR_VPROPBASER_4_1_SIZE, GITS_BASER_NR_PAGES(baser) - 1);
2726 return val;
2735 u64 val;
2738 val = gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER);
2739 aff = compute_common_aff(val);
2747 val = gic_read_typer(base + GICR_TYPER);
2748 if (aff != compute_common_aff(val))
2757 val = gicr_read_vpropbaser(base + SZ_128K + GICR_VPROPBASER);
2758 val &= ~GICR_VPROPBASER_4_1_Z;
2763 return val;
2773 u64 val;
2784 val = gicr_read_vpropbaser(base + SZ_128K + GICR_VPROPBASER);
2786 esz = FIELD_GET(GICR_VPROPBASER_4_1_ENTRY_SIZE, val) + 1;
2787 gpsz = FIELD_GET(GICR_VPROPBASER_4_1_PAGE_SIZE, val);
2788 npg = FIELD_GET(GICR_VPROPBASER_4_1_SIZE, val) + 1;
2806 if (!(val & GICR_VPROPBASER_4_1_INDIRECT))
2823 if (!(val & GICR_VPROPBASER_SHAREABILITY_MASK))
2829 if (!(val & GICR_VPROPBASER_SHAREABILITY_MASK))
2842 u64 val, gpsz, npg, pa;
2866 val = inherit_vpe_l1_table_from_rd(&gic_data_rdist()->vpe_table_mask);
2867 if (val & GICR_VPROPBASER_4_1_VALID)
2874 val = inherit_vpe_l1_table_from_its();
2875 if (val & GICR_VPROPBASER_4_1_VALID)
2879 val = FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE, GIC_PAGE_SIZE_64K);
2880 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
2881 val = gicr_read_vpropbaser(vlpi_base + GICR_VPROPBASER);
2882 gpsz = FIELD_GET(GICR_VPROPBASER_4_1_PAGE_SIZE, val);
2883 esz = FIELD_GET(GICR_VPROPBASER_4_1_ENTRY_SIZE, val);
2904 val = 0;
2905 val |= FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE, gpsz);
2906 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ENTRY_SIZE, esz);
2919 val |= GICR_VPROPBASER_4_1_INDIRECT;
2930 val |= FIELD_PREP(GICR_VPROPBASER_4_1_SIZE, npg - 1);
2945 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ADDR, pa >> 12);
2947 val |= GICR_VPROPBASER_RaWb;
2948 val |= GICR_VPROPBASER_InnerShareable;
2950 val |= GICR_VPROPBASER_4_1_Z;
2951 val |= GICR_VPROPBASER_4_1_VALID;
2954 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
2958 smp_processor_id(), val,
3006 u64 val;
3009 val = gicr_read_propbaser(gic_data_rdist_rd_base() + GICR_PROPBASER);
3010 addr = val & GENMASK_ULL(51, 12);
3017 u64 val;
3024 val = readl_relaxed(gic_data_rdist_rd_base() + GICR_CTLR);
3025 if ((val & GICR_CTLR_ENABLE_LPIS) && enabled_lpis_allowed()) {
3059 u64 val;
3062 val = gicr_read_vpendbaser(vlpi_base + GICR_VPENDBASER);
3063 clean = !(val & GICR_VPENDBASER_Dirty);
3074 return val;
3079 u64 val;
3082 val = read_vpend_dirty_clear(vlpi_base);
3083 val &= ~GICR_VPENDBASER_Valid;
3084 val &= ~clr;
3085 val |= set;
3086 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
3088 val = read_vpend_dirty_clear(vlpi_base);
3089 if (unlikely(val & GICR_VPENDBASER_Dirty))
3090 val |= GICR_VPENDBASER_PendingLast;
3092 return val;
3100 u64 val, tmp;
3105 val = readl_relaxed(rbase + GICR_CTLR);
3107 (val & GICR_CTLR_ENABLE_LPIS)) {
3130 val = (gic_rdists->prop_table_pa |
3135 gicr_write_propbaser(val, rbase + GICR_PROPBASER);
3141 if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) {
3148 val &= ~(GICR_PROPBASER_SHAREABILITY_MASK |
3150 val |= GICR_PROPBASER_nC;
3151 gicr_write_propbaser(val, rbase + GICR_PROPBASER);
3158 val = (page_to_phys(pend_page) |
3162 gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
3173 val &= ~(GICR_PENDBASER_SHAREABILITY_MASK |
3175 val |= GICR_PENDBASER_nC;
3176 gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
3180 val = readl_relaxed(rbase + GICR_CTLR);
3181 val |= GICR_CTLR_ENABLE_LPIS;
3182 writel_relaxed(val, rbase + GICR_CTLR);
3195 val = (LPI_NRBITS - 1) & GICR_VPROPBASER_IDBITS_MASK;
3197 smp_processor_id(), val);
3198 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
3205 val = its_clear_vpend_valid(vlpi_base, 0, 0);
3303 if (GITS_BASER_TYPE(its->tables[i].val) == type)
3318 esz = GITS_BASER_ENTRY_SIZE(baser->val);
3319 if (!(baser->val & GITS_BASER_INDIRECT))
3337 if (!(baser->val & GITS_BASER_SHAREABILITY_MASK))
3343 if (!(baser->val & GITS_BASER_SHAREABILITY_MASK))
3876 u64 val;
3882 val,
3883 !(val & GICR_VPENDBASER_Dirty),
3890 u64 val;
3893 val = virt_to_phys(page_address(vpe->its_vm->vprop_page)) &
3895 val |= (LPI_NRBITS - 1) & GICR_VPROPBASER_IDBITS_MASK;
3897 val |= GICR_VPROPBASER_RaWb;
3898 val |= GICR_VPROPBASER_InnerShareable;
3900 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
3902 val = virt_to_phys(page_address(vpe->vpt_page)) &
3905 val |= GICR_VPENDBASER_RaWaWb;
3906 val |= GICR_VPENDBASER_InnerShareable;
3917 val |= GICR_VPENDBASER_PendingLast;
3918 val |= vpe->idai ? GICR_VPENDBASER_IDAI : 0;
3919 val |= GICR_VPENDBASER_Valid;
3920 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
3926 u64 val;
3928 val = its_clear_vpend_valid(vlpi_base, 0, 0);
3930 vpe->idai = !!(val & GICR_VPENDBASER_IDAI);
3931 vpe->pending_last = !!(val & GICR_VPENDBASER_PendingLast);
4116 u64 val = 0;
4119 val |= GICR_VPENDBASER_Valid;
4120 val |= info->g0en ? GICR_VPENDBASER_4_1_VGRP0EN : 0;
4121 val |= info->g1en ? GICR_VPENDBASER_4_1_VGRP1EN : 0;
4122 val |= FIELD_PREP(GICR_VPENDBASER_4_1_VPEID, vpe->vpe_id);
4124 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
4131 u64 val;
4147 val = its_clear_vpend_valid(vlpi_base,
4150 vpe->pending_last = !!(val & GICR_VPENDBASER_PendingLast);
4157 val = its_clear_vpend_valid(vlpi_base,
4168 u64 val;
4171 val = GICR_INVALLR_V;
4172 val |= FIELD_PREP(GICR_INVALLR_VPEID, vpe->vpe_id);
4178 gic_write_lpir(val, rdbase + GICR_INVALLR);
4280 u64 val;
4282 val = FIELD_PREP(GITS_SGIR_VPEID, vpe->vpe_id);
4283 val |= FIELD_PREP(GITS_SGIR_VINTID, d->hwirq);
4284 writeq_relaxed(val, its->sgir_base + GITS_SGIR - SZ_128K);
4293 enum irqchip_irq_state which, bool *val)
4340 *val = !!(status & (1 << d->hwirq));
4645 u32 val;
4647 val = readl_relaxed(base + GITS_CTLR);
4653 if ((val & GITS_CTLR_QUIESCENT) && !(val & GITS_CTLR_ENABLE))
4657 val &= ~(GITS_CTLR_ENABLE | GITS_CTLR_ImDe);
4658 writel_relaxed(val, base + GITS_CTLR);
4662 val = readl_relaxed(base + GITS_CTLR);
4663 if (val & GITS_CTLR_QUIESCENT)
4933 if (!(baser->val & GITS_BASER_VALID))
4936 its_write_baser(its, baser, baser->val);
4960 u32 val;
4969 val = readl_relaxed(its_base + GITS_PIDR2) & GIC_PIDR2_ARCH_MASK;
4970 if (val != 0x30 && val != 0x40) {
5213 u64 val;
5220 val = readl_relaxed(rbase + GICR_CTLR);
5221 if (!(val & GICR_CTLR_ENABLE_LPIS))
5243 val &= ~GICR_CTLR_ENABLE_LPIS;
5244 writel_relaxed(val, rbase + GICR_CTLR);