Lines Matching full:offset

27 static bool fw_check_addr_valid(struct tegra_drm_firewall *fw, u32 offset)  in fw_check_addr_valid()  argument
34 if (offset >= m->iova && offset <= m->iova_end) in fw_check_addr_valid()
41 static int fw_check_reg(struct tegra_drm_firewall *fw, u32 offset) in fw_check_reg() argument
55 offset); in fw_check_reg()
66 static int fw_check_regs_seq(struct tegra_drm_firewall *fw, u32 offset, in fw_check_regs_seq() argument
72 if (fw_check_reg(fw, offset)) in fw_check_regs_seq()
76 offset++; in fw_check_regs_seq()
82 static int fw_check_regs_mask(struct tegra_drm_firewall *fw, u32 offset, in fw_check_regs_mask() argument
89 if (fw_check_reg(fw, offset+bit)) in fw_check_regs_mask()
96 static int fw_check_regs_imm(struct tegra_drm_firewall *fw, u32 offset) in fw_check_regs_imm() argument
101 offset); in fw_check_regs_imm()
158 u32 word, opcode, offset, count, mask, class; in tegra_drm_fw_validate() local
168 offset = word >> 16 & 0xfff; in tegra_drm_fw_validate()
175 err = fw_check_regs_mask(&fw, offset, mask); in tegra_drm_fw_validate()
178 "illegal SETCLASS(offset=0x%x, mask=0x%x, class=0x%x) at word %u", in tegra_drm_fw_validate()
179 offset, mask, class, fw.pos-1); in tegra_drm_fw_validate()
182 offset = (word >> 16) & 0xfff; in tegra_drm_fw_validate()
184 err = fw_check_regs_seq(&fw, offset, count, true); in tegra_drm_fw_validate()
187 "illegal INCR(offset=0x%x, count=%u) in class 0x%x at word %u", in tegra_drm_fw_validate()
188 offset, count, fw.class, fw.pos-1); in tegra_drm_fw_validate()
191 offset = (word >> 16) & 0xfff; in tegra_drm_fw_validate()
193 err = fw_check_regs_seq(&fw, offset, count, false); in tegra_drm_fw_validate()
196 "illegal NONINCR(offset=0x%x, count=%u) in class 0x%x at word %u", in tegra_drm_fw_validate()
197 offset, count, fw.class, fw.pos-1); in tegra_drm_fw_validate()
200 offset = (word >> 16) & 0xfff; in tegra_drm_fw_validate()
202 err = fw_check_regs_mask(&fw, offset, mask); in tegra_drm_fw_validate()
205 "illegal MASK(offset=0x%x, mask=0x%x) in class 0x%x at word %u", in tegra_drm_fw_validate()
206 offset, mask, fw.class, fw.pos-1); in tegra_drm_fw_validate()
210 offset = (word >> 16) & 0xfff; in tegra_drm_fw_validate()
211 err = fw_check_regs_imm(&fw, offset); in tegra_drm_fw_validate()
214 "illegal IMM(offset=0x%x) in class 0x%x at word %u", in tegra_drm_fw_validate()
215 offset, fw.class, fw.pos-1); in tegra_drm_fw_validate()
225 offset = word & 0x3fffff; in tegra_drm_fw_validate()
226 err = fw_check_regs_seq(&fw, offset, payload, true); in tegra_drm_fw_validate()
229 "illegal INCR_W(offset=0x%x) in class 0x%x at word %u", in tegra_drm_fw_validate()
230 offset, fw.class, fw.pos-1); in tegra_drm_fw_validate()
236 offset = word & 0x3fffff; in tegra_drm_fw_validate()
237 err = fw_check_regs_seq(&fw, offset, payload, false); in tegra_drm_fw_validate()
240 "illegal NONINCR(offset=0x%x) in class 0x%x at word %u", in tegra_drm_fw_validate()
241 offset, fw.class, fw.pos-1); in tegra_drm_fw_validate()