drivers/gpu/drm/drm_panel_backlight_quirks.c
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/drm_panel_backlight_quirks.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/drm_panel_backlight_quirks.c- Extension
.c- Size
- 4369 bytes
- Lines
- 157
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/array_size.hlinux/dmi.hlinux/export.hlinux/mod_devicetable.hlinux/module.hdrm/drm_edid.hdrm/drm_utils.h
Detected Declarations
struct drm_panel_matchstruct drm_get_panel_backlight_quirkfunction drm_panel_min_backlight_quirk_matchesfunction specificexport drm_get_panel_backlight_quirk
Annotated Snippet
struct drm_panel_match {
enum dmi_field field;
const char * const value;
};
struct drm_get_panel_backlight_quirk {
struct drm_panel_match dmi_match;
struct drm_panel_match dmi_match_other;
struct drm_edid_ident ident;
struct drm_panel_backlight_quirk quirk;
};
static const struct drm_get_panel_backlight_quirk drm_panel_min_backlight_quirks[] = {
/* 13 inch matte panel */
{
.dmi_match.field = DMI_BOARD_VENDOR,
.dmi_match.value = "Framework",
.ident.panel_id = drm_edid_encode_panel_id('B', 'O', 'E', 0x0bca),
.ident.name = "NE135FBM-N41",
.quirk = { .min_brightness = 1, },
},
/* 13 inch glossy panel */
{
.dmi_match.field = DMI_BOARD_VENDOR,
.dmi_match.value = "Framework",
.ident.panel_id = drm_edid_encode_panel_id('B', 'O', 'E', 0x095f),
.ident.name = "NE135FBM-N41",
.quirk = { .min_brightness = 1, },
},
/* 13 inch 2.8k panel */
{
.dmi_match.field = DMI_BOARD_VENDOR,
.dmi_match.value = "Framework",
.ident.panel_id = drm_edid_encode_panel_id('B', 'O', 'E', 0x0cb4),
.ident.name = "NE135A1M-NY1",
.quirk = { .min_brightness = 1, },
},
/* Steam Deck models */
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "Valve",
.dmi_match_other.field = DMI_PRODUCT_NAME,
.dmi_match_other.value = "Jupiter",
.quirk = { .min_brightness = 1, },
},
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "Valve",
.dmi_match_other.field = DMI_PRODUCT_NAME,
.dmi_match_other.value = "Galileo",
.quirk = { .min_brightness = 1, },
},
/* Have OLED Panels with brightness issue when last byte is 0/1 */
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "AYANEO",
.dmi_match_other.field = DMI_PRODUCT_NAME,
.dmi_match_other.value = "AYANEO 3",
.quirk = { .brightness_mask = 3, },
},
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "ZOTAC",
.dmi_match_other.field = DMI_BOARD_NAME,
.dmi_match_other.value = "G0A1W",
.quirk = { .brightness_mask = 3, },
},
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "ZOTAC",
.dmi_match_other.field = DMI_BOARD_NAME,
.dmi_match_other.value = "G1A1W",
.quirk = { .brightness_mask = 3, },
},
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "ONE-NETBOOK",
.dmi_match_other.field = DMI_PRODUCT_NAME,
.dmi_match_other.value = "ONEXPLAYER F1Pro",
.quirk = { .brightness_mask = 3, },
},
{
.dmi_match.field = DMI_SYS_VENDOR,
.dmi_match.value = "ONE-NETBOOK",
.dmi_match_other.field = DMI_PRODUCT_NAME,
.dmi_match_other.value = "ONEXPLAYER F1 EVA-02",
.quirk = { .brightness_mask = 3, },
},
};
Annotation
- Immediate include surface: `linux/array_size.h`, `linux/dmi.h`, `linux/export.h`, `linux/mod_devicetable.h`, `linux/module.h`, `drm/drm_edid.h`, `drm/drm_utils.h`.
- Detected declarations: `struct drm_panel_match`, `struct drm_get_panel_backlight_quirk`, `function drm_panel_min_backlight_quirk_matches`, `function specific`, `export drm_get_panel_backlight_quirk`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: integration implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.