Lines Matching refs:val

78 	u64		val;
450 static void its_mask_encode(u64 *raw_cmd, u64 val, int h, int l)
454 *raw_cmd |= (val << l) & mask;
1443 static void __direct_lpi_inv(struct irq_data *d, u64 val)
1454 gic_write_lpir(val, rdbase + GICR_INVLPIR);
1464 u64 val;
1471 val = GICR_INVLPIR_V;
1472 val |= FIELD_PREP(GICR_INVLPIR_VPEID, map->vpe->vpe_id);
1473 val |= FIELD_PREP(GICR_INVLPIR_INTID, map->vintid);
1475 val = d->hwirq;
1478 __direct_lpi_inv(d, val);
2248 u64 val;
2250 val = gicr_read_propbaser(gic_data_rdist_rd_base() + GICR_PROPBASER);
2251 lpi_id_bits = (val & GICR_PROPBASER_IDBITS_MASK) + 1;
2253 gic_rdists->prop_table_pa = val & GENMASK_ULL(51, 12);
2300 u64 val)
2304 gits_write_baser(val, its->base + GITS_BASER + (idx << 3));
2305 baser->val = its_read_baser(its, baser);
2311 u64 val = its_read_baser(its, baser);
2312 u64 esz = GITS_BASER_ENTRY_SIZE(val);
2313 u64 type = GITS_BASER_TYPE(val);
2351 val = (baser_phys |
2359 val |= indirect ? GITS_BASER_INDIRECT : 0x0;
2363 val |= GITS_BASER_PAGE_SIZE_4K;
2366 val |= GITS_BASER_PAGE_SIZE_16K;
2369 val |= GITS_BASER_PAGE_SIZE_64K;
2373 its_write_baser(its, baser, val);
2374 tmp = baser->val;
2376 if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) {
2392 if (val != tmp) {
2395 val, tmp);
2422 u64 val = GITS_BASER_InnerShareable | GITS_BASER_RaWaWb;
2433 its_write_baser(its, baser, val | GITS_BASER_INDIRECT);
2434 indirect = !!(baser->val & GITS_BASER_INDIRECT);
2470 static u32 compute_common_aff(u64 val)
2474 aff = FIELD_GET(GICR_TYPER_AFFINITY, val);
2475 clpiaff = FIELD_GET(GICR_TYPER_COMMON_LPI_AFF, val);
2482 u64 val;
2491 val = FIELD_PREP(GICR_TYPER_COMMON_LPI_AFF, svpet);
2492 val |= FIELD_PREP(GICR_TYPER_AFFINITY, its->mpidr);
2493 return compute_common_aff(val);
2519 baser = its->tables[2].val;
2547 u64 val, gpsz;
2549 val = its_read_baser(its, baser);
2550 val &= ~GITS_BASER_PAGE_SIZE_MASK;
2567 val |= FIELD_PREP(GITS_BASER_PAGE_SIZE_MASK, gpsz);
2568 its_write_baser(its, baser, val);
2570 if (FIELD_GET(GITS_BASER_PAGE_SIZE_MASK, baser->val) == gpsz)
2602 u64 val = its_read_baser(its, baser);
2603 u64 type = GITS_BASER_TYPE(val);
2630 its_write_baser(its, baser, baser->val);
2647 cache = baser->val & GITS_BASER_CACHEABILITY_MASK;
2648 shr = baser->val & GITS_BASER_SHAREABILITY_MASK;
2657 u64 val;
2660 val = gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER);
2661 aff = compute_common_aff(val);
2676 baser = its->tables[2].val;
2683 val = GICR_VPROPBASER_4_1_VALID;
2685 val |= GICR_VPROPBASER_4_1_INDIRECT;
2686 val |= FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE,
2696 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ADDR, addr >> 12);
2697 val |= FIELD_PREP(GICR_VPROPBASER_SHAREABILITY_MASK,
2699 val |= FIELD_PREP(GICR_VPROPBASER_INNER_CACHEABILITY_MASK,
2701 val |= FIELD_PREP(GICR_VPROPBASER_4_1_SIZE, GITS_BASER_NR_PAGES(baser) - 1);
2703 return val;
2712 u64 val;
2715 val = gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER);
2716 aff = compute_common_aff(val);
2724 val = gic_read_typer(base + GICR_TYPER);
2725 if (aff != compute_common_aff(val))
2734 val = gicr_read_vpropbaser(base + SZ_128K + GICR_VPROPBASER);
2735 val &= ~GICR_VPROPBASER_4_1_Z;
2740 return val;
2750 u64 val;
2761 val = gicr_read_vpropbaser(base + SZ_128K + GICR_VPROPBASER);
2763 esz = FIELD_GET(GICR_VPROPBASER_4_1_ENTRY_SIZE, val) + 1;
2764 gpsz = FIELD_GET(GICR_VPROPBASER_4_1_PAGE_SIZE, val);
2765 npg = FIELD_GET(GICR_VPROPBASER_4_1_SIZE, val) + 1;
2783 if (!(val & GICR_VPROPBASER_4_1_INDIRECT))
2800 if (!(val & GICR_VPROPBASER_SHAREABILITY_MASK))
2806 if (!(val & GICR_VPROPBASER_SHAREABILITY_MASK))
2819 u64 val, gpsz, npg, pa;
2843 val = inherit_vpe_l1_table_from_rd(&gic_data_rdist()->vpe_table_mask);
2844 if (val & GICR_VPROPBASER_4_1_VALID)
2851 val = inherit_vpe_l1_table_from_its();
2852 if (val & GICR_VPROPBASER_4_1_VALID)
2856 val = FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE, GIC_PAGE_SIZE_64K);
2857 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
2858 val = gicr_read_vpropbaser(vlpi_base + GICR_VPROPBASER);
2859 gpsz = FIELD_GET(GICR_VPROPBASER_4_1_PAGE_SIZE, val);
2860 esz = FIELD_GET(GICR_VPROPBASER_4_1_ENTRY_SIZE, val);
2881 val = 0;
2882 val |= FIELD_PREP(GICR_VPROPBASER_4_1_PAGE_SIZE, gpsz);
2883 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ENTRY_SIZE, esz);
2896 val |= GICR_VPROPBASER_4_1_INDIRECT;
2907 val |= FIELD_PREP(GICR_VPROPBASER_4_1_SIZE, npg - 1);
2922 val |= FIELD_PREP(GICR_VPROPBASER_4_1_ADDR, pa >> 12);
2923 val |= GICR_VPROPBASER_RaWb;
2924 val |= GICR_VPROPBASER_InnerShareable;
2925 val |= GICR_VPROPBASER_4_1_Z;
2926 val |= GICR_VPROPBASER_4_1_VALID;
2929 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
2933 smp_processor_id(), val,
2981 u64 val;
2984 val = gicr_read_propbaser(gic_data_rdist_rd_base() + GICR_PROPBASER);
2985 addr = val & GENMASK_ULL(51, 12);
2992 u64 val;
2999 val = readl_relaxed(gic_data_rdist_rd_base() + GICR_CTLR);
3000 if ((val & GICR_CTLR_ENABLE_LPIS) && enabled_lpis_allowed()) {
3034 u64 val;
3036 val = gicr_read_vpendbaser(vlpi_base + GICR_VPENDBASER);
3037 val &= ~GICR_VPENDBASER_Valid;
3038 val &= ~clr;
3039 val |= set;
3040 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
3043 val = gicr_read_vpendbaser(vlpi_base + GICR_VPENDBASER);
3044 clean = !(val & GICR_VPENDBASER_Dirty);
3052 if (unlikely(val & GICR_VPENDBASER_Dirty)) {
3054 val |= GICR_VPENDBASER_PendingLast;
3057 return val;
3065 u64 val, tmp;
3070 val = readl_relaxed(rbase + GICR_CTLR);
3072 (val & GICR_CTLR_ENABLE_LPIS)) {
3097 val = (gic_rdists->prop_table_pa |
3102 gicr_write_propbaser(val, rbase + GICR_PROPBASER);
3105 if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) {
3112 val &= ~(GICR_PROPBASER_SHAREABILITY_MASK |
3114 val |= GICR_PROPBASER_nC;
3115 gicr_write_propbaser(val, rbase + GICR_PROPBASER);
3122 val = (page_to_phys(pend_page) |
3126 gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
3134 val &= ~(GICR_PENDBASER_SHAREABILITY_MASK |
3136 val |= GICR_PENDBASER_nC;
3137 gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
3141 val = readl_relaxed(rbase + GICR_CTLR);
3142 val |= GICR_CTLR_ENABLE_LPIS;
3143 writel_relaxed(val, rbase + GICR_CTLR);
3155 val = (LPI_NRBITS - 1) & GICR_VPROPBASER_IDBITS_MASK;
3157 smp_processor_id(), val);
3158 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
3165 val = its_clear_vpend_valid(vlpi_base, 0, 0);
3263 if (GITS_BASER_TYPE(its->tables[i].val) == type)
3278 esz = GITS_BASER_ENTRY_SIZE(baser->val);
3279 if (!(baser->val & GITS_BASER_INDIRECT))
3297 if (!(baser->val & GITS_BASER_SHAREABILITY_MASK))
3303 if (!(baser->val & GITS_BASER_SHAREABILITY_MASK))
3832 u64 val;
3838 val,
3839 !(val & GICR_VPENDBASER_Dirty),
3846 u64 val;
3849 val = virt_to_phys(page_address(vpe->its_vm->vprop_page)) &
3851 val |= (LPI_NRBITS - 1) & GICR_VPROPBASER_IDBITS_MASK;
3852 val |= GICR_VPROPBASER_RaWb;
3853 val |= GICR_VPROPBASER_InnerShareable;
3854 gicr_write_vpropbaser(val, vlpi_base + GICR_VPROPBASER);
3856 val = virt_to_phys(page_address(vpe->vpt_page)) &
3858 val |= GICR_VPENDBASER_RaWaWb;
3859 val |= GICR_VPENDBASER_InnerShareable;
3869 val |= GICR_VPENDBASER_PendingLast;
3870 val |= vpe->idai ? GICR_VPENDBASER_IDAI : 0;
3871 val |= GICR_VPENDBASER_Valid;
3872 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
3880 u64 val;
3882 val = its_clear_vpend_valid(vlpi_base, 0, 0);
3884 vpe->idai = !!(val & GICR_VPENDBASER_IDAI);
3885 vpe->pending_last = !!(val & GICR_VPENDBASER_PendingLast);
4066 u64 val = 0;
4069 val |= GICR_VPENDBASER_Valid;
4070 val |= info->g0en ? GICR_VPENDBASER_4_1_VGRP0EN : 0;
4071 val |= info->g1en ? GICR_VPENDBASER_4_1_VGRP1EN : 0;
4072 val |= FIELD_PREP(GICR_VPENDBASER_4_1_VPEID, vpe->vpe_id);
4074 gicr_write_vpendbaser(val, vlpi_base + GICR_VPENDBASER);
4083 u64 val;
4099 val = its_clear_vpend_valid(vlpi_base,
4102 vpe->pending_last = !!(val & GICR_VPENDBASER_PendingLast);
4109 val = its_clear_vpend_valid(vlpi_base,
4120 u64 val;
4123 val = GICR_INVALLR_V;
4124 val |= FIELD_PREP(GICR_INVALLR_VPEID, vpe->vpe_id);
4130 gic_write_lpir(val, rdbase + GICR_INVALLR);
4228 u64 val;
4230 val = FIELD_PREP(GITS_SGIR_VPEID, vpe->vpe_id);
4231 val |= FIELD_PREP(GITS_SGIR_VINTID, d->hwirq);
4232 writeq_relaxed(val, its->sgir_base + GITS_SGIR - SZ_128K);
4241 enum irqchip_irq_state which, bool *val)
4288 *val = !!(status & (1 << d->hwirq));
4578 u32 val;
4580 val = readl_relaxed(base + GITS_CTLR);
4586 if ((val & GITS_CTLR_QUIESCENT) && !(val & GITS_CTLR_ENABLE))
4590 val &= ~(GITS_CTLR_ENABLE | GITS_CTLR_ImDe);
4591 writel_relaxed(val, base + GITS_CTLR);
4595 val = readl_relaxed(base + GITS_CTLR);
4596 if (val & GITS_CTLR_QUIESCENT)
4827 if (!(baser->val & GITS_BASER_VALID))
4830 its_write_baser(its, baser, baser->val);
4960 u32 val, ctlr;
4971 val = readl_relaxed(its_base + GITS_PIDR2) & GIC_PIDR2_ARCH_MASK;
4972 if (val != 0x30 && val != 0x40) {
5120 u64 val;
5127 val = readl_relaxed(rbase + GICR_CTLR);
5128 if (!(val & GICR_CTLR_ENABLE_LPIS))
5150 val &= ~GICR_CTLR_ENABLE_LPIS;
5151 writel_relaxed(val, rbase + GICR_CTLR);