public inbox for amd-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
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

  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