On Wed, Jul 22, 2020 at 3:57 AM Mauro Rossi <issor.oruam@xxxxxxxxx> wrote: > > Hello, > re-sending and copying full DL > > On Wed, Jul 22, 2020 at 4:51 AM Alex Deucher <alexdeucher@xxxxxxxxx> wrote: >> >> On Mon, Jul 20, 2020 at 6:00 AM Mauro Rossi <issor.oruam@xxxxxxxxx> wrote: >> > >> > Hi Christian, >> > >> > On Mon, Jul 20, 2020 at 11:00 AM Christian König >> > <ckoenig.leichtzumerken@xxxxxxxxx> wrote: >> > > >> > > Hi Mauro, >> > > >> > > I'm not deep into the whole DC design, so just some general high level >> > > comments on the cover letter: >> > > >> > > 1. Please add a subject line to the cover letter, my spam filter thinks >> > > that this is suspicious otherwise. >> > >> > My mistake in the editing of covert letter with git send-email, >> > I may have forgot to keep the Subject at the top >> > >> > > >> > > 2. Then you should probably note how well (badly?) is that tested. Since >> > > you noted proof of concept it might not even work. >> > >> > The Changelog is to be read as: >> > >> > [RFC] was the initial Proof of concept was the RFC and [PATCH v2] was >> > just a rebase onto amd-staging-drm-next >> > >> > this series [PATCH v3] has all the known changes required for DCE6 specificity >> > and based on a long offline thread with Alexander Deutcher and past >> > dri-devel chats with Harry Wentland. >> > >> > It was tested for my possibilities of testing with HD7750 and HD7950, >> > with checks in dmesg output for not getting "missing registers/masks" >> > kernel WARNING >> > and with kernel build on Ubuntu 20.04 and with android-x86 >> > >> > The proposal I made to Alex is that AMD testing systems will be used >> > for further regression testing, >> > as part of review and validation for eligibility to amd-staging-drm-next >> > >> >> We will certainly test it once it lands, but presumably this is >> working on the SI cards you have access to? > > > Yes, most of my testing was done with android-x86 Android CTS (EGL, GLES2, GLES3, VK) > > I am also in contact with a person with Firepro W5130M who is running a piglit session > > I had bought an HD7850 to test with Pitcairn, but it arrived as defective so I could not test with Pitcair > > >> >> > > >> > > 3. How feature complete (HDMI audio?, Freesync?) is it? >> > >> > All the changes in DC impacting DCE8 (dc/dce80 path) were ported to >> > DCE6 (dc/dce60 path) in the last two years from initial submission >> > >> > > >> > > Apart from that it looks like a rather impressive piece of work :) >> > > >> > > Cheers, >> > > Christian. >> > >> > Thanks, >> > please consider that most of the latest DCE6 specific parts were >> > possible due to recent Alex support in getting the correct DCE6 >> > headers, >> > his suggestions and continuous feedback. >> > >> > I would suggest that Alex comments on the proposed next steps to follow. >> >> The code looks pretty good to me. I'd like to get some feedback from >> the display team to see if they have any concerns, but beyond that I >> think we can pull it into the tree and continue improving it there. >> Do you have a link to a git tree I can pull directly that contains >> these patches? Is this the right branch? >> https://github.com/maurossi/linux/commits/kernel-5.8rc4_si_next >> >> Thanks! >> >> Alex > > > The following branch was pushed with the series on top of amd-staging-drm-next > > https://github.com/maurossi/linux/commits/kernel-5.6_si_drm-next I gave this a quick test on all of the SI asics and the various monitors I had available and it looks good. A few minor patches I noticed are attached. If they look good to you, I'll squash them into the series when I commit it. I've pushed it to my fdo tree as well: https://cgit.freedesktop.org/~agd5f/linux/log/?h=si_dc_support Thanks! Alex > >> >> >> > >> > Mauro >> > >> > > >> > > Am 16.07.20 um 23:22 schrieb Mauro Rossi: >> > > > The series adds SI support to AMD DC >> > > > >> > > > Changelog: >> > > > >> > > > [RFC] >> > > > Preliminar Proof Of Concept, with DCE8 headers still used in dce60_resources.c >> > > > >> > > > [PATCH v2] >> > > > Rebase on amd-staging-drm-next dated 17-Oct-2018 >> > > > >> > > > [PATCH v3] >> > > > Add support for DCE6 specific headers, >> > > > ad hoc DCE6 macros, funtions and fixes, >> > > > rebase on current amd-staging-drm-next >> > > > >> > > > >> > > > Commits [01/27]..[08/27] SI support added in various DC components >> > > > >> > > > [PATCH v3 01/27] drm/amdgpu: add some required DCE6 registers (v6) >> > > > [PATCH v3 02/27] drm/amd/display: add asics info for SI parts >> > > > [PATCH v3 03/27] drm/amd/display: dc/dce: add initial DCE6 support (v9b) >> > > > [PATCH v3 04/27] drm/amd/display: dc/core: add SI/DCE6 support (v2) >> > > > [PATCH v3 05/27] drm/amd/display: dc/bios: add support for DCE6 >> > > > [PATCH v3 06/27] drm/amd/display: dc/gpio: add support for DCE6 (v2) >> > > > [PATCH v3 07/27] drm/amd/display: dc/irq: add support for DCE6 (v4) >> > > > [PATCH v3 08/27] drm/amd/display: amdgpu_dm: add SI support (v4) >> > > > >> > > > Commits [09/27]..[24/27] DCE6 specific code adaptions >> > > > >> > > > [PATCH v3 09/27] drm/amd/display: dc/clk_mgr: add support for SI parts (v2) >> > > > [PATCH v3 10/27] drm/amd/display: dc/dce60: set max_cursor_size to 64 >> > > > [PATCH v3 11/27] drm/amd/display: dce_audio: add DCE6 specific macros,functions >> > > > [PATCH v3 12/27] drm/amd/display: dce_dmcu: add DCE6 specific macros >> > > > [PATCH v3 13/27] drm/amd/display: dce_hwseq: add DCE6 specific macros,functions >> > > > [PATCH v3 14/27] drm/amd/display: dce_ipp: add DCE6 specific macros,functions >> > > > [PATCH v3 15/27] drm/amd/display: dce_link_encoder: add DCE6 specific macros,functions >> > > > [PATCH v3 16/27] drm/amd/display: dce_mem_input: add DCE6 specific macros,functions >> > > > [PATCH v3 17/27] drm/amd/display: dce_opp: add DCE6 specific macros,functions >> > > > [PATCH v3 18/27] drm/amd/display: dce_transform: add DCE6 specific macros,functions >> > > > [PATCH v3 19/27] drm/amdgpu: add some required DCE6 registers (v7) >> > > > [PATCH v3 20/27] drm/amd/display: dce_transform: DCE6 Scaling Horizontal Filter Init >> > > > [PATCH v3 21/27] drm/amd/display: dce60_hw_sequencer: add DCE6 macros,functions >> > > > [PATCH v3 22/27] drm/amd/display: dce60_hw_sequencer: add DCE6 specific .cursor_lock >> > > > [PATCH v3 23/27] drm/amd/display: dce60_timing_generator: add DCE6 specific functions >> > > > [PATCH v3 24/27] drm/amd/display: dc/dce60: use DCE6 headers (v6) >> > > > >> > > > >> > > > Commits [25/27]..[27/27] SI support final enablements >> > > > >> > > > [PATCH v3 25/27] drm/amd/display: create plane rotation property for Bonarie and later >> > > > [PATCH v3 26/27] drm/amdgpu: enable DC support for SI parts (v2) >> > > > [PATCH v3 27/27] drm/amd/display: enable SI support in the Kconfig (v2) >> > > > >> > > > >> > > > Signed-off-by: Mauro Rossi <issor.oruam@xxxxxxxxx> >> > > > >> > > > _______________________________________________ >> > > > amd-gfx mailing list >> > > > amd-gfx@xxxxxxxxxxxxxxxxxxxxx >> > > > https://lists.freedesktop.org/mailman/listinfo/amd-gfx >> > > >> > _______________________________________________ >> > amd-gfx mailing list >> > amd-gfx@xxxxxxxxxxxxxxxxxxxxx >> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
From 782fea4387d22686856c87b8ac0491a43a4d944c Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu, 23 Jul 2020 21:05:41 -0400 Subject: [PATCH 2/3] drm/amdgpu/display: addming return type for dce60_program_front_end_for_pipe Probably a copy/paste typo. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> --- drivers/gpu/drm/amd/display/dc/dce60/dce60_hw_sequencer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_hw_sequencer.c index 66e5a1ba2a58..920c7ae29d53 100644 --- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_hw_sequencer.c @@ -266,7 +266,7 @@ static void dce60_program_scaler(const struct dc *dc, &pipe_ctx->plane_res.scl_data); } - +static void dce60_program_front_end_for_pipe( struct dc *dc, struct pipe_ctx *pipe_ctx) { -- 2.25.4
From 2b18098918717d9ee4c69a47be3527d1cc812b7f Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri, 24 Jul 2020 11:41:31 -0400 Subject: [PATCH 3/3] drm/amdgpu/display: Fix up PLL handling for DCE6 DCE6.0 supports 2 PLLs. DCE6.1 supports 3 PLLs. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> --- drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c index 261333afc936..5a5a9cb77acb 100644 --- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c @@ -379,7 +379,7 @@ static const struct resource_caps res_cap_61 = { .num_timing_generator = 4, .num_audio = 6, .num_stream_encoder = 6, - .num_pll = 2, + .num_pll = 3, .num_ddc = 6, }; @@ -983,9 +983,7 @@ static bool dce60_construct( dce60_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_PLL0, &clk_src_regs[0], false); pool->base.clock_sources[1] = dce60_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_PLL1, &clk_src_regs[1], false); - pool->base.clock_sources[2] = - dce60_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_PLL2, &clk_src_regs[2], false); - pool->base.clk_src_count = 3; + pool->base.clk_src_count = 2; } else { pool->base.dp_clock_source = @@ -993,9 +991,7 @@ static bool dce60_construct( pool->base.clock_sources[0] = dce60_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_PLL1, &clk_src_regs[1], false); - pool->base.clock_sources[1] = - dce60_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_PLL2, &clk_src_regs[2], false); - pool->base.clk_src_count = 2; + pool->base.clk_src_count = 1; } if (pool->base.dp_clock_source == NULL) { -- 2.25.4
From 2ced8e528937051e4d8536718c6dc776e0b46314 Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu, 23 Jul 2020 21:02:14 -0400 Subject: [PATCH 1/3] drm/amdgpu/display: remove unused variable in dce60_configure_crc Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> --- drivers/gpu/drm/amd/display/dc/dce60/dce60_timing_generator.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dce60/dce60_timing_generator.c b/drivers/gpu/drm/amd/display/dc/dce60/dce60_timing_generator.c index 4a5b7a0940c6..fc1af0ff0ca4 100644 --- a/drivers/gpu/drm/amd/display/dc/dce60/dce60_timing_generator.c +++ b/drivers/gpu/drm/amd/display/dc/dce60/dce60_timing_generator.c @@ -192,8 +192,6 @@ static bool dce60_is_tg_enabled(struct timing_generator *tg) bool dce60_configure_crc(struct timing_generator *tg, const struct crc_params *params) { - struct dce110_timing_generator *tg110 = DCE110TG_FROM_TG(tg); - /* Cannot configure crc on a CRTC that is disabled */ if (!dce60_is_tg_enabled(tg)) return false; -- 2.25.4
_______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx