diff options
| author | Dave Airlie <airlied@redhat.com> | 2022-06-24 09:45:41 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2022-06-24 09:45:50 +1000 |
| commit | 0a86b0db38d848e5e3928707cca55ed664a53eb4 (patch) | |
| tree | 026069b80ad534b49c980a6691bab9fa389e915e /drivers/gpu/drm/vc4/vc4_validate_shaders.c | |
| parent | 382cf35f2508ddf444f4d5af33c5860620add29a (diff) | |
| parent | 85016f66af8506cb601fd4f4fde23ed327a266be (diff) | |
Merge tag 'drm-misc-fixes-2022-06-23' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
Multiple fixes in sun4i for suspend, DDC, DMA setup; A rework of vc4 to
properly split the driver between hardware capabilities that wasn't done
properly causing multiple crashes; and a panel quirk for Aya Neo Next
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220623064152.ubjmnpj7tdejdcw6@houat
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_validate_shaders.c')
| -rw-r--r-- | drivers/gpu/drm/vc4/vc4_validate_shaders.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_validate_shaders.c b/drivers/gpu/drm/vc4/vc4_validate_shaders.c index 7cf82b071de2..e315aeb5fef5 100644 --- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c +++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c @@ -778,6 +778,7 @@ vc4_handle_branch_target(struct vc4_shader_validation_state *validation_state) struct vc4_validated_shader_info * vc4_validate_shader(struct drm_gem_cma_object *shader_obj) { + struct vc4_dev *vc4 = to_vc4_dev(shader_obj->base.dev); bool found_shader_end = false; int shader_end_ip = 0; uint32_t last_thread_switch_ip = -3; @@ -785,6 +786,9 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) struct vc4_validated_shader_info *validated_shader = NULL; struct vc4_shader_validation_state validation_state; + if (WARN_ON_ONCE(vc4->is_vc5)) + return NULL; + memset(&validation_state, 0, sizeof(validation_state)); validation_state.shader = shader_obj->vaddr; validation_state.max_ip = shader_obj->base.size / sizeof(uint64_t); |
