Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Mario Kleiner
On Wed, May 20, 2020 at 9:07 PM Kazlauskas, Nicholas <
nicholas.kazlaus...@amd.com> wrote:

> On 2020-05-20 2:44 p.m., Mario Kleiner wrote:
> > On Wed, May 20, 2020 at 8:25 PM Alex Deucher  > > wrote:
> >
> > On Wed, May 20, 2020 at 12:39 PM Harry Wentland  > > wrote:
> >  >
> >  > On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
> >  > > Testing on a Polaris11 gpu with DCE-11.2 suggests that it
> >  > > seems to work fine there, so optimistically enable it for
> >  > > DCE-11 and later.
> >  > >
> >  > > Signed-off-by: Mario Kleiner  > >
> >  > > ---
> >  > >  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
> >  > >  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
> >  > >  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
> >  > >  3 files changed, 3 insertions(+), 3 deletions(-)
> >  > >
> >  > > diff --git
> > a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >  > > index 9597fc79d7fa..a043ddae5149 100644
> >  > > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >  > > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> >  > > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >  > >   .pixel_format_support = {
> >  > >   .argb = true,
> >  > >   .nv12 = false,
> >  > > - .fp16 = false
> >  > > + .fp16 = true
> >  >
> >  > Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
> >  > recommend we leave it off here.
> >
> > I'll drop this hunk for upstream.
> >
> > Alex
> >
> >
> > Ok, no fixup patch needed from myself, thanks Alex. Does the scaling bug
> > refer to scaling the planes (those max_downscale_factor /
> > max_upscale_factor definitions seem to be unused) or the fp16 values
> itself?
> >
> > What about DCE 8 and DCE 10 hw capabilities wrt. fp16? Should i send
> > fp16 enable patches for those as well?
> >
> > -mario
>
> Yeah, the upscale and downscale factors were intended to block FP16
> accepted and reject the commit but I guess nobody ever added those to
> atomic check.
>
> I reviewed the patch with the idea in mind that we already blocked this
> on a DC level. We can re-enable it in the caps after this is in I think.
>
> Off the top of my head I don't remember what DCE8/DCE10 supports, but
> I'm also not sure if they even support sending the SDP message for those
> to really be usable.
>

While HDR is the typical user for fp16, even on SDR displays, without any
HDR signalling, fp16 should give an additional bit of precision ~ 11 bpc
effective in standard 0.0 - 1.0 unorm range on a 12 bit pipeline with a 12
bpc panel or even on a 10 bpc panel with dithering. Useful for
neuroscience/medical research applications or the color precision obsessed
people. I take every bit i can get ;)

-mario



> Regards,
> Nicholas Kazlauskas
>
> >
> >  >
> >  > Harry
> >  >
> >  > >   },
> >  > >
> >  > >   .max_upscale_factor = {
> >  > > diff --git
> > a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >  > > index 4a7796de2ff5..51b3fe502670 100644
> >  > > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >  > > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> >  > > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >  > >   .pixel_format_support = {
> >  > >   .argb = true,
> >  > >   .nv12 = false,
> >  > > - .fp16 = false
> >  > > + .fp16 = true
> >  > >   },
> >  > >
> >  > >   .max_upscale_factor = {
> >  > > diff --git
> > a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >  > > index 9a9764cbd78d..8f362e8c1787 100644
> >  > > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >  > > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> >  > > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap
> = {
> >  > >   .pixel_format_support = {
> >  > >   .argb = true,
> >  > >   .nv12 = false,
> >  > > - .fp16 = false
> >  > > + .fp16 = true
> >  > >   },
> >  > >
> >  > >   .max_upscale_factor = {
> >  > >
> >  > ___
> >  > dri-devel mailing list
> >  > 

Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Kazlauskas, Nicholas

On 2020-05-20 2:44 p.m., Mario Kleiner wrote:
On Wed, May 20, 2020 at 8:25 PM Alex Deucher > wrote:


On Wed, May 20, 2020 at 12:39 PM Harry Wentland mailto:hwent...@amd.com>> wrote:
 >
 > On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
 > > Testing on a Polaris11 gpu with DCE-11.2 suggests that it
 > > seems to work fine there, so optimistically enable it for
 > > DCE-11 and later.
 > >
 > > Signed-off-by: Mario Kleiner mailto:mario.kleiner...@gmail.com>>
 > > ---
 > >  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
 > >  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
 > >  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
 > >  3 files changed, 3 insertions(+), 3 deletions(-)
 > >
 > > diff --git
a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
 > > index 9597fc79d7fa..a043ddae5149 100644
 > > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
 > > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
 > > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {
 > >               .pixel_format_support = {
 > >                               .argb = true,
 > >                               .nv12 = false,
 > > -                             .fp16 = false
 > > +                             .fp16 = true
 >
 > Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
 > recommend we leave it off here.

I'll drop this hunk for upstream.

Alex


Ok, no fixup patch needed from myself, thanks Alex. Does the scaling bug 
refer to scaling the planes (those max_downscale_factor / 
max_upscale_factor definitions seem to be unused) or the fp16 values itself?


What about DCE 8 and DCE 10 hw capabilities wrt. fp16? Should i send 
fp16 enable patches for those as well?


-mario


Yeah, the upscale and downscale factors were intended to block FP16 
accepted and reject the commit but I guess nobody ever added those to 
atomic check.


I reviewed the patch with the idea in mind that we already blocked this 
on a DC level. We can re-enable it in the caps after this is in I think.


Off the top of my head I don't remember what DCE8/DCE10 supports, but 
I'm also not sure if they even support sending the SDP message for those 
to really be usable.


Regards,
Nicholas Kazlauskas



 >
 > Harry
 >
 > >               },
 > >
 > >               .max_upscale_factor = {
 > > diff --git
a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
 > > index 4a7796de2ff5..51b3fe502670 100644
 > > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
 > > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
 > > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {
 > >       .pixel_format_support = {
 > >                       .argb = true,
 > >                       .nv12 = false,
 > > -                     .fp16 = false
 > > +                     .fp16 = true
 > >       },
 > >
 > >       .max_upscale_factor = {
 > > diff --git
a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
 > > index 9a9764cbd78d..8f362e8c1787 100644
 > > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
 > > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
 > > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {
 > >       .pixel_format_support = {
 > >                       .argb = true,
 > >                       .nv12 = false,
 > > -                     .fp16 = false
 > > +                     .fp16 = true
 > >       },
 > >
 > >       .max_upscale_factor = {
 > >
 > ___
 > dri-devel mailing list
 > dri-devel@lists.freedesktop.org

 > https://lists.freedesktop.org/mailman/listinfo/dri-devel




___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Mario Kleiner
On Wed, May 20, 2020 at 8:25 PM Alex Deucher  wrote:

> On Wed, May 20, 2020 at 12:39 PM Harry Wentland  wrote:
> >
> > On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
> > > Testing on a Polaris11 gpu with DCE-11.2 suggests that it
> > > seems to work fine there, so optimistically enable it for
> > > DCE-11 and later.
> > >
> > > Signed-off-by: Mario Kleiner 
> > > ---
> > >  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
> > >  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
> > >  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
> > >  3 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > > index 9597fc79d7fa..a043ddae5149 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {
> > >   .pixel_format_support = {
> > >   .argb = true,
> > >   .nv12 = false,
> > > - .fp16 = false
> > > + .fp16 = true
> >
> > Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
> > recommend we leave it off here.
>
> I'll drop this hunk for upstream.
>
> Alex
>
>
Ok, no fixup patch needed from myself, thanks Alex. Does the scaling bug
refer to scaling the planes (those max_downscale_factor /
max_upscale_factor definitions seem to be unused) or the fp16 values itself?

What about DCE 8 and DCE 10 hw capabilities wrt. fp16? Should i send fp16
enable patches for those as well?

-mario

>
> > Harry
> >
> > >   },
> > >
> > >   .max_upscale_factor = {
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > > index 4a7796de2ff5..51b3fe502670 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {
> > >   .pixel_format_support = {
> > >   .argb = true,
> > >   .nv12 = false,
> > > - .fp16 = false
> > > + .fp16 = true
> > >   },
> > >
> > >   .max_upscale_factor = {
> > > diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > > index 9a9764cbd78d..8f362e8c1787 100644
> > > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {
> > >   .pixel_format_support = {
> > >   .argb = true,
> > >   .nv12 = false,
> > > - .fp16 = false
> > > + .fp16 = true
> > >   },
> > >
> > >   .max_upscale_factor = {
> > >
> > ___
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Alex Deucher
On Wed, May 20, 2020 at 12:39 PM Harry Wentland  wrote:
>
> On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
> > Testing on a Polaris11 gpu with DCE-11.2 suggests that it
> > seems to work fine there, so optimistically enable it for
> > DCE-11 and later.
> >
> > Signed-off-by: Mario Kleiner 
> > ---
> >  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
> >  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
> >  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
> >  3 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 
> > b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > index 9597fc79d7fa..a043ddae5149 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> > @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {
> >   .pixel_format_support = {
> >   .argb = true,
> >   .nv12 = false,
> > - .fp16 = false
> > + .fp16 = true
>
> Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
> recommend we leave it off here.

I'll drop this hunk for upstream.

Alex

>
> Harry
>
> >   },
> >
> >   .max_upscale_factor = {
> > diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 
> > b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > index 4a7796de2ff5..51b3fe502670 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> > @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {
> >   .pixel_format_support = {
> >   .argb = true,
> >   .nv12 = false,
> > - .fp16 = false
> > + .fp16 = true
> >   },
> >
> >   .max_upscale_factor = {
> > diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 
> > b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > index 9a9764cbd78d..8f362e8c1787 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> > @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {
> >   .pixel_format_support = {
> >   .argb = true,
> >   .nv12 = false,
> > - .fp16 = false
> > + .fp16 = true
> >   },
> >
> >   .max_upscale_factor = {
> >
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Harry Wentland
On 2020-05-15 1:19 a.m., Mario Kleiner wrote:
> Testing on a Polaris11 gpu with DCE-11.2 suggests that it
> seems to work fine there, so optimistically enable it for
> DCE-11 and later.
> 
> Signed-off-by: Mario Kleiner 
> ---
>  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
>  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
>  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 
> b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> index 9597fc79d7fa..a043ddae5149 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
> @@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {
>   .pixel_format_support = {
>   .argb = true,
>   .nv12 = false,
> - .fp16 = false
> + .fp16 = true

Carrizo (DCE 11.0) has a HW bug where FP16 scaling doesn't work. I
recommend we leave it off here.

Harry

>   },
>  
>   .max_upscale_factor = {
> diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 
> b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> index 4a7796de2ff5..51b3fe502670 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
> @@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {
>   .pixel_format_support = {
>   .argb = true,
>   .nv12 = false,
> - .fp16 = false
> + .fp16 = true
>   },
>  
>   .max_upscale_factor = {
> diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 
> b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> index 9a9764cbd78d..8f362e8c1787 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
> @@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {
>   .pixel_format_support = {
>   .argb = true,
>   .nv12 = false,
> - .fp16 = false
> + .fp16 = true
>   },
>  
>   .max_upscale_factor = {
> 
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 2/2] drm/amd/display: Enable fp16 also on DCE-11.0 - DCE-12.

2020-05-20 Thread Kazlauskas, Nicholas

On 2020-05-15 1:19 a.m., Mario Kleiner wrote:

Testing on a Polaris11 gpu with DCE-11.2 suggests that it
seems to work fine there, so optimistically enable it for
DCE-11 and later.

Signed-off-by: Mario Kleiner 


Series is:

Reviewed-by: Nicholas Kazlauskas 

Thanks!


---
  drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 2 +-
  drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 +-
  drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 +-
  3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c 
b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
index 9597fc79d7fa..a043ddae5149 100644
--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
@@ -410,7 +410,7 @@ static const struct dc_plane_cap plane_cap = {
.pixel_format_support = {
.argb = true,
.nv12 = false,
-   .fp16 = false
+   .fp16 = true
},
  
  		.max_upscale_factor = {

diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c 
b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
index 4a7796de2ff5..51b3fe502670 100644
--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
@@ -411,7 +411,7 @@ static const struct dc_plane_cap plane_cap = {
.pixel_format_support = {
.argb = true,
.nv12 = false,
-   .fp16 = false
+   .fp16 = true
},
  
  	.max_upscale_factor = {

diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c 
b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
index 9a9764cbd78d..8f362e8c1787 100644
--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
@@ -516,7 +516,7 @@ static const struct dc_plane_cap plane_cap = {
.pixel_format_support = {
.argb = true,
.nv12 = false,
-   .fp16 = false
+   .fp16 = true
},
  
  	.max_upscale_factor = {




___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel