On 5/8/19 9:19 AM, Koenig, Christian wrote: > Am 08.05.19 um 15:14 schrieb Liu, Leo: >> On 5/8/19 9:02 AM, Christian König wrote: >>> [CAUTION: External Email] >>> >>> Am 08.05.19 um 14:56 schrieb Liu, Leo: >>>> There is no user fence for JPEG, the bug triggering >>>> kernel WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT) >>> Oh, we are probably going to need to check for this in the kernel as >>> well. >>> >>> Currently we only check for UVD and VCE there, >> Are you talking about the checking for JPEG engine? if that, and then >> yes the check of " WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT)" is there, >> that's why current JPEG is triggering that. > Yeah, but this check comes way to late. > > We usually already reject command submissions when they have user fences > for UVD & VCE, see amdgpu_cs_ib_fill(): >> /* UVD & VCE fw doesn't support user fences */ >> ring = to_amdgpu_ring(parser->entity->rq->sched); >> if (parser->job->uf_addr && ( >> ring->funcs->type == AMDGPU_RING_TYPE_UVD || >> ring->funcs->type == AMDGPU_RING_TYPE_VCE)) >> return -EINVAL; > We should probably make that a ring flag or something like that and > generalize he code here. > > Then the WARN_ON in the JPEG fence code can be removed.
Yep. I will take a look at this on the kernel side, in the meantime, can I have a RB on the Mesa side? Thanks, Leo > > Christian. > >> >> Regards, >> >> Leo >> >> >>> do you want to take a >>> look Leo or should I do this? >>> >>> Christian. >>> >>>> Signed-off-by: Leo Liu <leo....@amd.com> >>>> Cc: mesa-sta...@lists.freedesktop.org >>>> --- >>>> src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c >>>> b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c >>>> index 4a2377f7e09..972030eaaa8 100644 >>>> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c >>>> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c >>>> @@ -378,7 +378,8 @@ static bool amdgpu_cs_has_user_fence(struct >>>> amdgpu_cs_context *cs) >>>> cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_VCE && >>>> cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_UVD_ENC && >>>> cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_VCN_DEC && >>>> - cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_VCN_ENC; >>>> + cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_VCN_ENC && >>>> + cs->ib[IB_MAIN].ip_type != AMDGPU_HW_IP_VCN_JPEG; >>>> } >>>> >>>> static bool amdgpu_cs_has_chaining(struct amdgpu_cs *cs) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev