mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
drm/i915/bios: Extract vbt_signature[]
Replace the three hand rolled "$VBT"s with a vbt_signature[] to avoid accidents. v2: Include terminating '\0' for safety (Jani) Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240923152453.11230-6-ville.syrjala@linux.intel.com
This commit is contained in:
parent
4c997c6e43
commit
0667ca8002
|
|
@ -2964,6 +2964,9 @@ static const struct bdb_header *get_bdb_header(const struct vbt_header *vbt)
|
|||
return _vbt + vbt->bdb_offset;
|
||||
}
|
||||
|
||||
static const char vbt_signature[] = "$VBT";
|
||||
static const int vbt_signature_len = 4;
|
||||
|
||||
/**
|
||||
* intel_bios_is_valid_vbt - does the given buffer contain a valid VBT
|
||||
* @display: display device
|
||||
|
|
@ -2986,7 +2989,7 @@ bool intel_bios_is_valid_vbt(struct intel_display *display,
|
|||
return false;
|
||||
}
|
||||
|
||||
if (memcmp(vbt->signature, "$VBT", 4)) {
|
||||
if (memcmp(vbt->signature, vbt_signature, vbt_signature_len)) {
|
||||
drm_dbg_kms(display->drm, "VBT invalid signature\n");
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3082,9 +3085,12 @@ static struct vbt_header *spi_oprom_get_vbt(struct intel_display *display,
|
|||
oprom_offset = intel_uncore_read(&i915->uncore, OROM_OFFSET);
|
||||
oprom_offset &= OROM_OFFSET_MASK;
|
||||
|
||||
BUILD_BUG_ON(vbt_signature_len != sizeof(vbt_signature) - 1);
|
||||
BUILD_BUG_ON(vbt_signature_len != sizeof(u32));
|
||||
|
||||
for (count = 0; count < oprom_size; count += 4) {
|
||||
data = intel_spi_read32(&i915->uncore, oprom_offset + count);
|
||||
if (data == *((const u32 *)"$VBT")) {
|
||||
if (data == *((const u32 *)vbt_signature)) {
|
||||
found = oprom_offset + count;
|
||||
break;
|
||||
}
|
||||
|
|
@ -3144,9 +3150,12 @@ static struct vbt_header *oprom_get_vbt(struct intel_display *display,
|
|||
if (!oprom)
|
||||
return NULL;
|
||||
|
||||
BUILD_BUG_ON(vbt_signature_len != sizeof(vbt_signature) - 1);
|
||||
BUILD_BUG_ON(vbt_signature_len != sizeof(u32));
|
||||
|
||||
/* Scour memory looking for the VBT signature. */
|
||||
for (i = 0; i + 4 < size; i += 4) {
|
||||
if (ioread32(oprom + i) != *((const u32 *)"$VBT"))
|
||||
if (ioread32(oprom + i) != *((const u32 *)vbt_signature))
|
||||
continue;
|
||||
|
||||
p = oprom + i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user