Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>,
	Jani Nikula <jani.nikula@intel.com>
Subject: [PATCH v3 5/6] drm/i915: Duplicate opregion vbt memory
Date: Wed, 28 Feb 2024 13:32:34 -0800	[thread overview]
Message-ID: <20240228213235.2495611-6-radhakrishna.sripada@intel.com> (raw)
In-Reply-To: <20240228213235.2495611-1-radhakrishna.sripada@intel.com>

In the case of vbt residing in opregion, we simply remap the region
into the kernel and pass the memory reference. Instead duplicate the
memory to handle a saner cleanup in intel_bios_init.

Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     | 6 ++++--
 drivers/gpu/drm/i915/display/intel_opregion.c | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index c283a5a07010..e5229c41dbf7 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -3144,8 +3144,10 @@ void intel_bios_init(struct drm_i915_private *i915)
 	oprom_vbt = firmware_get_vbt(i915, NULL);
 	vbt = oprom_vbt;
 
-	if (!vbt)
-		vbt = intel_opregion_get_vbt(i915, NULL);
+	if (!vbt) {
+		oprom_vbt = intel_opregion_get_vbt(i915, NULL);
+		vbt = oprom_vbt;
+	}
 
 	/*
 	 * If the OpRegion does not have VBT, look in SPI flash through MMIO or
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index 58dfecb617b0..68bd5101ec89 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -1151,7 +1151,7 @@ const void *intel_opregion_get_vbt(struct drm_i915_private *i915, size_t *size)
 	if (size)
 		*size = opregion->vbt_size;
 
-	return opregion->vbt;
+	return kmemdup(opregion->vbt, opregion->vbt_size, GFP_KERNEL);
 }
 
 bool intel_opregion_headless_sku(struct drm_i915_private *i915)
-- 
2.34.1


  parent reply	other threads:[~2024-02-28 21:34 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-28 21:32 [PATCH v3 0/6] VBT read cleanup Radhakrishna Sripada
2024-02-28 21:32 ` [PATCH v3 1/6] drm/i915: Pass size to oprom_get_vbt Radhakrishna Sripada
2024-02-28 21:32 ` [PATCH v3 2/6] drm/i915: Pass size to spi_oprom_get_vbt Radhakrishna Sripada
2024-02-28 21:32 ` [PATCH v3 3/6] drm/i915: Move vbt read from firmware to intel_bios.c Radhakrishna Sripada
2024-02-28 21:32 ` [PATCH v3 4/6] drm/i915: Extract opregion vbt presence check Radhakrishna Sripada
2024-03-12 11:05   ` Thomas Weißschuh
2024-03-12 12:01     ` Jani Nikula
2024-02-28 21:32 ` Radhakrishna Sripada [this message]
2024-02-28 21:32 ` [PATCH v3 6/6] drm/i915: Show bios vbt when read from firmware/spi/oprom Radhakrishna Sripada
2024-03-01  3:14   ` [PATCH v4] " Radhakrishna Sripada
2024-03-01 10:06     ` Jani Nikula
2024-03-01 22:12     ` [PATCH v5] " Radhakrishna Sripada
2024-03-04  9:59       ` Jani Nikula
2024-03-04 21:23       ` [PATCH v6] " Radhakrishna Sripada
2024-02-29  3:31 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup Patchwork
2024-02-29  3:41 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-29 15:10 ` [PATCH v3 0/6] " Jani Nikula
2024-03-01  0:39 ` ✗ Fi.CI.IGT: failure for " Patchwork
2024-03-01  4:00 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup (rev2) Patchwork
2024-03-01  4:14 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-01 22:49 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup (rev3) Patchwork
2024-03-01 23:08 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-02  0:21 ` ✓ Fi.CI.BAT: success for VBT read cleanup (rev4) Patchwork
2024-03-02  0:21 ` ✗ Fi.CI.SPARSE: warning " Patchwork
2024-03-02  1:31 ` ✗ Fi.CI.IGT: failure for VBT read cleanup (rev2) Patchwork
2024-03-02 17:42 ` ✗ Fi.CI.IGT: failure for VBT read cleanup (rev4) Patchwork
2024-03-05  4:40 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup (rev5) Patchwork
2024-03-05  4:58 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-05  7:37 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup (rev6) Patchwork
2024-03-05  7:54 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-08 13:37 ` ✗ Fi.CI.SPARSE: warning for VBT read cleanup (rev7) Patchwork
2024-03-08 13:53 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-09  3:00 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-03-11 10:44 ` [PATCH v3 0/6] VBT read cleanup Jani Nikula

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=20240228213235.2495611-6-radhakrishna.sripada@intel.com \
    --to=radhakrishna.sripada@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    /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