From: Harry Wentland <harry.wentland-5C7GfCeVMHo@public.gmane.org>
To: Mauro Rossi <issor.oruam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Sylvain Bertrand
<sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: alexander.deucher-5C7GfCeVMHo@public.gmane.org,
"Mike Lothian" <mike-4+n8WJKc9ve9FHfhHBbuYA@public.gmane.org>,
"Christian König"
<ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [RFC] drm/amd/display: add SI support to AMD DC
Date: Mon, 15 Oct 2018 17:06:37 -0400 [thread overview]
Message-ID: <bef5787e-cc8d-df35-dc55-353ed4443a8c@amd.com> (raw)
In-Reply-To: <CAEQFVGaErupy3y+sKA+uqQPn7x0oL1T9BKWj6y8EC12Ap2-YDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 2018-10-14 5:47 p.m., Mauro Rossi wrote:
> Hi,
>
> reporting about some progress made during the weekend,
> thanks to Sylvain feedback & suggestions.
>
> I have rebased and updated the series on top of
> https://cgit.freedesktop.org/~agd5f/linux/?h=amd-staging-drm-next
>
> Here is the amd_dc_si branch:
> https://github.com/maurossi/linux/tree/amd_dc_si (uploading)
> NOTE: arch/x86/kernel/tsc.c changes for 4K display modes are not
> there, as they are not strictly needed for amd-gfx
>
> Copying also Harry, Alex, Christian and Mike in order to get some
> objective and infallible
> clues/feedbacks about blocking points and about "no care" items.
>
> Please, also big things I may have missed.
> M.
>
>> On Mon, Oct 8, 2018 at 11:23 PM <sylvain.bertrand@gmail.com> wrote:
>>
>> Sylvain - I did hack a bit your patch set on amd-staging-drm-next to make it go through the
>> asic init and I managed to get a x11 display with lines kind of garbled, but
>> you can still understand easily what's on the screen.
>
> I forgot to mention that since I'm gorgeously trying AMD DC also on Mullins
> I have reverted d9fda24 (""drm/amdgpu: Don't default to DC support for
> Kaveri and older")
> because on Mullins I can boot with HDMI and HDMI-to-VGA converter
>
> I was hoping for AMD DC being re-enabled for Kaveri and older,
> but I'm available to submit new version of specific patch if required.
>
I still need to find time to get through your patchset properly. Just a quick note on this. There are Kabini/Kaveri ASICs with VGA connectors in the market, which the DC code doesn't support. If someone writes it we can re-enable it by default.
Either way, you can revert that patch for your tree or use amdgpu.dc=0 as long as you're aware that VGA won't work with amdgpu on such a kernel.
Harry
>> Sylvain - ... The lines may be garbled in your driver code because,
>> if I recall properly, "line buffer" programing in dce8 is not
>> the same than in dce6 (look for registers with the "LB" abbreviation). Or some
>> slight differences in frame buffer tiling.
>
> So the problem could be related to some kind of scan line or tiling
> buffer issue,
> at the moment the dce_resouces model is grabbed "AS IS" from DCE8
> registers/masks
>
>>
>> Sylvain - I checked the kernel log, and like you said, I got errors in DM_PPLIB due to an
>> invalid powerlevel and atombios/vbios table parsing regarding connectors.
>> general dpm is in amdgpu(no DC) for SI, it means the DCE related dpm part in
>> current SI amdgpu code path should be "copied" in DC. It is related very
>> probably to the parsing of VBIOS/ATOMBIOS tables.
>
> 10-09 21:10:14.427 0 0 E :
> [drm:dm_pp_get_static_clocks [amdgpu]] *ERROR* DM_PPLIB: invalid
> powerlevel state: 0!
>
> NOTE: the error is the result of Powerplay dependency introduced by
> using AMD DC for SI
> it's not fatal and it does not seem to affect performance in the Benchmarks
>
> DOUBT: I think that it would make sense to set "power level 0" i.e.
> the "lower state" as safe default,
> considering that powerplay smu6/hwmgr are not implemented for SI and
> smu7 CIK functions do not work,
> the AS-IS dpm is the only available option. (and it seams to be
> working, looking at the framerates 250-280 in the V1 Vulkan benchmark)
>
>
>
>> 10-09 21:10:14.427 0 0 W [drm] dce110_link_encoder_construct: Failed to get encoder_cap_info from VBIOS with error code 4!
>> 10-09 21:10:14.427 0 0 W [drm] dce110_link_encoder_construct: Failed to get encoder_cap_info from VBIOS with error code 4!
>
> NOTE: the warning also appears with Tonga and Vega, it is a Warning
> and does not seem to cause issues, so I would assume there is a
> default treatment in place,
> is this related to missing encoder for drm crtc or to other kind of encoder?
>
>> Sylvain - Did add SI handling in some raven firmware loader function.
>> In drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c, "load_dmcu_fw"
>> function augmented with SI chip asic_type.
>
> I've merged the change in the (v2) branch
> https://github.com/maurossi/linux/tree/amd_dc_si
>
>> Sylvain - AFAIK, the real thing that you additionally get with DC is freesync. But
>> freesync is actually going to be interesting only if displays are able to
>> get their sync range lower bound to 0, and get significant power saving
>> thanks to this. For the use case of very low display refresh rate I don't even
>> think displayport or hdmi can do that, and be power friendly (you would have
>> to retrain the link probably each time you send a framebuffer to the display).
>
>
> If freesync is about reducing the framerate rate for power saving,
> provided that I've seen it be mentioned the first time for GCN 2nd generation,
> I'm not expecting freesync as a mandatory capability for the series.
>
>> Mauro -- dce60_resources was having too many building errors due to missing DCE6 macros
>> in order to temporarily overcome the problem dce_8_0_{d,sh_mask}.h headers
>> were used for the PoC
>
> Still to many building errors due to quite different registers naming,
> pointers to GPU register info (either in GPUopen or by means of
> listing the DCE6 vs DC8 differences),
> or keeping the DCE6 is exactly like DCE8 as register changes are
> apparently not mission critical.
>
>> Mauro - dc/irq suffered the same problem dce_8_0_{d,sh_mask}.h headers
>> were used for the PoC
>
> I could not update dc/irq VBI Vertical Blank Interrupt, because i
> cannot find the corresponding IRQ register in amdgpu/dce6 registers
> headers/mask
>
> -CRTC_VERTICAL_INTERRUPT0_CONTROL__CRTC_VERTICAL_INTERRUPT0_INT_ENABLE_MASK
> +?seems trivial but who knows what is the corresponding in DCE6?
>
> -CRTC_VERTICAL_INTERRUPT0_CONTROL__CRTC_VERTICAL_INTERRUPT0_CLEAR_MASK
> +?seems trivial but who knows what is the corresponding in DCE6?
>
> NOTE: If this is the very basic VBI Vertical Blank Interrupt signal
> handling, there should be dce6 registers/masks,
> but some hint/documentation is necessary for me to find them.
>
>
>> Mauro - gfx6 may require some ad hoc initialization, skipped for the moment
>
> Are there ad hoc tiling settings which are necessary?
>
> The OpenGLES and Vulkan radv apps I've tested:
>
> Android CTS dEQP-VK only 85 tests failed over 220'000
> Toy Zombies Lite
> Sky Force Reloaded
> V1 Benchmark Pro
> GFXbench
> Antutu 3D
> Various OpenGLES demos
>
> Here I'm planning to perform also dEQP-EGL, dEQP-GLES2, dEQP-GLES3 soon,
> but feedbacks from developers are very welcome and appreciated
>
>> Mauro - Hainan specific code requires review, as some documentation and code paths
>> seem to point that famility may not have DCE6, please confirm
>
> Hainan specifics were removed and are unsupported in the new serie
> as DCE6 physical module not available in Hainan parts.
> Unless the virtual_dce modules supports atomit, but I don't think so.
>
>> Mauro - video decoding blocks code have not been touched
>
> UVD and VCE firmwares and code changes for SI were necessary before the series
> and they are unrelated to AMD DC for SI patches.
>
>> Mauro - dc/dce/dce_clock_source.{c,h} may be missing some SI/DCE6 specifics
>
> In amd-staging-drm-next dce_clock_source is generic, SI specifics are
> not necessary anymore.
>
>> Sylvain - It _seems_ there is not that much additional work to do in order to make it
>> properly work.
>>
>
> Ok, let's keep the momentum and continue tackle with x11 display problem
> and after that I'm runnign piglit no regression with x11 and with wayland too.
>
>> Testing on x11,wayland or other ways
>
> Any other testing tools worth a run?
> In case there is some AMD/GPUopen testing tool with unit tests, please
> let me know
> Kind regards
>
> Mauro
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-10-15 21:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-08 2:23 [RFC] drm/amd/display: add SI support to AMD DC Mauro Rossi
[not found] ` <20181008022344.10247-1-issor.oruam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-10-08 2:23 ` [PATCH 01/10] drm/amd/display: add asics info for SI parts Mauro Rossi
2018-10-08 2:23 ` [PATCH 02/10] drm/amd/display: dc/dce: add DCE6 support Mauro Rossi
2018-10-08 2:23 ` [PATCH 03/10] drm/amd/display: dc/core: " Mauro Rossi
2018-10-08 2:23 ` [PATCH 04/10] drm/amd/display: dc/bios: add support for DCE6 Mauro Rossi
2018-10-08 2:23 ` [PATCH 05/10] drm/amd/display: dc/gpio: " Mauro Rossi
2018-10-08 2:23 ` [PATCH 06/10] drm/amd/display: dc/i2caux: " Mauro Rossi
2018-10-08 2:23 ` [PATCH 07/10] drm/amd/display: dc/irq: " Mauro Rossi
2018-10-08 2:23 ` [PATCH 08/10] drm/amd/display: amdgpu_dm: add SI support Mauro Rossi
2018-10-08 2:23 ` [PATCH 09/10] drm/amdgpu: enable DC support for SI parts Mauro Rossi
2018-10-08 2:23 ` [PATCH 10/10] drm/amd/display: enable SI support in the Kconfig Mauro Rossi
2018-10-08 11:00 ` [RFC] drm/amd/display: add SI support to AMD DC Mike Lothian
[not found] ` <CAHbf0-HK4W4xE-hOJPiwr8zhzuuG2GobCTyHHik3mwe1-9_BmQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-08 11:22 ` Mauro Rossi
[not found] ` <CAEQFVGbWWy7jmcaserbMwANNHei90WX+1AvOfDAY8J=BcsyCrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-08 11:29 ` Christian König
[not found] ` <7a8b5d6d-82c2-2b98-b2b2-098baf095aef-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-10-08 12:16 ` Mike Lothian
[not found] ` <CAHbf0-FB2GV18igVo-8MHcVGL89KZoXn+O2B4asoe5R4RbgCVw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-08 15:47 ` Deucher, Alexander
2018-10-08 12:04 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-08 12:32 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-08 17:02 ` Mauro Rossi
[not found] ` <CAEQFVGahx4U+52uKu20_q0iCPrdzeW8G+viS7p2LJtgF61bf6Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-08 20:17 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-08 21:22 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-14 21:47 ` Mauro Rossi
[not found] ` <CAEQFVGaErupy3y+sKA+uqQPn7x0oL1T9BKWj6y8EC12Ap2-YDw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-15 1:25 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-15 5:28 ` Mauro Rossi
[not found] ` <CAEQFVGbB_ezGSGwPu2Ka-4rY9RjB_rJvPL8ZCEG-_rfXxOEN-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-15 12:45 ` sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w
2018-10-15 17:53 ` Deucher, Alexander
2018-10-15 21:06 ` Harry Wentland [this message]
[not found] ` <bef5787e-cc8d-df35-dc55-353ed4443a8c-5C7GfCeVMHo@public.gmane.org>
2018-10-15 21:19 ` Harry Wentland
[not found] ` <70b01042-3210-dcce-2b9a-a16754db9f10-5C7GfCeVMHo@public.gmane.org>
2018-10-16 12:20 ` Mauro Rossi
2018-10-16 14:48 ` Mauro Rossi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bef5787e-cc8d-df35-dc55-353ed4443a8c@amd.com \
--to=harry.wentland-5c7gfcevmho@public.gmane.org \
--cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=issor.oruam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=mike-4+n8WJKc9ve9FHfhHBbuYA@public.gmane.org \
--cc=sylvain.bertrand-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox