Enable fp16 display support for DCE8+, next try.

Mario Kleiner mario.kleiner.de at gmail.com
Thu Jan 21 06:22:24 UTC 2021


On Mon, Jan 4, 2021 at 6:16 PM Alex Deucher <alexdeucher at gmail.com> wrote:
>
> On Mon, Dec 28, 2020 at 1:51 PM Mario Kleiner
> <mario.kleiner.de at gmail.com> wrote:
> >
> > Hi and happy post-christmas!
> >
> > I wrote a patch 1/1 that now checks plane scaling factors against
> > the pixel-format specific limits in the asic specific dc_plane_cap
> > structures during atomic check and other appropriate places.
> >
> > This should prevent things like asking for scaling on fp16 framebuffers
> > if the hw can't do that. Hopefully this will now allow to safely enable
> > fp16 scanout also on older asic's like DCE-11.0, DCE-10 and DCE-8.
> > Patch 2/2 enables those DCE's now for fp16.
> >
> > I used some quickly hacked up of IGT test kms_plane_scaling, manually
> > hacking the src fb size to make sure the patch correctly accepts or
> > rejects atomic commits based on allowable scaling factors for rgbx/a
> > 8 bit, 10, and fp16.
> >
> > This fp16 support has been successfully tested with a Sea Islands /
> > DCE-8 laptop. I also confirmed that at least basic HDR signalling
> > over HDMI works for that DCE-8 machine with a HDR monitor. For this
> > i used the amdvlk driver which exposes fp16 since a while on supported
> > hw.
>
> Patches look good to me, but I'd like to get some feedback from the
> display folks as well.
>
> >
> > There are other bugs in DC wrt. DCE-8 though, which didn't prevent
> > my testing, but may be worth looking into. My DCE-8 machine scrambles
> > the video output picture somewhat under Vulkan (radv and admvlk) if the
> > output signal precision isn't 8 bpc, ie. on 6 bpc (eDP laptop panel)
> > and 10 bpc, 12 bpc (HDMI deep color on external HDR monitor).
> >
> > Another fun thing is getting a black screen if DC is enabled on at least
> > Linux 5.10+ (but not if i use the classic kms code in amdgpu-kms). If
> > i recompile the driver with a Ubuntu kconfig for Linux 5.9, the 5.10
> > kernel works, and the only obvious DC related difference is that DC's
> > new SI / DCE-6 asic support is disabled at compile time.
>
> Fixed here:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6bdeff12a96c9a5da95c8d11fefd145eb165e32a
> Patch should be in stable for 5.10 as well.

Yes, in recent 5.10 stable these fix the problem I experienced.

Thanks Alex,
-mario


>
> Alex


More information about the dri-devel mailing list