Lines Matching defs:wa

133 	struct i915_wa *wa;
136 for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
138 wa->reg,
145 static void _wa_add(struct i915_wa_list *wal, const struct i915_wa *wa)
147 unsigned int addr = i915_mmio_reg_offset(wa->reg);
158 list = kmalloc_array(ALIGN(wal->count + 1, grow), sizeof(*wa),
166 memcpy(list, wal->list, sizeof(*wa) * wal->count);
183 if ((wa->clr | wa_->clr) && !(wa->clr & ~wa_->clr)) {
189 wa_->set &= ~wa->clr;
193 wa_->set |= wa->set;
194 wa_->clr |= wa->clr;
195 wa_->read |= wa->read;
202 *wa_ = *wa;
218 struct i915_wa wa = {
226 _wa_add(wal, &wa);
232 struct i915_wa wa = {
241 _wa_add(wal, &wa);
889 * allow us to use the wa framework for proper application and validation.
973 struct i915_wa *wa;
996 for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
1000 if (wa->masked_reg || (wa->clr | wa->set) == U32_MAX) {
1001 val = wa->set;
1003 val = wa->is_mcr ?
1004 intel_gt_mcr_read_any_fw(wal->gt, wa->mcr_reg) :
1005 intel_uncore_read_fw(uncore, wa->reg);
1006 val &= ~wa->clr;
1007 val |= wa->set;
1010 *cs++ = i915_mmio_reg_offset(wa->reg);
1812 wa_verify(struct intel_gt *gt, const struct i915_wa *wa, u32 cur,
1815 if ((cur ^ wa->set) & wa->read) {
1818 name, from, i915_mmio_reg_offset(wa->reg),
1819 cur, cur & wa->read, wa->set & wa->read);
1833 struct i915_wa *wa;
1845 for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
1849 if (wa->clr)
1850 old = wa->is_mcr ?
1851 intel_gt_mcr_read_any_fw(gt, wa->mcr_reg) :
1852 intel_uncore_read_fw(uncore, wa->reg);
1853 val = (old & ~wa->clr) | wa->set;
1854 if (val != old || !wa->clr) {
1855 if (wa->is_mcr)
1856 intel_gt_mcr_multicast_write_fw(gt, wa->mcr_reg, val);
1858 intel_uncore_write_fw(uncore, wa->reg, val);
1862 u32 val = wa->is_mcr ?
1863 intel_gt_mcr_read_any_fw(gt, wa->mcr_reg) :
1864 intel_uncore_read_fw(uncore, wa->reg);
1866 wa_verify(gt, wa, val, wal->name, "application");
1885 struct i915_wa *wa;
1897 for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
1898 ok &= wa_verify(wal->gt, wa, wa->is_mcr ?
1899 intel_gt_mcr_read_any_fw(gt, wa->mcr_reg) :
1900 intel_uncore_read_fw(uncore, wa->reg),
1933 struct i915_wa wa = {
1943 wa.reg.reg |= flags;
1944 _wa_add(wal, &wa);
1950 struct i915_wa wa = {
1961 wa.mcr_reg.reg |= flags;
1962 _wa_add(wal, &wa);
2268 struct i915_wa *wa;
2274 for (i = 0, wa = wal->list; i < wal->count; i++, wa++)
2277 i915_mmio_reg_offset(wa->reg));
2291 * allow utilizing wa framework to proper application and verification.
3129 const struct i915_wa *wa;
3136 for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
3137 if (!mcr_range(i915, i915_mmio_reg_offset(wa->reg)))
3145 for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
3146 u32 offset = i915_mmio_reg_offset(wa->reg);
3165 const struct i915_wa *wa;
3225 for (i = 0, wa = wal->list; i < wal->count; i++, wa++) {
3226 if (mcr_range(rq->i915, i915_mmio_reg_offset(wa->reg)))
3229 if (!wa_verify(wal->gt, wa, results[i], wal->name, from))