Commit f41c6153 authored by Jani Nikula's avatar Jani Nikula

drm/i915/bios: add an enum for BDB block IDs

Better grouping, better semantics for find_section(). No functional
changes.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/192cc8a45cb5c36ccbde25a725df135793a4263f.1559308269.git.jani.nikula@intel.com
parent b77f9525
...@@ -76,13 +76,13 @@ static u32 get_blocksize(const void *block_data) ...@@ -76,13 +76,13 @@ static u32 get_blocksize(const void *block_data)
} }
static const void * static const void *
find_section(const void *_bdb, int section_id) find_section(const void *_bdb, enum bdb_block_id section_id)
{ {
const struct bdb_header *bdb = _bdb; const struct bdb_header *bdb = _bdb;
const u8 *base = _bdb; const u8 *base = _bdb;
int index = 0; int index = 0;
u32 total, current_size; u32 total, current_size;
u8 current_id; enum bdb_block_id current_id;
/* skip to first section */ /* skip to first section */
index += bdb->header_size; index += bdb->header_size;
......
...@@ -80,41 +80,42 @@ struct bdb_header { ...@@ -80,41 +80,42 @@ struct bdb_header {
* an ID and size in the first 3 bytes (ID in first, size in next 2). * an ID and size in the first 3 bytes (ID in first, size in next 2).
* Known types are listed below. * Known types are listed below.
*/ */
#define BDB_GENERAL_FEATURES 1 enum bdb_block_id {
#define BDB_GENERAL_DEFINITIONS 2 BDB_GENERAL_FEATURES = 1,
#define BDB_OLD_TOGGLE_LIST 3 BDB_GENERAL_DEFINITIONS = 2,
#define BDB_MODE_SUPPORT_LIST 4 BDB_OLD_TOGGLE_LIST = 3,
#define BDB_GENERIC_MODE_TABLE 5 BDB_MODE_SUPPORT_LIST = 4,
#define BDB_EXT_MMIO_REGS 6 BDB_GENERIC_MODE_TABLE = 5,
#define BDB_SWF_IO 7 BDB_EXT_MMIO_REGS = 6,
#define BDB_SWF_MMIO 8 BDB_SWF_IO = 7,
#define BDB_PSR 9 BDB_SWF_MMIO = 8,
#define BDB_MODE_REMOVAL_TABLE 10 BDB_PSR = 9,
#define BDB_CHILD_DEVICE_TABLE 11 BDB_MODE_REMOVAL_TABLE = 10,
#define BDB_DRIVER_FEATURES 12 BDB_CHILD_DEVICE_TABLE = 11,
#define BDB_DRIVER_PERSISTENCE 13 BDB_DRIVER_FEATURES = 12,
#define BDB_EXT_TABLE_PTRS 14 BDB_DRIVER_PERSISTENCE = 13,
#define BDB_DOT_CLOCK_OVERRIDE 15 BDB_EXT_TABLE_PTRS = 14,
#define BDB_DISPLAY_SELECT 16 BDB_DOT_CLOCK_OVERRIDE = 15,
/* 17 rsvd */ BDB_DISPLAY_SELECT = 16,
#define BDB_DRIVER_ROTATION 18 BDB_DRIVER_ROTATION = 18,
#define BDB_DISPLAY_REMOVE 19 BDB_DISPLAY_REMOVE = 19,
#define BDB_OEM_CUSTOM 20 BDB_OEM_CUSTOM = 20,
#define BDB_EFP_LIST 21 /* workarounds for VGA hsync/vsync */ BDB_EFP_LIST = 21, /* workarounds for VGA hsync/vsync */
#define BDB_SDVO_LVDS_OPTIONS 22 BDB_SDVO_LVDS_OPTIONS = 22,
#define BDB_SDVO_PANEL_DTDS 23 BDB_SDVO_PANEL_DTDS = 23,
#define BDB_SDVO_LVDS_PNP_IDS 24 BDB_SDVO_LVDS_PNP_IDS = 24,
#define BDB_SDVO_LVDS_POWER_SEQ 25 BDB_SDVO_LVDS_POWER_SEQ = 25,
#define BDB_TV_OPTIONS 26 BDB_TV_OPTIONS = 26,
#define BDB_EDP 27 BDB_EDP = 27,
#define BDB_LVDS_OPTIONS 40 BDB_LVDS_OPTIONS = 40,
#define BDB_LVDS_LFP_DATA_PTRS 41 BDB_LVDS_LFP_DATA_PTRS = 41,
#define BDB_LVDS_LFP_DATA 42 BDB_LVDS_LFP_DATA = 42,
#define BDB_LVDS_BACKLIGHT 43 BDB_LVDS_BACKLIGHT = 43,
#define BDB_LVDS_POWER 44 BDB_LVDS_POWER = 44,
#define BDB_MIPI_CONFIG 52 BDB_MIPI_CONFIG = 52,
#define BDB_MIPI_SEQUENCE 53 BDB_MIPI_SEQUENCE = 53,
#define BDB_SKIP 254 /* VBIOS private block, ignore */ BDB_SKIP = 254, /* VBIOS private block, ignore */
};
/* /*
* Block 1 - General Bit Definitions * Block 1 - General Bit Definitions
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment