From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 10/11] drm/i915/dp: Simplify intel_dp_max_data_rate()
Date: Fri, 17 Nov 2023 19:10:50 +0200 [thread overview]
Message-ID: <ZVeemgslQIdZnsvT@intel.com> (raw)
In-Reply-To: <20231116131841.1588781-11-imre.deak@intel.com>
On Thu, Nov 16, 2023 at 03:18:40PM +0200, Imre Deak wrote:
> Simplify intel_dp_max_data_rate() using
> drm_dp_bw_channel_coding_efficiency() to calculate the max data rate for
> both DP1.4 and UHBR link rates. This trades a redundant multiply/divide
> for readability.
>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 26 ++++++++++++-------------
> 1 file changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 209c27167e057..a93e8f6429d85 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -405,29 +405,27 @@ int intel_dp_effective_data_rate(int pixel_clock, int bpp_x16,
> int
> intel_dp_max_data_rate(int max_link_rate, int max_lanes)
> {
> - if (max_link_rate >= 1000000) {
> - /*
> - * UHBR rates always use 128b/132b channel encoding, and have
> - * 97.71% data bandwidth efficiency. Consider max_link_rate the
> - * link bit rate in units of 10000 bps.
> - */
> - int max_link_rate_kbps = max_link_rate * 10;
> -
> - max_link_rate_kbps = DIV_ROUND_DOWN_ULL(mul_u32_u32(max_link_rate_kbps, 9671), 10000);
> - max_link_rate = max_link_rate_kbps / 8;
> - }
> + int ch_coding_efficiency =
> + drm_dp_bw_channel_coding_efficiency(drm_dp_is_uhbr_rate(max_link_rate));
> + int max_link_rate_kbps = max_link_rate * 10;
>
> + /*
> + * UHBR rates always use 128b/132b channel encoding, and have
> + * 97.71% data bandwidth efficiency. Consider max_link_rate the
> + * link bit rate in units of 10000 bps.
> + */
> /*
> * Lower than UHBR rates always use 8b/10b channel encoding, and have
> * 80% data bandwidth efficiency for SST non-FEC. However, this turns
> - * out to be a nop by coincidence, and can be skipped:
> + * out to be a nop by coincidence:
> *
> * int max_link_rate_kbps = max_link_rate * 10;
> * max_link_rate_kbps = DIV_ROUND_DOWN_ULL(max_link_rate_kbps * 8, 10);
> * max_link_rate = max_link_rate_kbps / 8;
> */
> -
> - return max_link_rate * max_lanes;
> + return DIV_ROUND_DOWN_ULL(mul_u32_u32(max_link_rate_kbps * max_lanes,
> + ch_coding_efficiency),
> + 1000000 * 8);
> }
>
> bool intel_dp_can_bigjoiner(struct intel_dp *intel_dp)
> --
> 2.39.2
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2023-11-17 17:13 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-16 13:18 [Intel-gfx] [PATCH v2 00/11] drm/i915: Fix UHBR data, link M/N/TU and PBN values Imre Deak
2023-11-16 13:18 ` [PATCH v2 01/11] drm/dp_mst: Store the MST PBN divider value in fixed point format Imre Deak
2023-11-16 13:18 ` Imre Deak
2023-11-16 13:18 ` [Intel-gfx] " Imre Deak
2023-11-17 10:56 ` Ville Syrjälä
2023-11-17 10:56 ` [Intel-gfx] " Ville Syrjälä
2023-11-17 14:11 ` Imre Deak
2023-11-17 14:11 ` [Intel-gfx] " Imre Deak
2023-11-21 13:54 ` Imre Deak
2023-11-21 13:54 ` [Intel-gfx] " Imre Deak
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 02/11] drm/dp_mst: Fix PBN divider calculation for UHBR rates Imre Deak
2023-11-16 13:18 ` Imre Deak
2023-11-17 11:00 ` [Intel-gfx] " Ville Syrjälä
2023-11-17 13:58 ` Imre Deak
2023-11-17 15:09 ` [Intel-gfx] [PATCH v3 " Imre Deak
2023-11-17 15:09 ` Imre Deak
2023-11-17 16:21 ` [Intel-gfx] " Ville Syrjälä
2023-11-17 16:21 ` Ville Syrjälä
2023-11-17 19:40 ` [Intel-gfx] " Rodrigo Vivi
2023-11-21 13:39 ` Maarten Lankhorst
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 03/11] drm/dp_mst: Add kunit tests for drm_dp_get_vc_payload_bw() Imre Deak
2023-11-16 13:18 ` Imre Deak
2023-11-17 11:04 ` [Intel-gfx] " Ville Syrjälä
2023-11-17 14:35 ` Imre Deak
2023-11-17 15:09 ` [Intel-gfx] [PATCH v3 " Imre Deak
2023-11-17 15:09 ` Imre Deak
2023-11-17 15:27 ` [Intel-gfx] [PATCH v4 " Imre Deak
2023-11-17 15:27 ` Imre Deak
2023-11-17 16:18 ` [Intel-gfx] " Ville Syrjälä
2023-11-17 16:18 ` Ville Syrjälä
2023-11-20 12:52 ` [Intel-gfx] [PATCH v5 " Imre Deak
2023-11-20 12:52 ` Imre Deak
2023-11-18 23:41 ` [Intel-gfx] [PATCH v2 " kernel test robot
2023-11-18 23:41 ` kernel test robot
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 04/11] drm/i915/dp: Replace intel_dp_is_uhbr_rate() with drm_dp_is_uhbr_rate() Imre Deak
2023-11-17 3:21 ` Murthy, Arun R
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 05/11] drm/i915/dp: Account for channel coding efficiency on UHBR links Imre Deak
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 06/11] drm/i915/dp: Fix UHBR link M/N values Imre Deak
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 07/11] drm/i915/dp_mst: Calculate the BW overhead in intel_dp_mst_find_vcpi_slots_for_bpp() Imre Deak
2023-11-17 9:18 ` Murthy, Arun R
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 08/11] drm/i915/dp_mst: Fix PBN / MTP_TU size calculation for UHBR rates Imre Deak
2023-11-17 15:09 ` [Intel-gfx] [PATCH v3 " Imre Deak
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 09/11] drm/i915/dp: Report a rounded-down value as the maximum data rate Imre Deak
2023-11-17 11:43 ` Lisovskiy, Stanislav
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 10/11] drm/i915/dp: Simplify intel_dp_max_data_rate() Imre Deak
2023-11-17 17:10 ` Ville Syrjälä [this message]
2023-11-16 13:18 ` [Intel-gfx] [PATCH v2 11/11] drm/i915/dp: Reuse intel_dp_{max, effective}_data_rate in intel_link_compute_m_n() Imre Deak
2023-11-17 17:11 ` Ville Syrjälä
2023-11-16 16:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Fix UHBR data, link M/N/TU and PBN values Patchwork
2023-11-16 16:55 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-11-16 17:09 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-11-17 14:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-11-17 20:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Fix UHBR data, link M/N/TU and PBN values (rev5) Patchwork
2023-11-17 20:23 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-11-17 20:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-11-18 17:09 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-11-20 12:31 ` [Intel-gfx] [PATCH v2 00/11] drm/i915: Fix UHBR data, link M/N/TU and PBN values Jani Nikula
2023-11-20 12:31 ` [PATCH v2 00/11] drm/i915: Fix UHBR data,link " Jani Nikula
2023-11-20 13:10 ` [Intel-gfx] [PATCH v2 00/11] drm/i915: Fix UHBR data, link " Imre Deak
2023-11-20 13:10 ` [PATCH v2 00/11] drm/i915: Fix UHBR data,link " Imre Deak
2023-11-20 13:36 ` [Intel-gfx] [PATCH v2 00/11] drm/i915: Fix UHBR data, link " Jani Nikula
2023-11-20 13:36 ` [PATCH v2 00/11] drm/i915: Fix UHBR data,link " Jani Nikula
2023-11-21 2:23 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Fix UHBR data, link M/N/TU and PBN values (rev6) Patchwork
2023-11-21 2:23 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-11-21 2:37 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-11-21 20:54 ` Imre Deak
2023-11-21 20:54 ` [Intel-gfx] " Imre Deak
2023-11-21 22:42 ` [Intel-gfx] [PATCH v2 00/11] drm/i915: Fix UHBR data, link M/N/TU and PBN values Lyude Paul
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=ZVeemgslQIdZnsvT@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.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.