Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp134758iof; Sun, 5 Jun 2022 23:24:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyv9+8x9Iq5sd67Gsw/WVjhdFF8ULV/tE6wLumM8dbt2lhNAL58G+FypUEykMNFXXGAetr1 X-Received: by 2002:a63:1819:0:b0:3fd:ac29:e9e9 with SMTP id y25-20020a631819000000b003fdac29e9e9mr4590327pgl.171.1654496651052; Sun, 05 Jun 2022 23:24:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654496651; cv=none; d=google.com; s=arc-20160816; b=DcO/P+Q8rC0bsS1FHNQFw2x2QD7NyPsnmOBgdANdeInKsT3zQN63HbSmN4FouJ5vbY i3rtgpqUDuKnT384+BPdBcEi+zzklsETBOzpbl8IChOk1vxNeezLJ0ib8hSOmUWBnxjr Dz69cHVcIK4DR4XekW58T1xzdQCLouGKdjgAsh757JL5GUkNw7QfhSBKR1VO04InZ+8z p+81ls42aC5ieeNG+rbzUvg7k+pZlHgDQ4q2PvJwBL9QyPDoaUw4ISjweIBiRQcegan3 nbawJId3ThnxwlbS/LJMl8EvGTpzgN6cI4w8DMy4rKmWdfBy7k1Yyu+SjY30qVnloa+2 4KPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=rFqpHuECGLqoarwvqRrQML/2d/T3XwkU1fNzjkmrThY=; b=c+owCR8F4StUnOWGZ9uQsOW8970hDN1W6JXABbL6YwMKsVO0cvz0oyURqQHAw8PEG3 axOw/wc9hTxDafQchmT38+8tEp1zRPZ2YenCFVOKe3m7slIg3tBZnrPYSfiFOITajdVt 4OEV/U8hJJrsbQTVeXM6TiLer6S74bBRKPp8KB1DDvA99IrIogJg0q75DLk/xZNr3SRA 8bGz9sENXlSja2I5Vs5E1AK2bMtU6ZJboZisd041V5rzVN0KI5SK2RwB+GRWeVMA8QeQ Syfc9dSGE/YkaotZ1TCpVCvp8wh0Yucep3edHPqFcfLPp7m9ENcK4RLAjMDSkqfAkJ8e +DQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=nG1yyOS5; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id nb9-20020a17090b35c900b001e012a01ddcsi17162802pjb.28.2022.06.05.23.24.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 23:24:11 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=nG1yyOS5; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 635B61312B1; Sun, 5 Jun 2022 22:06:48 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229562AbiFFFGi (ORCPT + 99 others); Mon, 6 Jun 2022 01:06:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229527AbiFFFG2 (ORCPT ); Mon, 6 Jun 2022 01:06:28 -0400 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D6402F5AA8 for ; Sun, 5 Jun 2022 21:47:55 -0700 (PDT) Received: by mail-pf1-x433.google.com with SMTP id x4so3234075pfj.10 for ; Sun, 05 Jun 2022 21:47:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rFqpHuECGLqoarwvqRrQML/2d/T3XwkU1fNzjkmrThY=; b=nG1yyOS5j92wx36wFLjCQZuqCI8wBnye/wbubTHe2BewKZzQ9yMf1UIW4GqUrEowLO oNioyR4aXi/4ny+ODAKcr8PzVpr6DIY/BPv7GvZ70ptVaGPylbVMca7uastiacbDBQ4f ILJTMDta6UTJD0Pb6Sx2xdZNL3cnUMePfPSak= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rFqpHuECGLqoarwvqRrQML/2d/T3XwkU1fNzjkmrThY=; b=Ri9CKljUg1lXPre8ezObXawX2PZwp4EVmAbJTl6N8/9jJb6iDErnPQ/AZ8pXOKQuTR +ALvkEyHG7PY/UbpemtW+QuwAMpJYA8+sRo9nH4icnYFzn+kMN6hNRVBZPLVX6hloP0E cVYorwbNqB02uNT3aS1Z0VNy7P7IJoszqrO99X9gDe3KgK5FRLE7a5kGE7tZhJJfanfb lRtRD1PvilzTnU39shMsLfoZ9waQz17Tstis25i7DTFs/pTWQZWdorqOPJQkccDOS+gl 27/tz+Ryg3hDwdF9XlwTgxa7e0EQLOS8ojG0tRU+iQtb4q6FZvIK3qCMUDuGhCOkIQSq /S3A== X-Gm-Message-State: AOAM530jpUS5Cpn6hFdQI8tSNlSCHResseH2LdGG9AFRJpE7O090wZ/E aDkyAgqaP46MohmK/NeKOUb4Iw== X-Received: by 2002:a05:6a00:23c4:b0:51c:5e8:e8a9 with SMTP id g4-20020a056a0023c400b0051c05e8e8a9mr7064626pfc.62.1654490874687; Sun, 05 Jun 2022 21:47:54 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:ced3:b110:401b:b32c]) by smtp.gmail.com with ESMTPSA id t190-20020a6381c7000000b003db7de758besm9718609pgd.5.2022.06.05.21.47.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jun 2022 21:47:54 -0700 (PDT) From: Hsin-Yi Wang To: Chun-Kuang Hu Cc: Hans de Goede , Thierry Reding , Sam Ravnborg , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Philipp Zabel , David Airlie , Daniel Vetter , Matthias Brugger , dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, Rob Clark , Stephen Boyd , Douglas Anderson , Rob Herring , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 8/8] drm/mediatek: Config orientation property if panel provides it Date: Mon, 6 Jun 2022 12:47:20 +0800 Message-Id: <20220606044720.945964-9-hsinyi@chromium.org> X-Mailer: git-send-email 2.36.1.255.ge46751e96f-goog In-Reply-To: <20220606044720.945964-1-hsinyi@chromium.org> References: <20220606044720.945964-1-hsinyi@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Panel orientation property should be set before drm_dev_register(). Mediatek drm driver calls drm_dev_register() in .bind(). However, most panels sets orientation property relatively late, mostly in .get_modes() callback, since this is when they are able to get the connector and binds the orientation property to it, though the value should be known when the panel is probed. Let the drm driver check if the remote end point is a panel and if it contains the orientation property. If it does, set it before drm_dev_register() is called. Signed-off-by: Hsin-Yi Wang Reviewed-by: Hans de Goede --- v2->v3: no change. --- drivers/gpu/drm/mediatek/mtk_dsi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index bd3f5b485085..86613360d2d9 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -185,6 +185,7 @@ struct mtk_dsi { struct drm_encoder encoder; struct drm_bridge bridge; struct drm_bridge *next_bridge; + struct drm_panel *panel; struct drm_connector *connector; struct phy *phy; @@ -822,6 +823,12 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) ret = PTR_ERR(dsi->connector); goto err_cleanup_encoder; } + + /* Read panel orientation */ + if (dsi->panel) + drm_connector_set_panel_orientation(dsi->connector, + drm_panel_get_orientation(dsi->panel)); + drm_connector_attach_encoder(dsi->connector, &dsi->encoder); return 0; @@ -837,6 +844,9 @@ static int mtk_dsi_bind(struct device *dev, struct device *master, void *data) struct drm_device *drm = data; struct mtk_dsi *dsi = dev_get_drvdata(dev); + /* Get panel if existed */ + drm_of_find_panel_or_bridge(dev->of_node, 0, 0, &dsi->panel, NULL); + ret = mtk_dsi_encoder_init(drm, dsi); if (ret) return ret; -- 2.36.1.255.ge46751e96f-goog