From b34a991a2bf5b9bf0b8abcae7d0f8593fd59e909 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Wed, 13 May 2015 15:34:04 +0300 Subject: [PATCH] drm/i915/bios: abstract finding VBT in BIOS to a separate function Improve clarity. No functional changes. Signed-off-by: Jani Nikula Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_bios.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index d39c41cf45a7..6e018ba53035 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c @@ -1235,6 +1235,22 @@ static const struct bdb_header *validate_vbt(const void *base, size_t size, return bdb; } +static const struct bdb_header *find_vbt(void *bios, size_t size) +{ + const struct bdb_header *bdb = NULL; + size_t i; + + /* Scour memory looking for the VBT signature. */ + for (i = 0; i + 4 < size; i++) { + if (memcmp(bios + i, "$VBT", 4) == 0) { + bdb = validate_vbt(bios, size, bios + i, "PCI ROM"); + break; + } + } + + return bdb; +} + /** * intel_parse_bios - find VBT and initialize settings from the BIOS * @dev: DRM device @@ -1263,22 +1279,13 @@ intel_parse_bios(struct drm_device *dev) dev_priv->opregion.vbt, "OpRegion"); if (bdb == NULL) { - size_t i, size; + size_t size; bios = pci_map_rom(pdev, &size); if (!bios) return -1; - /* Scour memory looking for the VBT signature */ - for (i = 0; i + 4 < size; i++) { - if (memcmp(bios + i, "$VBT", 4) == 0) { - bdb = validate_vbt(bios, size, - bios + i, - "PCI ROM"); - break; - } - } - + bdb = find_vbt(bios, size); if (!bdb) { pci_unmap_rom(pdev, bios); return -1; -- 2.20.1