From patchwork Mon May 24 16:47:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Anisse Astier X-Patchwork-Id: 12278041 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFF0EC47084 for ; Tue, 25 May 2021 07:09:25 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CC1E861005 for ; Tue, 25 May 2021 07:09:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC1E861005 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=astier.eu Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C916089F2A; Tue, 25 May 2021 07:09:23 +0000 (UTC) Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41D456E8CF for ; Mon, 24 May 2021 16:47:51 +0000 (UTC) Received: by mail-wm1-x329.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso11781412wmh.4 for ; Mon, 24 May 2021 09:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=astier-eu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3I2ZNni0vuGSlO6ssnI4sarfm4yS8wntgI1aAqSqACQ=; b=SDBJengL6q3RuEk8yFkhQQAyBndB8O5xUNi+lIRqH2Z5RNNGppwhFVWnDp59uvmKSa Ot3u8zmyU0MgNwlQFWRS1Qhgl69Gyez+WlrNlvqNfYwRyNn5iJ56E5tsoFGF7vzanv0r kCOjbri25MtpRGsY2/bXLhTUTnPREGrqZkVnFAajLEMFvGsbAr5hQrBjWhuj0EwYGSjo GQ+EIUgs2DXBDImB8Q/UWncBZ6K9bGklcv6yxzAN5YbkRDJ+nOrLcHIElDA9VSXK8Mt2 fOhC9B8Mpbxpex3rqVUMBchRudCkvZjrVvw8w8Xgc/3WGxfHhnpMnd5NQ0ENO62DH0Qn MtJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3I2ZNni0vuGSlO6ssnI4sarfm4yS8wntgI1aAqSqACQ=; b=Hha6izJ2WGT6/LM2XPQ+KxCzQN35ERNHlZpkpz4LeYDNuTDoKoFp93jSMnBQRYnZuL XPSM5GyK4c+oIrcND/KNTC6Aq6NNVXgtF9LpwKMCFCWjvs7j7TPl4q6PcuPgiD/L47bw fAG9flx6OAqH3P02YLXipqyURPdG9fswVpyoJyH9KXeyXeIo8hfXsoJI3rhRNbfTle8L QycUVtY1j5lOUIrq/LHYaqEgQ89h/i/oS1XbNDMAjd40qvxbIKvZ4q+LqlYJWvtUhZNA 5KnCUVpJagXmx3RGPS/z+Lo/tBjde3+g3VNYCO/U2p9zd9jP6NaQY0vEeFtRnvSIhlT5 1QDA== X-Gm-Message-State: AOAM5334GHWroNHMs2/bn+flnv72th0GY+BymFCz+wTaMDMNJJaYKPpv Z5pMrakOCJFbAeNS38jxBxQPRg== X-Google-Smtp-Source: ABdhPJyMHBrdDa68SqLdo3dfQi174VSuakv9CY6fYIyHTnTRflkuLKlqpd5OZmFfr+a+4I3CLuboKQ== X-Received: by 2002:a1c:4601:: with SMTP id t1mr20329186wma.27.1621874869848; Mon, 24 May 2021 09:47:49 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:806:8950:61f0:1b3d:bc7a:1d60]) by smtp.gmail.com with ESMTPSA id b10sm15226358wrr.27.2021.05.24.09.47.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 May 2021 09:47:49 -0700 (PDT) From: Anisse Astier To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH 1/3] drm/i915/opregion: add support for mailbox #5 EDID Date: Mon, 24 May 2021 18:47:17 +0200 Message-Id: <20210524164719.6588-2-anisse@astier.eu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210524164719.6588-1-anisse@astier.eu> References: <20210524164719.6588-1-anisse@astier.eu> MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 25 May 2021 07:09:22 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula , Hans de Goede , Uma Shankar , Anisse Astier Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The ACPI OpRegion Mailbox #5 ASLE extension may contain an EDID to be used for the embedded display. Add support for using it via by adding the EDID to the list of available modes on the connector. Based on original patch by: Jani Nikula Changes: - EDID is copied and validated with drm_edid_is_valid - Mode is now added via drm_add_edid_modes instead of using override mechanism Cc: Jani Nikula Cc: Uma Shankar Cc: Ville Syrjälä Signed-off-by: Anisse Astier --- drivers/gpu/drm/i915/display/intel_opregion.c | 69 ++++++++++++++++++- drivers/gpu/drm/i915/display/intel_opregion.h | 8 +++ 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c index dfd724e506b5..ef8d38f041eb 100644 --- a/drivers/gpu/drm/i915/display/intel_opregion.c +++ b/drivers/gpu/drm/i915/display/intel_opregion.c @@ -196,6 +196,8 @@ struct opregion_asle_ext { #define ASLE_IUER_WINDOWS_BTN (1 << 1) #define ASLE_IUER_POWER_BTN (1 << 0) +#define ASLE_PHED_EDID_VALID_MASK 0x3 + /* Software System Control Interrupt (SWSCI) */ #define SWSCI_SCIC_INDICATOR (1 << 0) #define SWSCI_SCIC_MAIN_FUNCTION_SHIFT 1 @@ -909,8 +911,10 @@ int intel_opregion_setup(struct drm_i915_private *dev_priv) opregion->asle->ardy = ASLE_ARDY_NOT_READY; } - if (mboxes & MBOX_ASLE_EXT) + if (mboxes & MBOX_ASLE_EXT) { drm_dbg(&dev_priv->drm, "ASLE extension supported\n"); + opregion->asle_ext = base + OPREGION_ASLE_EXT_OFFSET; + } if (intel_load_vbt_firmware(dev_priv) == 0) goto out; @@ -1037,6 +1041,68 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv) return ret - 1; } +/** + * intel_opregion_edid_probe - Add EDID from ACPI OpRegion mailbox #5 + * @intel_connector: eDP connector + * + * This reads the ACPI Opregion mailbox #5 to extract the EDID that is passed + * to it. + * + * Will take a lock on the DRM mode_config to add the EDID; make sure it isn't + * called with lock taken. + * + */ +void intel_opregion_edid_probe(struct intel_connector *intel_connector) +{ + struct drm_connector *connector = &intel_connector->base; + struct drm_i915_private *i915 = to_i915(connector->dev); + struct intel_opregion *opregion = &i915->opregion; + const void *in_edid; + const struct edid *edid; + struct edid *new_edid; + int len, ret, num; + + if (!opregion->asle_ext || connector->override_edid) + return; + + in_edid = opregion->asle_ext->bddc; + + /* Validity corresponds to number of 128-byte blocks */ + len = (opregion->asle_ext->phed & ASLE_PHED_EDID_VALID_MASK) * 128; + if (!len || !memchr_inv(in_edid, 0, len)) + return; + + edid = in_edid; + + if (len < EDID_LENGTH * (1 + edid->extensions)) { + drm_dbg_kms(&i915->drm, "Invalid EDID in ACPI OpRegion (Mailbox #5)\n"); + return; + } + new_edid = drm_edid_duplicate(edid); + if (!new_edid) { + drm_err(&i915->drm, "Cannot duplicate EDID\n"); + return; + } + if (!drm_edid_is_valid(new_edid)) { + kfree(new_edid); + drm_dbg_kms(&i915->drm, "Cannot validate EDID in ACPI OpRegion (Mailbox #5)\n"); + return; + } + + ret = drm_connector_update_edid_property(connector, new_edid); + if (ret) { + kfree(new_edid); + return; + } + + mutex_lock(&connector->dev->mode_config.mutex); + num = drm_add_edid_modes(connector, new_edid); + mutex_unlock(&connector->dev->mode_config.mutex); + + drm_dbg_kms(&i915->drm, "Using OpRegion EDID for [CONNECTOR:%d:%s], added %d mode(s)\n", + connector->base.id, connector->name, num); +} + void intel_opregion_register(struct drm_i915_private *i915) { struct intel_opregion *opregion = &i915->opregion; @@ -1127,6 +1193,7 @@ void intel_opregion_unregister(struct drm_i915_private *i915) opregion->acpi = NULL; opregion->swsci = NULL; opregion->asle = NULL; + opregion->asle_ext = NULL; opregion->vbt = NULL; opregion->lid_state = NULL; } diff --git a/drivers/gpu/drm/i915/display/intel_opregion.h b/drivers/gpu/drm/i915/display/intel_opregion.h index 4aa68ffbd30e..c1ecfcbb6f55 100644 --- a/drivers/gpu/drm/i915/display/intel_opregion.h +++ b/drivers/gpu/drm/i915/display/intel_opregion.h @@ -29,12 +29,14 @@ #include struct drm_i915_private; +struct intel_connector; struct intel_encoder; struct opregion_header; struct opregion_acpi; struct opregion_swsci; struct opregion_asle; +struct opregion_asle_ext; struct intel_opregion { struct opregion_header *header; @@ -43,6 +45,7 @@ struct intel_opregion { u32 swsci_gbda_sub_functions; u32 swsci_sbcb_sub_functions; struct opregion_asle *asle; + struct opregion_asle_ext *asle_ext; void *rvda; void *vbt_firmware; const void *vbt; @@ -71,6 +74,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder, int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv, pci_power_t state); int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv); +void intel_opregion_edid_probe(struct intel_connector *connector); #else /* CONFIG_ACPI*/ @@ -117,6 +121,10 @@ static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev) return -ENODEV; } +void intel_opregion_edid_probe(struct intel_connector *connector) +{ +} + #endif /* CONFIG_ACPI */ #endif From patchwork Mon May 24 16:47:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anisse Astier X-Patchwork-Id: 12278043 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4324EC2B9F8 for ; Tue, 25 May 2021 07:09:28 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DB59D610CB for ; Tue, 25 May 2021 07:09:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB59D610CB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=astier.eu Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 96FA389A59; Tue, 25 May 2021 07:09:23 +0000 (UTC) Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E0B46E8CF for ; Mon, 24 May 2021 16:47:52 +0000 (UTC) Received: by mail-wm1-x330.google.com with SMTP id n17-20020a7bc5d10000b0290169edfadac9so1963166wmk.1 for ; Mon, 24 May 2021 09:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=astier-eu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cFulLOXj3mZBbP4W72DWkmRMm2f9CvykYPFY+mOZJP0=; b=BSEi2aEPJ8q5P0sbLOi6kRfHHynyuq2U3PYBui3kN98vEeNgckbggTJWxScGqdgvPh 38WjhJrMRbkLfaQzZ91Jo+ACf2OzJsjKW/DxPyq90ipXideSYyNq9VW3raAvVMizMeqL BfTTmUNV5wCeG+QbbldLc5WL0SO8fCIlMymmtseXfjJgEifkR8T8neF99SUmYbldVq7f xWdAzOv5/Q9gna9JTBG4gpnFJxOOHQ91atFmsAY8/zF9F1oLLC+UqhrbM7hkEgJNVy1M M5c/zP9rN9BDkZF3mLkKUOnBvc7i+/Nj+PCkrFYuZl36w8LCDdSj6lW/Ww3vS7f0CLvL oWLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cFulLOXj3mZBbP4W72DWkmRMm2f9CvykYPFY+mOZJP0=; b=UNg6R95RjnE7EbjjqGYH7R7rqhVpt2zsjbdCDfDkp+r+mvt/dWj/5DofZguSZXnIPn nOCp3uUiYgCM80fLb6+uGOhBl0rd2zkLI4YivVWlg8oqs/I2YmhRu26FGDHDl9QLwbsp 1Ljhe2pU0MKYHcETaFC5Yw9MqzGfY5M3yHl274/GvVO26Y/8LQ5OXfAQyEjm0reXdBmS q1cExARDw5DbfEM6tCZdVS0s7gmbG4Kz6IbkMJyusairyYghX6emHT1BXZcQizCQzgSN W+37hEFWbsRPeV7ieoQq3jZzWSBmf1wg+WG+ptSlo94FnbknmEcKtOZsSxIwV24LGPcb M0Tw== X-Gm-Message-State: AOAM530ld49Nb6OqIXPw9sT5+bj/IRPBgP9X9IvjiHKoIPkyzFToeRdW DWKhXb5pOecxSNFV1YQtMAxx0A== X-Google-Smtp-Source: ABdhPJygaQUYN5BRBk8qSPniQ7xfsS02EtynEHMHhRl5kmit2Hp1qi2oHyFlju7HGEr/myXLZSPLtw== X-Received: by 2002:a1c:a98d:: with SMTP id s135mr14202wme.147.1621874870900; Mon, 24 May 2021 09:47:50 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:806:8950:61f0:1b3d:bc7a:1d60]) by smtp.gmail.com with ESMTPSA id b10sm15226358wrr.27.2021.05.24.09.47.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 May 2021 09:47:50 -0700 (PDT) From: Anisse Astier To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH 2/3] drm/i915/dp: use opregion mailbox #5 EDID for eDP, if available Date: Mon, 24 May 2021 18:47:18 +0200 Message-Id: <20210524164719.6588-3-anisse@astier.eu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210524164719.6588-1-anisse@astier.eu> References: <20210524164719.6588-1-anisse@astier.eu> MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 25 May 2021 07:09:22 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula , Hans de Goede , Uma Shankar , Anisse Astier Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Jani Nikula If a panel's EDID is broken, there may be an override EDID set in the ACPI OpRegion mailbox #5. Use it if available. Fixes the GPD Win Max display. Cc: Uma Shankar Signed-off-by: Jani Nikula Signed-off-by: Anisse Astier [Anisse changes: function name] --- drivers/gpu/drm/i915/display/intel_dp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 5c9222283044..43fb485c0e02 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -5191,6 +5191,9 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp, goto out_vdd_off; } + /* Set up override EDID, if any, from ACPI OpRegion */ + intel_opregion_edid_probe(intel_connector); + mutex_lock(&dev->mode_config.mutex); edid = drm_get_edid(connector, &intel_dp->aux.ddc); if (edid) { From patchwork Mon May 24 16:47:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anisse Astier X-Patchwork-Id: 12278047 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3DFDC47084 for ; Tue, 25 May 2021 07:09:32 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 58E2E610CB for ; Tue, 25 May 2021 07:09:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 58E2E610CB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=astier.eu Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 70FD56E0E9; Tue, 25 May 2021 07:09:24 +0000 (UTC) Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE3D66E8D2 for ; Mon, 24 May 2021 16:47:52 +0000 (UTC) Received: by mail-wm1-x32b.google.com with SMTP id y184-20020a1ce1c10000b02901769b409001so11319231wmg.3 for ; Mon, 24 May 2021 09:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=astier-eu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=q5LsshN/w/EqtVlYdH8CJ7303gxJoUC0MUKp67S3Rw4=; b=iFGf6zvLx7Wm86r70xf7tvo4wfqJ81GcbHImsEfOKd8ThuKUtFK2MuK+MKcdyoZYLB 8yzeZeFYoOVEFt7hDVcaY0QwHVuP8mvtFBs+8l4ICs7lOwhipIjmA3EYhafZyaTjnitV 57ikrIAFvICuaRPDzGKiS+RTyg0nCeN0dROIdbK65cdvD95pvKYVEIhaiQZ8A3fdkFiJ 7D/l0yhGreo45tDS+S21pFOcOv7c3WYObDWSuiAq69NJex7HPsjwsgoeHWjzu3bisqPC cFcsaFQg62i+eIP5W1XHecorBxua8dO0gPtlTkZmr6lPU8GJrzuu0de5o+X9vRFwgujs 3VGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=q5LsshN/w/EqtVlYdH8CJ7303gxJoUC0MUKp67S3Rw4=; b=UjM9ynsO6W6/dpKbne5YuMTc19uFdkdAYR5hqVbW4TDc3ilRJ9WT4Sps258DV42MwC VKmmPQYKvP9zjevs5eyDj18vcfIT6mFrKqiKdnuIXvVP+SqfXDDcSyvVwb6jtUhXC9f7 clrNY8cQsn6SJk8s5ZtpH3AY9nffI79Xl4YA7FLqb7VezVDRl54ji+iCLWPDcLWsyiGH Kry2+4ZQOv+Ji3P0lj+8ANXoHzpuJlKCk8KJTYZT2ernKct30WrJHfg4GB5ZuqpwvM6h EPomQA9GiWbtsDImlSbl9FJaD+3r18KGxwMbljPqWG6MH+V3UcgnBnQAxqe2TssaocVa iQVg== X-Gm-Message-State: AOAM532v8TrJc07B2jp7aopBIv368QdoknZyFnpdWdxXLm7NKZ3ycqEL TEqfnmsy7a3vPC0uZRd60PDPeQ== X-Google-Smtp-Source: ABdhPJxjdBMeRIGOWaA7Niea7ZuRC1ReYE+sftPeyd7t8T1co+5i5R/r8hHOJuSKccpoIXTfWXx4gw== X-Received: by 2002:a7b:c0da:: with SMTP id s26mr20971wmh.83.1621874871648; Mon, 24 May 2021 09:47:51 -0700 (PDT) Received: from localhost.localdomain ([2a01:e0a:806:8950:61f0:1b3d:bc7a:1d60]) by smtp.gmail.com with ESMTPSA id b10sm15226358wrr.27.2021.05.24.09.47.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 May 2021 09:47:51 -0700 (PDT) From: Anisse Astier To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH 3/3] drm: Add orientation quirk for GPD Win Max Date: Mon, 24 May 2021 18:47:19 +0200 Message-Id: <20210524164719.6588-4-anisse@astier.eu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210524164719.6588-1-anisse@astier.eu> References: <20210524164719.6588-1-anisse@astier.eu> MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 25 May 2021 07:09:22 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula , Hans de Goede , Uma Shankar , Anisse Astier Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Panel is 800x1280, but mounted on a laptop form factor, sideways. Signed-off-by: Anisse Astier --- 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 f6bdec7fa925..3c3f4ed89173 100644 --- a/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -148,6 +148,12 @@ static const struct dmi_system_id orientation_data[] = { DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "MicroPC"), }, .driver_data = (void *)&lcd720x1280_rightside_up, + }, { /* GPD Win Max */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1619-01"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, }, { /* * GPD Pocket, note that the the DMI data is less generic then * it seems, devices with a board-vendor of "AMI Corporation"