]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
chid: Setup EDID CHIDs
authoranonymix007 <48598263+anonymix007@users.noreply.github.com>
Mon, 24 Mar 2025 13:53:49 +0000 (16:53 +0300)
committeranonymix007 <48598263+anonymix007@users.noreply.github.com>
Wed, 7 May 2025 15:52:49 +0000 (18:52 +0300)
src/boot/chid.c

index 69e68e7d019173d0ca72476257ba738db07e5455..24739e956cc9d2fb112e9c4239cd932d36913b4a 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "chid.h"
 #include "chid-fundamental.h"
+#include "edid.h"
 #include "efi.h"
 #include "sha1-fundamental.h"
 #include "smbios.h"
@@ -72,6 +73,8 @@ static void smbios_info_populate(SmbiosInfo *ret_info) {
         ret_info->smbios_fields[CHID_SMBIOS_FAMILY] = smbios_to_hashable_string(raw.family);
         ret_info->smbios_fields[CHID_SMBIOS_BASEBOARD_PRODUCT] = smbios_to_hashable_string(raw.baseboard_product);
         ret_info->smbios_fields[CHID_SMBIOS_BASEBOARD_MANUFACTURER] = smbios_to_hashable_string(raw.baseboard_manufacturer);
+
+        edid_get_discovered_panel_id(&ret_info->smbios_fields[CHID_EDID_PANEL]);
 }
 
 static void smbios_info_done(SmbiosInfo *info) {
@@ -100,7 +103,7 @@ EFI_STATUS chid_match(const void *hwid_buffer, size_t hwid_length, uint32_t matc
         const Device *devices = ASSERT_PTR(hwid_buffer);
 
         EFI_GUID chids[CHID_TYPES_MAX] = {};
-        static const size_t priority[] = { 3, 6, 8, 10, 4, 5, 7, 9, 11 }; /* From most to least specific. */
+        static const size_t priority[] = { 17, 16, 15, 3, 6, 8, 10, 4, 5, 7, 9, 11 }; /* From most to least specific. */
 
         status = populate_board_chids(chids);
         if (EFI_STATUS_IS_ERROR(status))