diff --git a/Kernel/Graphics/Intel/Definitions.h b/Kernel/Graphics/Intel/Definitions.h index 699a8d2231..2e3116cb47 100644 --- a/Kernel/Graphics/Intel/Definitions.h +++ b/Kernel/Graphics/Intel/Definitions.h @@ -10,6 +10,11 @@ namespace Kernel::IntelGraphics { +enum class Generation { + Gen4, + Gen9, +}; + struct PLLSettings; struct PLLParameterLimit { diff --git a/Kernel/Graphics/Intel/DisplayConnectorGroup.cpp b/Kernel/Graphics/Intel/DisplayConnectorGroup.cpp index 3106dc68fb..bc8f7b7b16 100644 --- a/Kernel/Graphics/Intel/DisplayConnectorGroup.cpp +++ b/Kernel/Graphics/Intel/DisplayConnectorGroup.cpp @@ -122,7 +122,7 @@ Optional IntelDisplayConnectorGroup::create_pll_sett return {}; } -ErrorOr> IntelDisplayConnectorGroup::try_create(Badge, Generation generation, MMIORegion const& first_region, MMIORegion const& second_region) +ErrorOr> IntelDisplayConnectorGroup::try_create(Badge, IntelGraphics::Generation generation, MMIORegion const& first_region, MMIORegion const& second_region) { auto registers_region = TRY(MM.allocate_kernel_region(first_region.pci_bar_paddr, first_region.pci_bar_space_length, "Intel Native Graphics Registers"sv, Memory::Region::Access::ReadWrite)); // NOTE: 0x5100 is the offset of the start of the GMBus registers @@ -132,7 +132,7 @@ ErrorOr> IntelDisplayConnectorGrou return connector_group; } -IntelDisplayConnectorGroup::IntelDisplayConnectorGroup(Generation generation, NonnullOwnPtr gmbus_connector, NonnullOwnPtr registers_region, MMIORegion const& first_region, MMIORegion const& second_region) +IntelDisplayConnectorGroup::IntelDisplayConnectorGroup(IntelGraphics::Generation generation, NonnullOwnPtr gmbus_connector, NonnullOwnPtr registers_region, MMIORegion const& first_region, MMIORegion const& second_region) : m_mmio_first_region(first_region) , m_mmio_second_region(second_region) , m_assigned_mmio_registers_region(m_mmio_first_region) @@ -172,7 +172,7 @@ ErrorOr IntelDisplayConnectorGroup::initialize_connectors() // NOTE: Intel Graphics Generation 4 is pretty ancient beast, and we should not // assume we can find a VBT for it. Just initialize the (assumed) CRT connector and be done with it. - if (m_generation == Generation::Gen4) { + if (m_generation == IntelGraphics::Generation::Gen4) { TRY(initialize_gen4_connectors()); } else { VERIFY_NOT_REACHED(); @@ -232,7 +232,7 @@ ErrorOr IntelDisplayConnectorGroup::set_mode_setting(IntelNativeDisplayCon DisplayConnector::ModeSetting actual_mode_setting = mode_setting; actual_mode_setting.horizontal_stride = actual_mode_setting.horizontal_active * sizeof(u32); VERIFY(actual_mode_setting.horizontal_stride != 0); - if (m_generation == Generation::Gen4) { + if (m_generation == IntelGraphics::Generation::Gen4) { TRY(set_gen4_mode_setting(connector, actual_mode_setting)); } else { VERIFY_NOT_REACHED(); diff --git a/Kernel/Graphics/Intel/DisplayConnectorGroup.h b/Kernel/Graphics/Intel/DisplayConnectorGroup.h index db14ab4414..d9024454bc 100644 --- a/Kernel/Graphics/Intel/DisplayConnectorGroup.h +++ b/Kernel/Graphics/Intel/DisplayConnectorGroup.h @@ -25,9 +25,6 @@ class IntelDisplayConnectorGroup : public RefCounted friend class IntelNativeGraphicsAdapter; public: - enum class Generation { - Gen4, - }; struct MMIORegion { enum class BARAssigned { BAR0, @@ -47,13 +44,13 @@ private: }; public: - static ErrorOr> try_create(Badge, Generation, MMIORegion const&, MMIORegion const&); + static ErrorOr> try_create(Badge, IntelGraphics::Generation, MMIORegion const&, MMIORegion const&); ErrorOr set_safe_mode_setting(Badge, IntelNativeDisplayConnector&); ErrorOr set_mode_setting(Badge, IntelNativeDisplayConnector&, DisplayConnector::ModeSetting const&); private: - IntelDisplayConnectorGroup(Generation generation, NonnullOwnPtr, NonnullOwnPtr registers_region, MMIORegion const&, MMIORegion const&); + IntelDisplayConnectorGroup(IntelGraphics::Generation generation, NonnullOwnPtr, NonnullOwnPtr registers_region, MMIORegion const&, MMIORegion const&); ErrorOr set_mode_setting(IntelNativeDisplayConnector&, DisplayConnector::ModeSetting const&); @@ -95,7 +92,7 @@ private: const MMIORegion m_mmio_second_region; MMIORegion const& m_assigned_mmio_registers_region; - const Generation m_generation; + const IntelGraphics::Generation m_generation; NonnullOwnPtr m_registers_region; NonnullOwnPtr m_gmbus_connector; }; diff --git a/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp b/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp index 7252417033..eee9fab920 100644 --- a/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp +++ b/Kernel/Graphics/Intel/NativeGraphicsAdapter.cpp @@ -54,10 +54,9 @@ ErrorOr IntelNativeGraphicsAdapter::initialize_adapter() PCI::enable_io_space(device_identifier()); PCI::enable_memory_space(device_identifier()); - using Generation = IntelDisplayConnectorGroup::Generation; switch (device_identifier().hardware_id().device_id) { case 0x29c2: - m_connector_group = TRY(IntelDisplayConnectorGroup::try_create({}, Generation::Gen4, first_region, second_region)); + m_connector_group = TRY(IntelDisplayConnectorGroup::try_create({}, IntelGraphics::Generation::Gen4, first_region, second_region)); return {}; default: return Error::from_errno(ENODEV);