On 03/14/ , Christian König wrote: > Am 14.03.22 um 03:46 schrieb Lang Yu: > > Only ring GFX, SDMA and VCN_DEC support secure submission at the moment. > > > > Signed-off-by: Lang Yu <Lang.Yu@xxxxxxx> > > it would be nicer if we have that as flag in ring->funcs, but that way works > for now as well. Okay. I will add a flag in ring->funcs and send another patch. Thanks! Regards, Lang > Reviewed-by: Christian König <christian.koenig@xxxxxxx> > > Thanks, > Christian. > > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 4 ++-- > > drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 8 ++++++++ > > 2 files changed, 10 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c > > index bc1297dcdf97..840304691b92 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c > > @@ -166,8 +166,8 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, > > } > > if ((ib->flags & AMDGPU_IB_FLAGS_SECURE) && > > - (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE)) { > > - dev_err(adev->dev, "secure submissions not supported on compute rings\n"); > > + !amdgpu_ring_secure_submission_supported(ring)) { > > + dev_err(adev->dev, "secure submissions not supported on ring <%s>\n", ring->name); > > return -EINVAL; > > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > index a8bed1b47899..3afe3d60e194 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > @@ -363,6 +363,14 @@ static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, > > ring->count_dw -= count_dw; > > } > > +static inline > > +bool amdgpu_ring_secure_submission_supported(struct amdgpu_ring *ring) > > +{ > > + return (ring->funcs->type == AMDGPU_RING_TYPE_GFX || > > + ring->funcs->type == AMDGPU_RING_TYPE_SDMA || > > + ring->funcs->type == AMDGPU_RING_TYPE_VCN_DEC); > > +} > > + > > int amdgpu_ring_test_helper(struct amdgpu_ring *ring); > > void amdgpu_debugfs_ring_init(struct amdgpu_device *adev, >