Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Bas Nieuwenhuizen
Reviewed-by: Bas Nieuwenhuizen  for then,
because the Mesa code indeed prevents AMDGPU_CHUNK_ID_FENCE in
submissions.

On Wed, May 8, 2019 at 3:24 PM Christian König
 wrote:
>
> Am 08.05.19 um 15:23 schrieb Liu, Leo:
> > 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?
>
> Well Acked-by: Christian König , cause I don't
> know the Mesa code well enough.
>
> Christian.
>
> >
> > Thanks,
> > Leo
> >
> >
> >> Christian.
> >>
> >>> Regards,
> >>>
> >>> Leo
> >>>
> >>>
>  do you want to take a
>  look Leo or should I do this?
> 
>  Christian.
> 
> > Signed-off-by: Leo Liu 
> > 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
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Christian König

Am 08.05.19 um 15:23 schrieb Liu, Leo:

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?


Well Acked-by: Christian König , cause I don't 
know the Mesa code well enough.


Christian.



Thanks,
Leo



Christian.


Regards,

Leo



do you want to take a
look Leo or should I do this?

Christian.


Signed-off-by: Leo Liu 
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


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Liu, Leo

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 
 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

Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Koenig, Christian
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.

Christian.

>
>
> Regards,
>
> Leo
>
>
>> do you want to take a
>> look Leo or should I do this?
>>
>> Christian.
>>
>>> Signed-off-by: Leo Liu 
>>> 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

Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread 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.


Regards,

Leo


> do you want to take a
> look Leo or should I do this?
>
> Christian.
>
>>
>> Signed-off-by: Leo Liu 
>> 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

Re: [Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Christian König

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, do you want to take a 
look Leo or should I do this?


Christian.



Signed-off-by: Leo Liu 
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

[Mesa-dev] [PATCH] winsys/amdgpu: add VCN JPEG to no user fence group

2019-05-08 Thread Liu, Leo
There is no user fence for JPEG, the bug triggering
kernel WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT)

Signed-off-by: Leo Liu 
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)
-- 
2.17.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev