On Tue, 23 Jun 2026, Ville Syrjala wrote:
From: Ville Syrjälä <[email protected]>
LPT/WPT-LP don't have as many GOIO pins as the -H variants.
nit: s/GOIO/GPIO/
Add proper mapping for the -LP PCHs so that we can't end up
poking at non-existent GPIOs.
Signed-off-by: Ville Syrjälä <[email protected]>
Reviewed-by: Michał Grzelak <[email protected]>
BR,
Michał
---
drivers/gpu/drm/i915/display/intel_gmbus.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c
b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 2869ec23e1ec..f69b8841c5dd 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -86,13 +86,18 @@ static const struct gmbus_pin gmbus_pins[] = {
[GMBUS_PIN_DPD] = { "dpd", GPIO_5 },
};
-static const struct gmbus_pin gmbus_pins_lpt[] = {
+static const struct gmbus_pin gmbus_pins_lpt_h[] = {
[GMBUS_PIN_VGADDC] = { "vga", GPIO_0 },
[GMBUS_PIN_DPC] = { "dpc", GPIO_3 },
[GMBUS_PIN_DPB] = { "dpb", GPIO_4 },
[GMBUS_PIN_DPD] = { "dpd", GPIO_5 },
};
+static const struct gmbus_pin gmbus_pins_lpt_lp[] = {
+ [GMBUS_PIN_DPC] = { "dpc", GPIO_3 },
+ [GMBUS_PIN_DPB] = { "dpb", GPIO_4 },
+};
+
static const struct gmbus_pin gmbus_pins_skl[] = {
[GMBUS_PIN_DPC] = { "dpc", GPIO_3 },
[GMBUS_PIN_DPB] = { "dpb", GPIO_4 },
@@ -178,9 +183,12 @@ static const struct gmbus_pin *get_gmbus_pin(struct
intel_display *display,
} else if (DISPLAY_VER(display) == 9) {
pins = gmbus_pins_skl;
size = ARRAY_SIZE(gmbus_pins_skl);
+ } else if (HAS_PCH_LPT_LP(display)) {
+ pins = gmbus_pins_lpt_lp;
+ size = ARRAY_SIZE(gmbus_pins_lpt_lp);
} else if (HAS_PCH_LPT(display)) {
- pins = gmbus_pins_lpt;
- size = ARRAY_SIZE(gmbus_pins_lpt);
+ pins = gmbus_pins_lpt_h;
+ size = ARRAY_SIZE(gmbus_pins_lpt_h);
} else {
pins = gmbus_pins;
size = ARRAY_SIZE(gmbus_pins);
--
2.53.0