All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: [PATCH 3/3] drm/i915/bios: abstract child device expected size
Date: Wed, 31 Jan 2024 20:48:41 +0200	[thread overview]
Message-ID: <20240131184841.872487-3-jani.nikula@intel.com> (raw)
In-Reply-To: <20240131184841.872487-1-jani.nikula@intel.com>

Add a function to return the expected child device size. Flip the if
ladder around and use the same versions as in documentation to make it
easier to verify. Return an error for unknown versions. No functional
changes.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 37 ++++++++++++++---------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 9a51ab0d244e..25dde432212d 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2695,25 +2695,32 @@ static void parse_ddi_ports(struct drm_i915_private *i915)
 		print_ddi_port(devdata);
 }
 
+static int child_device_expected_size(u16 version)
+{
+	if (version > 256)
+		return -ENOENT;
+	else if (version >= 256)
+		return 40;
+	else if (version >= 216)
+		return 39;
+	else if (version >= 196)
+		return 38;
+	else if (version >= 195)
+		return 37;
+	else if (version >= 111)
+		return LEGACY_CHILD_DEVICE_CONFIG_SIZE;
+	else if (version >= 106)
+		return 27;
+	else
+		return 22;
+}
+
 static bool child_device_size_valid(struct drm_i915_private *i915, int size)
 {
 	int expected_size;
 
-	if (i915->display.vbt.version < 106) {
-		expected_size = 22;
-	} else if (i915->display.vbt.version < 111) {
-		expected_size = 27;
-	} else if (i915->display.vbt.version < 195) {
-		expected_size = LEGACY_CHILD_DEVICE_CONFIG_SIZE;
-	} else if (i915->display.vbt.version == 195) {
-		expected_size = 37;
-	} else if (i915->display.vbt.version <= 215) {
-		expected_size = 38;
-	} else if (i915->display.vbt.version <= 255) {
-		expected_size = 39;
-	} else if (i915->display.vbt.version <= 256) {
-		expected_size = 40;
-	} else {
+	expected_size = child_device_expected_size(i915->display.vbt.version);
+	if (expected_size < 0) {
 		expected_size = sizeof(struct child_device_config);
 		BUILD_BUG_ON(sizeof(struct child_device_config) < 39);
 		drm_dbg(&i915->drm,
-- 
2.39.2


  parent reply	other threads:[~2024-01-31 18:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-31 18:48 [PATCH 1/3] drm/i915/bios: bump expected child device size Jani Nikula
2024-01-31 18:48 ` [PATCH 2/3] drm/i915/bios: abstract child device size check Jani Nikula
2024-01-31 18:48 ` Jani Nikula [this message]
2024-02-01 18:42 ` ✗ Fi.CI.SPARSE: warning for series starting with [1/3] drm/i915/bios: bump expected child device size Patchwork
2024-02-02  8:50 ` ✗ Fi.CI.SPARSE: warning for series starting with [1/3] drm/i915/bios: bump expected child device size (rev2) Patchwork
2024-02-02  8:54 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-02-12 16:44 ` [PATCH 1/3] drm/i915/bios: bump expected child device size Matt Roper
2024-02-23 23:21 ` ✗ Fi.CI.SPARSE: warning for series starting with [1/3] drm/i915/bios: bump expected child device size (rev3) Patchwork
2024-02-23 23:26 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-24 16:04 ` ✓ Fi.CI.IGT: " Patchwork

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=20240131184841.872487-3-jani.nikula@intel.com \
    --to=jani.nikula@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.