From: Vicki Pfau vi@endrift.com
[ Upstream commit 96c85e428ebaeacd2c640eba075479ab92072ccd ]
Add a panel orientation quirk for the ZOTAC Gaming Zone handheld gaming device.
Signed-off-by: Vicki Pfau vi@endrift.com Reviewed-by: Hans de Goede hdegoede@redhat.com Link: https://patchwork.freedesktop.org/patch/msgid/20250313211643.860786-2-vi@end... Signed-off-by: Dmitry Baryshkov dmitry.baryshkov@oss.qualcomm.com Signed-off-by: Sasha Levin sashal@kernel.org ---
**YES** This commit should be backported to stable kernel trees. **Extensive Analysis:** **1. Pattern Matching with Historical Commits:** The commit follows an identical pattern to all the similar commits marked as "Backport Status: YES" in the reference examples: - GPD Win3 (YES): Added DMI quirk for handheld gaming device with specific vendor/product matching - OrangePi Neo (YES): Added DMI quirk for gaming handheld with same pattern - GPD Win Mini (YES): Added gaming device quirk with identical structure - GPD Win Max (YES): Added gaming device quirk following same format **2. Code Analysis:** The change is extremely minimal and safe: ```c + }, { /bin /bin.usr-is-merged /boot /dev /etc /home /init /lib /lib.usr-is-merged /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /sbin.usr-is-merged /snap /srv /sys /tmp /usr /var ZOTAC Gaming Zone model/ prompt/ src/ target/ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ZOTAC"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "G0A1W"), + }, + .driver_data = (void *)&lcd1080x1920_leftside_up, ``` This adds exactly 6 lines to the `orientation_data[]` array in `drivers/gpu/drm/drm_panel_orientation_quirks.c:500`. The change: - Uses existing, well-tested infrastructure (`lcd1080x1920_leftside_up` data structure already defined at line 120-124) - Employs standard DMI matching with `DMI_EXACT_MATCH()` for precise device identification - References an existing orientation configuration, introducing zero new logic - Is completely isolated and cannot affect other devices due to highly specific DMI matching **3. Bug Fix Nature:** This addresses a real user-affecting bug - incorrect screen orientation on ZOTAC Gaming Zone handhelds. Without this quirk: - The display appears rotated incorrectly - Users experience poor usability with graphics rotated 90 degrees - Gaming on the device is significantly impacted **4. Risk Assessment:** - **Minimal regression risk**: The DMI matching is highly specific (`DMI_SYS_VENDOR="ZOTAC"` AND `DMI_BOARD_NAME="G0A1W"`) - **No architectural changes**: Uses existing quirk framework - **No new features**: Pure bug fix for hardware support - **Contained scope**: Only affects this specific ZOTAC device model **5. Stable Tree Compliance:** ✅ **Important bug fix**: Fixes screen orientation for users ✅ **Small and contained**: 6-line addition using existing infrastructure ✅ **No side effects**: Cannot impact other devices due to specific DMI matching ✅ **No architectural changes**: Pure data addition to existing quirk table ✅ **Critical subsystem**: Display orientation affects basic usability ✅ **Follows established pattern**: Identical to other gaming handheld quirks that were backported **6. Historical Precedent:** All similar gaming handheld orientation quirks in the reference examples were marked "Backport Status: YES", establishing clear precedent that these types of device-specific orientation fixes are appropriate for stable backporting. **7. User Impact:** Gaming handhelds are consumer devices where display orientation directly impacts usability. Users of ZOTAC Gaming Zone devices currently experience a rotated display, making the device difficult or impossible to use properly until this fix is applied. The commit perfectly matches the stable kernel criteria: it's a small, important bug fix with minimal risk that improves hardware support for end users.
drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c index c554ad8f246b6..7ac0fd5391fea 100644 --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -517,6 +517,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "LTH17"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* ZOTAC Gaming Zone */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ZOTAC"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "G0A1W"), + }, + .driver_data = (void *)&lcd1080x1920_leftside_up, }, { /* One Mix 2S (generic strings, also match on bios date) */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),