feat: expand Intel GPU display management
This commit is contained in:
@@ -213,6 +213,12 @@ namespace montauk::abi {
|
||||
static constexpr uint64_t SYS_STAT = 152;
|
||||
static constexpr uint64_t SYS_SETUNIXTIME = 153;
|
||||
|
||||
// Display/modesetting control
|
||||
static constexpr uint64_t SYS_DISPLAYINFO = 154;
|
||||
static constexpr uint64_t SYS_DISPLAYMODES = 155;
|
||||
static constexpr uint64_t SYS_DISPLAYSETMODE = 156;
|
||||
static constexpr uint64_t SYS_DISPLAYBRIGHTNESS = 157;
|
||||
|
||||
// Tunable parameters (for SYS_SDR_SETPARAM / SYS_SDR_GETPARAM).
|
||||
static constexpr int SDR_PARAM_FREQ = 0; // center frequency, Hz
|
||||
static constexpr int SDR_PARAM_SAMPLE_RATE = 1; // sample rate, Hz
|
||||
@@ -312,6 +318,51 @@ namespace montauk::abi {
|
||||
uint64_t userAddr; // filled by SYS_FBMAP (0 until mapped)
|
||||
};
|
||||
|
||||
enum DisplayConnectorType : uint8_t {
|
||||
DISPLAY_CONNECTOR_UNKNOWN = 0,
|
||||
DISPLAY_CONNECTOR_EDP = 1,
|
||||
DISPLAY_CONNECTOR_DP = 2,
|
||||
DISPLAY_CONNECTOR_HDMI = 3,
|
||||
DISPLAY_CONNECTOR_DVI = 4,
|
||||
DISPLAY_CONNECTOR_VGA = 5,
|
||||
DISPLAY_CONNECTOR_LVDS = 6,
|
||||
};
|
||||
|
||||
static constexpr uint32_t DISPLAY_CAP_MODESET = 1u << 0;
|
||||
static constexpr uint32_t DISPLAY_CAP_EDID = 1u << 1;
|
||||
static constexpr uint32_t DISPLAY_CAP_BRIGHTNESS = 1u << 2;
|
||||
static constexpr uint32_t DISPLAY_CAP_PAGE_FLIP = 1u << 3;
|
||||
static constexpr uint32_t DISPLAY_CAP_VBLANK_IRQ = 1u << 4;
|
||||
static constexpr uint32_t DISPLAY_CAP_SAFE_SWITCH = 1u << 5;
|
||||
|
||||
static constexpr uint32_t DISPLAY_MODE_PREFERRED = 1u << 0;
|
||||
static constexpr uint32_t DISPLAY_MODE_CURRENT = 1u << 1;
|
||||
static constexpr uint32_t DISPLAY_MODE_DRIVER_VALID = 1u << 2;
|
||||
|
||||
struct DisplayModeInfo {
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t refreshMilliHz;
|
||||
uint32_t pixelClockKHz;
|
||||
uint32_t flags;
|
||||
uint32_t _pad;
|
||||
};
|
||||
|
||||
struct DisplayInfo {
|
||||
uint32_t capabilities;
|
||||
uint32_t modeCount;
|
||||
int32_t currentMode;
|
||||
int32_t brightness; // 0..100, or -1 when unavailable
|
||||
uint16_t deviceId;
|
||||
uint8_t generation;
|
||||
uint8_t connectorType;
|
||||
uint8_t connected;
|
||||
uint8_t _pad0[3];
|
||||
char gpuName[64];
|
||||
char connectorName[32];
|
||||
char monitorName[64];
|
||||
};
|
||||
|
||||
struct SysInfo {
|
||||
char osName[32];
|
||||
char osVersion[32];
|
||||
|
||||
Reference in New Issue
Block a user