validated_shader 171 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader) { validated_shader 172 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader->uniform_addr_offsets); validated_shader 173 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader->texture_samples); validated_shader 174 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader); validated_shader 175 drivers/gpu/drm/vc4/vc4_bo.c bo->validated_shader = NULL; validated_shader 565 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader) { validated_shader 566 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader->uniform_addr_offsets); validated_shader 567 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader->texture_samples); validated_shader 568 drivers/gpu/drm/vc4/vc4_bo.c kfree(bo->validated_shader); validated_shader 569 drivers/gpu/drm/vc4/vc4_bo.c bo->validated_shader = NULL; validated_shader 664 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader) { validated_shader 717 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) { validated_shader 762 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) { validated_shader 774 drivers/gpu/drm/vc4/vc4_bo.c if (bo->validated_shader) { validated_shader 909 drivers/gpu/drm/vc4/vc4_bo.c bo->validated_shader = vc4_validate_shader(&bo->base); validated_shader 910 drivers/gpu/drm/vc4/vc4_bo.c if (!bo->validated_shader) { validated_shader 265 drivers/gpu/drm/vc4/vc4_drv.h struct vc4_validated_shader_info *validated_shader; validated_shader 119 drivers/gpu/drm/vc4/vc4_validate.c if (bo->validated_shader) { validated_shader 812 drivers/gpu/drm/vc4/vc4_validate.c to_vc4_bo(&bo[0]->base)->validated_shader->is_threaded) { validated_shader 817 drivers/gpu/drm/vc4/vc4_validate.c if (to_vc4_bo(&bo[1]->base)->validated_shader->is_threaded || validated_shader 818 drivers/gpu/drm/vc4/vc4_validate.c to_vc4_bo(&bo[2]->base)->validated_shader->is_threaded) { validated_shader 824 drivers/gpu/drm/vc4/vc4_validate.c struct vc4_validated_shader_info *validated_shader; validated_shader 839 drivers/gpu/drm/vc4/vc4_validate.c validated_shader = to_vc4_bo(&bo[i]->base)->validated_shader; validated_shader 840 drivers/gpu/drm/vc4/vc4_validate.c if (!validated_shader) validated_shader 843 drivers/gpu/drm/vc4/vc4_validate.c if (validated_shader->uniforms_src_size > validated_shader 851 drivers/gpu/drm/vc4/vc4_validate.c validated_shader->num_texture_samples); validated_shader 854 drivers/gpu/drm/vc4/vc4_validate.c validated_shader->uniforms_size); validated_shader 857 drivers/gpu/drm/vc4/vc4_validate.c tex < validated_shader->num_texture_samples; validated_shader 861 drivers/gpu/drm/vc4/vc4_validate.c &validated_shader->texture_samples[tex], validated_shader 873 drivers/gpu/drm/vc4/vc4_validate.c uni < validated_shader->num_uniform_addr_offsets; validated_shader 875 drivers/gpu/drm/vc4/vc4_validate.c uint32_t o = validated_shader->uniform_addr_offsets[uni]; validated_shader 881 drivers/gpu/drm/vc4/vc4_validate.c exec->uniforms_u += validated_shader->uniforms_src_size; validated_shader 882 drivers/gpu/drm/vc4/vc4_validate.c exec->uniforms_v += validated_shader->uniforms_size; validated_shader 883 drivers/gpu/drm/vc4/vc4_validate.c exec->uniforms_p += validated_shader->uniforms_size; validated_shader 155 drivers/gpu/drm/vc4/vc4_validate_shaders.c record_texture_sample(struct vc4_validated_shader_info *validated_shader, validated_shader 159 drivers/gpu/drm/vc4/vc4_validate_shaders.c uint32_t s = validated_shader->num_texture_samples; validated_shader 163 drivers/gpu/drm/vc4/vc4_validate_shaders.c temp_samples = krealloc(validated_shader->texture_samples, validated_shader 173 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->num_texture_samples = s + 1; validated_shader 174 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->texture_samples = temp_samples; validated_shader 183 drivers/gpu/drm/vc4/vc4_validate_shaders.c check_tmu_write(struct vc4_validated_shader_info *validated_shader, validated_shader 261 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_size; validated_shader 272 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_size += 4; validated_shader 276 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!record_texture_sample(validated_shader, validated_shader 287 drivers/gpu/drm/vc4/vc4_validate_shaders.c static bool require_uniform_address_uniform(struct vc4_validated_shader_info *validated_shader) validated_shader 289 drivers/gpu/drm/vc4/vc4_validate_shaders.c uint32_t o = validated_shader->num_uniform_addr_offsets; validated_shader 290 drivers/gpu/drm/vc4/vc4_validate_shaders.c uint32_t num_uniforms = validated_shader->uniforms_size / 4; validated_shader 292 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniform_addr_offsets = validated_shader 293 drivers/gpu/drm/vc4/vc4_validate_shaders.c krealloc(validated_shader->uniform_addr_offsets, validated_shader 295 drivers/gpu/drm/vc4/vc4_validate_shaders.c sizeof(*validated_shader->uniform_addr_offsets), validated_shader 297 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!validated_shader->uniform_addr_offsets) validated_shader 300 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniform_addr_offsets[o] = num_uniforms; validated_shader 301 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->num_uniform_addr_offsets++; validated_shader 307 drivers/gpu/drm/vc4/vc4_validate_shaders.c validate_uniform_address_write(struct vc4_validated_shader_info *validated_shader, validated_shader 319 drivers/gpu/drm/vc4/vc4_validate_shaders.c u32 expected_offset = validated_shader->uniforms_size + 4; validated_shader 382 drivers/gpu/drm/vc4/vc4_validate_shaders.c return require_uniform_address_uniform(validated_shader); validated_shader 386 drivers/gpu/drm/vc4/vc4_validate_shaders.c check_reg_write(struct vc4_validated_shader_info *validated_shader, validated_shader 425 drivers/gpu/drm/vc4/vc4_validate_shaders.c return validate_uniform_address_write(validated_shader, validated_shader 445 drivers/gpu/drm/vc4/vc4_validate_shaders.c return check_tmu_write(validated_shader, validation_state, validated_shader 478 drivers/gpu/drm/vc4/vc4_validate_shaders.c track_live_clamps(struct vc4_validated_shader_info *validated_shader, validated_shader 548 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_size; validated_shader 553 drivers/gpu/drm/vc4/vc4_validate_shaders.c check_instruction_writes(struct vc4_validated_shader_info *validated_shader, validated_shader 566 drivers/gpu/drm/vc4/vc4_validate_shaders.c ok = (check_reg_write(validated_shader, validation_state, false) && validated_shader 567 drivers/gpu/drm/vc4/vc4_validate_shaders.c check_reg_write(validated_shader, validation_state, true)); validated_shader 569 drivers/gpu/drm/vc4/vc4_validate_shaders.c track_live_clamps(validated_shader, validation_state); validated_shader 576 drivers/gpu/drm/vc4/vc4_validate_shaders.c struct vc4_validated_shader_info *validated_shader, validated_shader 600 drivers/gpu/drm/vc4/vc4_validate_shaders.c check_instruction_reads(struct vc4_validated_shader_info *validated_shader, validated_shader 614 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_size += 4; validated_shader 785 drivers/gpu/drm/vc4/vc4_validate_shaders.c struct vc4_validated_shader_info *validated_shader = NULL; validated_shader 800 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader = kcalloc(1, sizeof(*validated_shader), GFP_KERNEL); validated_shader 801 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!validated_shader) validated_shader 838 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!check_instruction_writes(validated_shader, validated_shader 844 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!check_instruction_reads(validated_shader, validated_shader 855 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->is_threaded = true; validated_shader 868 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!check_instruction_writes(validated_shader, validated_shader 876 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!check_branch(inst, validated_shader, validated_shader 908 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (validated_shader->is_threaded && validated_shader 925 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (!require_uniform_address_uniform(validated_shader)) validated_shader 927 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_size += 4; validated_shader 934 drivers/gpu/drm/vc4/vc4_validate_shaders.c validated_shader->uniforms_src_size = validated_shader 935 drivers/gpu/drm/vc4/vc4_validate_shaders.c (validated_shader->uniforms_size + validated_shader 936 drivers/gpu/drm/vc4/vc4_validate_shaders.c 4 * validated_shader->num_texture_samples); validated_shader 940 drivers/gpu/drm/vc4/vc4_validate_shaders.c return validated_shader; validated_shader 944 drivers/gpu/drm/vc4/vc4_validate_shaders.c if (validated_shader) { validated_shader 945 drivers/gpu/drm/vc4/vc4_validate_shaders.c kfree(validated_shader->uniform_addr_offsets); validated_shader 946 drivers/gpu/drm/vc4/vc4_validate_shaders.c kfree(validated_shader->texture_samples); validated_shader 947 drivers/gpu/drm/vc4/vc4_validate_shaders.c kfree(validated_shader);