All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ernst Sjöstrand" <ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Nicholas Kazlauskas <nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
Cc: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>,
	Harry Wentland <harry.wentland-5C7GfCeVMHo@public.gmane.org>,
	amd-gfx mailing list
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 1/2] drm/amd/display: Embed DCN2 SOC bounding box
Date: Tue, 30 Jul 2019 16:21:09 +0200	[thread overview]
Message-ID: <CAD=4a=V=kPoLaL-mEQkYnymH25sBVWfUfn9oCoNLS5g4Rza3Ow@mail.gmail.com> (raw)
In-Reply-To: <20190730135733.14563-1-nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>

Isn't NV10 a family of chips in Nouveau?

Regards
//Ernst

Den tis 30 juli 2019 kl 15:57 skrev Nicholas Kazlauskas
<nicholas.kazlauskas@amd.com>:
>
> [Why]
> In order to support uclk switching on NV10 the SOC bounding box
> needs to be updated.
>
> [How]
> We currently read the constants from the gpu info FW, but supporting
> workarounds in DC for different versions of the FW adds additional
> complexity to the codebase.
>
> NV10 has been released so it's cleanest to keep the bounding box and
> source code in sync by embedding the bounding box like we do for
> other ASICs.
>
> Fixes: 02316e963a5a ("drm/amd/display: Force uclk to max for every state")
>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
> ---
>  .../drm/amd/display/dc/dcn20/dcn20_resource.c | 114 +++++++++++++++++-
>  1 file changed, 112 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> index 44537651f0a1..ff30f5cc4981 100644
> --- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
> @@ -80,7 +80,7 @@
>
>  #include "amdgpu_socbb.h"
>
> -#define SOC_BOUNDING_BOX_VALID false
> +#define SOC_BOUNDING_BOX_VALID true
>  #define DC_LOGGER_INIT(logger)
>
>  struct _vcs_dpi_ip_params_st dcn2_0_ip = {
> @@ -154,7 +154,117 @@ struct _vcs_dpi_ip_params_st dcn2_0_ip = {
>         .xfc_fill_constant_bytes = 0,
>  };
>
> -struct _vcs_dpi_soc_bounding_box_st dcn2_0_soc = { 0 };
> +struct _vcs_dpi_soc_bounding_box_st dcn2_0_soc = {
> +       /* Defaults that get patched on driver load from firmware. */
> +       .clock_limits = {
> +                       {
> +                               .state = 0,
> +                               .dcfclk_mhz = 560.0,
> +                               .fabricclk_mhz = 560.0,
> +                               .dispclk_mhz = 513.0,
> +                               .dppclk_mhz = 513.0,
> +                               .phyclk_mhz = 540.0,
> +                               .socclk_mhz = 560.0,
> +                               .dscclk_mhz = 171.0,
> +                               .dram_speed_mts = 8960.0,
> +                       },
> +                       {
> +                               .state = 1,
> +                               .dcfclk_mhz = 694.0,
> +                               .fabricclk_mhz = 694.0,
> +                               .dispclk_mhz = 642.0,
> +                               .dppclk_mhz = 642.0,
> +                               .phyclk_mhz = 600.0,
> +                               .socclk_mhz = 694.0,
> +                               .dscclk_mhz = 214.0,
> +                               .dram_speed_mts = 11104.0,
> +                       },
> +                       {
> +                               .state = 2,
> +                               .dcfclk_mhz = 875.0,
> +                               .fabricclk_mhz = 875.0,
> +                               .dispclk_mhz = 734.0,
> +                               .dppclk_mhz = 734.0,
> +                               .phyclk_mhz = 810.0,
> +                               .socclk_mhz = 875.0,
> +                               .dscclk_mhz = 245.0,
> +                               .dram_speed_mts = 14000.0,
> +                       },
> +                       {
> +                               .state = 3,
> +                               .dcfclk_mhz = 1000.0,
> +                               .fabricclk_mhz = 1000.0,
> +                               .dispclk_mhz = 1100.0,
> +                               .dppclk_mhz = 1100.0,
> +                               .phyclk_mhz = 810.0,
> +                               .socclk_mhz = 1000.0,
> +                               .dscclk_mhz = 367.0,
> +                               .dram_speed_mts = 16000.0,
> +                       },
> +                       {
> +                               .state = 4,
> +                               .dcfclk_mhz = 1200.0,
> +                               .fabricclk_mhz = 1200.0,
> +                               .dispclk_mhz = 1284.0,
> +                               .dppclk_mhz = 1284.0,
> +                               .phyclk_mhz = 810.0,
> +                               .socclk_mhz = 1200.0,
> +                               .dscclk_mhz = 428.0,
> +                               .dram_speed_mts = 16000.0,
> +                       },
> +                       /*Extra state, no dispclk ramping*/
> +                       {
> +                               .state = 5,
> +                               .dcfclk_mhz = 1200.0,
> +                               .fabricclk_mhz = 1200.0,
> +                               .dispclk_mhz = 1284.0,
> +                               .dppclk_mhz = 1284.0,
> +                               .phyclk_mhz = 810.0,
> +                               .socclk_mhz = 1200.0,
> +                               .dscclk_mhz = 428.0,
> +                               .dram_speed_mts = 16000.0,
> +                       },
> +               },
> +       .num_states = 5,
> +       .sr_exit_time_us = 8.6,
> +       .sr_enter_plus_exit_time_us = 10.9,
> +       .urgent_latency_us = 4.0,
> +       .urgent_latency_pixel_data_only_us = 4.0,
> +       .urgent_latency_pixel_mixed_with_vm_data_us = 4.0,
> +       .urgent_latency_vm_data_only_us = 4.0,
> +       .urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096,
> +       .urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096,
> +       .urgent_out_of_order_return_per_channel_vm_only_bytes = 4096,
> +       .pct_ideal_dram_sdp_bw_after_urgent_pixel_only = 40.0,
> +       .pct_ideal_dram_sdp_bw_after_urgent_pixel_and_vm = 40.0,
> +       .pct_ideal_dram_sdp_bw_after_urgent_vm_only = 40.0,
> +       .max_avg_sdp_bw_use_normal_percent = 40.0,
> +       .max_avg_dram_bw_use_normal_percent = 40.0,
> +       .writeback_latency_us = 12.0,
> +       .ideal_dram_bw_after_urgent_percent = 40.0,
> +       .max_request_size_bytes = 256,
> +       .dram_channel_width_bytes = 2,
> +       .fabric_datapath_to_dcn_data_return_bytes = 64,
> +       .dcn_downspread_percent = 0.5,
> +       .downspread_percent = 0.38,
> +       .dram_page_open_time_ns = 50.0,
> +       .dram_rw_turnaround_time_ns = 17.5,
> +       .dram_return_buffer_per_channel_bytes = 8192,
> +       .round_trip_ping_latency_dcfclk_cycles = 131,
> +       .urgent_out_of_order_return_per_channel_bytes = 256,
> +       .channel_interleave_bytes = 256,
> +       .num_banks = 8,
> +       .num_chans = 16,
> +       .vmm_page_size_bytes = 4096,
> +       .dram_clock_change_latency_us = 404.0,
> +       .dummy_pstate_latency_us = 5.0,
> +       .writeback_dram_clock_change_latency_us = 23.0,
> +       .return_bus_width_bytes = 64,
> +       .dispclk_dppclk_vco_speed_mhz = 3850,
> +       .xfc_bus_transport_time_us = 20,
> +       .xfc_xbuf_latency_tolerance_us = 4,
> +       .use_urgent_burst_bw = 0
> +};
>
>
>  #ifndef mmDP0_DP_DPHY_INTERNAL_CTRL
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

      parent reply	other threads:[~2019-07-30 14:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 13:57 [PATCH 1/2] drm/amd/display: Embed DCN2 SOC bounding box Nicholas Kazlauskas
     [not found] ` <20190730135733.14563-1-nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
2019-07-30 13:57   ` [PATCH 2/2] drm/amd/display: Support uclk switching for DCN2 Nicholas Kazlauskas
     [not found]     ` <20190730135733.14563-2-nicholas.kazlauskas-5C7GfCeVMHo@public.gmane.org>
2019-07-30 14:00       ` Alex Deucher
2019-07-30 14:18       ` Harry Wentland
2019-07-30 14:21   ` Ernst Sjöstrand [this message]

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='CAD=4a=V=kPoLaL-mEQkYnymH25sBVWfUfn9oCoNLS5g4Rza3Ow@mail.gmail.com' \
    --to=ernstp-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=harry.wentland-5C7GfCeVMHo@public.gmane.org \
    --cc=nicholas.kazlauskas-5C7GfCeVMHo@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.