Skip to content

Commit

Permalink
Kernel/GPU: Rename GenericGraphicsAdapter => GPUDevice
Browse files Browse the repository at this point in the history
GenericGraphicsAdapter is mouthful. Also, the idea is to move towards a
more advanced subsystem that handles GPUs, not merely graphics adapters.
  • Loading branch information
supercomputer7 authored and ADKaster committed May 14, 2024
1 parent 6014ce0 commit 69a3602
Show file tree
Hide file tree
Showing 14 changed files with 29 additions and 29 deletions.
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/3dfx/GraphicsAdapter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ UNMAP_AFTER_INIT ErrorOr<bool> VoodooGraphicsAdapter::probe(PCI::DeviceIdentifie
return id.vendor_id == PCI::VendorID::Tdfx && is_supported_model(id.device_id);
}

UNMAP_AFTER_INIT ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> VoodooGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
UNMAP_AFTER_INIT ErrorOr<NonnullLockRefPtr<GPUDevice>> VoodooGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
{
auto adapter = TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) VoodooGraphicsAdapter(pci_device_identifier)));
MUST(adapter->initialize_adapter(pci_device_identifier));
Expand Down
6 changes: 3 additions & 3 deletions Kernel/Devices/GPU/3dfx/GraphicsAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@
#include <AK/Types.h>
#include <Kernel/Bus/PCI/Device.h>
#include <Kernel/Devices/GPU/Console/GenericFramebufferConsole.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/GPUDevice.h>

namespace Kernel {

class VoodooGraphicsAdapter final : public GenericGraphicsAdapter
class VoodooGraphicsAdapter final : public GPUDevice
, public PCI::Device {

public:
static ErrorOr<bool> probe(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GPUDevice>> create(PCI::DeviceIdentifier const&);
virtual ~VoodooGraphicsAdapter() = default;
virtual StringView device_name() const override { return "VoodooGraphicsAdapter"sv; }

Expand Down
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/Bochs/GraphicsAdapter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ UNMAP_AFTER_INIT ErrorOr<bool> BochsGraphicsAdapter::probe(PCI::DeviceIdentifier
return false;
}

UNMAP_AFTER_INIT ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> BochsGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
UNMAP_AFTER_INIT ErrorOr<NonnullLockRefPtr<GPUDevice>> BochsGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
{
auto adapter = TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) BochsGraphicsAdapter(pci_device_identifier)));
MUST(adapter->initialize_adapter(pci_device_identifier));
Expand Down
6 changes: 3 additions & 3 deletions Kernel/Devices/GPU/Bochs/GraphicsAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include <Kernel/Bus/PCI/Device.h>
#include <Kernel/Devices/GPU/Bochs/Definitions.h>
#include <Kernel/Devices/GPU/Console/GenericFramebufferConsole.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/GPUDevice.h>
#include <Kernel/Memory/PhysicalAddress.h>
#include <Kernel/Memory/TypedMapping.h>

Expand All @@ -19,13 +19,13 @@ namespace Kernel {
class GraphicsManagement;
struct BochsDisplayMMIORegisters;

class BochsGraphicsAdapter final : public GenericGraphicsAdapter
class BochsGraphicsAdapter final : public GPUDevice
, public PCI::Device {
friend class GraphicsManagement;

public:
static ErrorOr<bool> probe(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GPUDevice>> create(PCI::DeviceIdentifier const&);
virtual ~BochsGraphicsAdapter() = default;
virtual StringView device_name() const override { return "BochsGraphicsAdapter"sv; }

Expand Down
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/Console/Console.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#include <AK/AtomicRefCounted.h>
#include <AK/Types.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/GPUDevice.h>

namespace Kernel::Graphics {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
#include <Kernel/Memory/PhysicalAddress.h>

namespace Kernel {
class GenericGraphicsAdapter
: public AtomicRefCounted<GenericGraphicsAdapter>
, public LockWeakable<GenericGraphicsAdapter> {
class GPUDevice
: public AtomicRefCounted<GPUDevice>
, public LockWeakable<GPUDevice> {
public:
virtual ~GenericGraphicsAdapter() = default;
virtual ~GPUDevice() = default;

protected:
GenericGraphicsAdapter() = default;
GPUDevice() = default;
};

}
4 changes: 2 additions & 2 deletions Kernel/Devices/GPU/Intel/NativeGraphicsAdapter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ ErrorOr<bool> IntelNativeGraphicsAdapter::probe(PCI::DeviceIdentifier const& pci
return is_supported_model(pci_device_identifier.hardware_id().device_id);
}

ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> IntelNativeGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
ErrorOr<NonnullLockRefPtr<GPUDevice>> IntelNativeGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
{
auto adapter = TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) IntelNativeGraphicsAdapter(pci_device_identifier)));
TRY(adapter->initialize_adapter());
Expand Down Expand Up @@ -67,7 +67,7 @@ ErrorOr<void> IntelNativeGraphicsAdapter::initialize_adapter()
}

IntelNativeGraphicsAdapter::IntelNativeGraphicsAdapter(PCI::DeviceIdentifier const& pci_device_identifier)
: GenericGraphicsAdapter()
: GPUDevice()
, PCI::Device(const_cast<PCI::DeviceIdentifier&>(pci_device_identifier))
{
}
Expand Down
4 changes: 2 additions & 2 deletions Kernel/Devices/GPU/Intel/NativeGraphicsAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
namespace Kernel {

class IntelNativeGraphicsAdapter final
: public GenericGraphicsAdapter
: public GPUDevice
, public PCI::Device {

public:
static ErrorOr<bool> probe(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GPUDevice>> create(PCI::DeviceIdentifier const&);

virtual ~IntelNativeGraphicsAdapter() = default;

Expand Down
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/Management.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ static inline bool is_display_controller_pci_device(PCI::DeviceIdentifier const&

struct PCIGraphicsDriverInitializer {
ErrorOr<bool> (*probe)(PCI::DeviceIdentifier const&) = nullptr;
ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> (*create)(PCI::DeviceIdentifier const&) = nullptr;
ErrorOr<NonnullLockRefPtr<GPUDevice>> (*create)(PCI::DeviceIdentifier const&) = nullptr;
};

static constexpr PCIGraphicsDriverInitializer s_initializers[] = {
Expand Down
4 changes: 2 additions & 2 deletions Kernel/Devices/GPU/Management.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
#include <Kernel/Bus/PCI/Definitions.h>
#include <Kernel/Devices/GPU/Console/Console.h>
#include <Kernel/Devices/GPU/DisplayConnector.h>
#include <Kernel/Devices/GPU/GPUDevice.h>
#include <Kernel/Devices/GPU/Generic/DisplayConnector.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/VirtIO/GraphicsAdapter.h>
#include <Kernel/Library/NonnullLockRefPtr.h>
#include <Kernel/Memory/Region.h>
Expand Down Expand Up @@ -53,7 +53,7 @@ class GraphicsManagement {

void initialize_preset_resolution_generic_display_connector();

Vector<NonnullLockRefPtr<GenericGraphicsAdapter>> m_graphics_devices;
Vector<NonnullLockRefPtr<GPUDevice>> m_graphics_devices;
LockRefPtr<Graphics::Console> m_console;

// Note: This is only used when booting with kernel commandline that includes "graphics_subsystem_mode=limited"
Expand Down
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/VMWare/GraphicsAdapter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ ErrorOr<bool> VMWareGraphicsAdapter::probe(PCI::DeviceIdentifier const& pci_devi
return id.vendor_id == PCI::VendorID::VMWare && id.device_id == 0x0405;
}

ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> VMWareGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
ErrorOr<NonnullLockRefPtr<GPUDevice>> VMWareGraphicsAdapter::create(PCI::DeviceIdentifier const& pci_device_identifier)
{
auto registers_io_window = TRY(IOWindow::create_for_pci_device_bar(pci_device_identifier, PCI::HeaderType0BaseRegister::BAR0));
auto adapter = TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) VMWareGraphicsAdapter(pci_device_identifier, move(registers_io_window))));
Expand Down
6 changes: 3 additions & 3 deletions Kernel/Devices/GPU/VMWare/GraphicsAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#include <AK/Types.h>
#include <Kernel/Bus/PCI/Device.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/GPUDevice.h>
#include <Kernel/Devices/GPU/VMWare/Definitions.h>
#include <Kernel/Library/IOWindow.h>
#include <Kernel/Locking/Spinlock.h>
Expand All @@ -21,13 +21,13 @@ class GraphicsManagement;

class VMWareDisplayConnector;
class VMWareGraphicsAdapter final
: public GenericGraphicsAdapter
: public GPUDevice
, public PCI::Device {
friend class GraphicsManagement;

public:
static ErrorOr<bool> probe(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GPUDevice>> create(PCI::DeviceIdentifier const&);
virtual ~VMWareGraphicsAdapter() = default;

virtual StringView device_name() const override { return "VMWareGraphicsAdapter"sv; }
Expand Down
2 changes: 1 addition & 1 deletion Kernel/Devices/GPU/VirtIO/GraphicsAdapter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ ErrorOr<bool> VirtIOGraphicsAdapter::probe(PCI::DeviceIdentifier const& device_i
return device_identifier.hardware_id().vendor_id == PCI::VendorID::VirtIO;
}

ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> VirtIOGraphicsAdapter::create(PCI::DeviceIdentifier const& device_identifier)
ErrorOr<NonnullLockRefPtr<GPUDevice>> VirtIOGraphicsAdapter::create(PCI::DeviceIdentifier const& device_identifier)
{
// Setup memory transfer region
auto scratch_space_region = TRY(MM.allocate_contiguous_kernel_region(
Expand Down
6 changes: 3 additions & 3 deletions Kernel/Devices/GPU/VirtIO/GraphicsAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include <AK/DistinctNumeric.h>
#include <Kernel/Bus/VirtIO/Device.h>
#include <Kernel/Bus/VirtIO/Queue.h>
#include <Kernel/Devices/GPU/GenericGraphicsAdapter.h>
#include <Kernel/Devices/GPU/GPUDevice.h>
#include <Kernel/Devices/GPU/VirtIO/Protocol.h>

namespace Kernel {
Expand All @@ -31,14 +31,14 @@ namespace Kernel {
class VirtIODisplayConnector;
class VirtIOGPU3DDevice;
class VirtIOGraphicsAdapter final
: public GenericGraphicsAdapter
: public GPUDevice
, public VirtIO::Device {
friend class VirtIODisplayConnector;
friend class VirtIOGPU3DDevice;

public:
static ErrorOr<bool> probe(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GenericGraphicsAdapter>> create(PCI::DeviceIdentifier const&);
static ErrorOr<NonnullLockRefPtr<GPUDevice>> create(PCI::DeviceIdentifier const&);

virtual ErrorOr<void> initialize_virtio_resources() override;

Expand Down

0 comments on commit 69a3602

Please sign in to comment.