]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/i915/bios: Define VBT blocks 6,7,8 (register tables) contents
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 3 May 2024 12:24:26 +0000 (15:24 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 May 2024 13:38:33 +0000 (16:38 +0300)
Define the contents for VBT blocks:
- Block 6 (Extended MMIO Register Table)
- Block 7 (IO Software Flag Table)
- Block 8 (MMIO SWF Register Table)

All of these use the same basic layout, with two known variants:
- data_access_size==0xce -> offset,value tuples are u8,u8
- data_access_size==0x02 -> offset,value tuples are u32,u32

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240503122449.27266-13-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_vbt_defs.h

index a38193d158e3adeeb3f27a7690d58a4618c5db2e..8aff4816f463169ed87dce8d605ba95ceb3b1cf9 100644 (file)
@@ -634,6 +634,22 @@ struct bdb_generic_mode_table_mgm {
        struct generic_mode_timings timings[3];
 } __packed;
 
+/*
+ * Block 6 - Extended MMIO Register Table, VBIOS only
+ * Block 7 - IO Software Flag Table, VBIOS only
+ * Block 8 - MMIO SWF Register Table, VBIOS only
+ */
+struct bdb_reg_table {
+       u16 table_id;
+       u8 data_access_size;
+       /*
+        * offset,value tuples:
+        * data_access_size==0xce -> u8,u8
+        * data_access_size==0x02 -> u32,u32
+        */
+       /* u16 table_end_marker; */
+} __packed;
+
 /*
  * Block 9 - SRD Feature Block
  */