From mboxrd@z Thu Jan 1 00:00:00 1970 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=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 773FDC4361B for ; Fri, 18 Dec 2020 11:21:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 45FE223426 for ; Fri, 18 Dec 2020 11:21:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732962AbgLRLVo (ORCPT ); Fri, 18 Dec 2020 06:21:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59294 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728205AbgLRLVn (ORCPT ); Fri, 18 Dec 2020 06:21:43 -0500 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72C69C0617B0 for ; Fri, 18 Dec 2020 03:21:03 -0800 (PST) Received: by mail-wm1-x32c.google.com with SMTP id a6so1977567wmc.2 for ; Fri, 18 Dec 2020 03:21:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Z9VPuMSJSoUHqzMeVGbAE30IrKxI8APrsEWW8ZWta/c=; b=Jwh2WpiuqTtq8IfgRyqIkz6FNAHeEn05Ct65f/ZAFEXaiuq2+Zdo8nJKvU8sQ+RFgy eWyRZ/dANLyHxjixnapLeiLAXU1HtgK956k8JebGtyN2i4I3itFeBe3BFCp2M8plyLve 3zku/R4re76JwoUX/OAUO6lrK4kaetW9UQlvSTLigUNfS7KuaJ5RCJZQzpeOo8SBYHPl YPfw2rlG6BnY530aQwyzK9S67fh6nG1+VdTFldGxQsN62Nik22sSQA/I4lKRjZJwuIFx 02g/bIgrVjWKqOZjFhy6aS4iUviUj+1gh5v3E1Z0kXbFfrMeC6bG6yHan6MlY8vRAqUc GTgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Z9VPuMSJSoUHqzMeVGbAE30IrKxI8APrsEWW8ZWta/c=; b=g1ggNWTuYoE4ZkCM9qmlEv1oZMFO9+Mmil2q59hMrxGRxcTy1D1JLfRSDjtED6YrGT xD91q0UnGhpkGj6Xgd5ENb4wect4RTCUtbj1pH39pKypSjkTI9q98e+SykufadlTeWlO jGSykh+DgskkcbOQ3TKD/lqFXvObkaqX5ZLFQOmbNuxhmCFawj8M7DqC6pcjRv1HEImz K4M54rsSNM4KUrhMMcDrqWDCDTP/ItgOW9xh9wQPqxyZIi3bR9mC4npFmc8VMUpf5/r+ YntLpJX2RSkz+jCUlhum6INUmYTfSMBqQVeiMhTeeLIDIEIV6iZOwBguJWRLZi/5Ktla VFhQ== X-Gm-Message-State: AOAM530L3hFfUAGwr95V76bJoq9AtIVaJwGQ96ycyJCmrY5w9ZFrZFuy WMOW3hrJ0ESKfidDbSW/A+DGJueuWFW4xJgIEbHaiA== X-Google-Smtp-Source: ABdhPJyWiVYnVdrf2lovSlQt3Ng19j8UcjWhnRFH32AdooP4ukqD0DcGQGxUswg/ja6zIoPYyJVqTr0YkWIUx1S9T+s= X-Received: by 2002:a1c:27c3:: with SMTP id n186mr3780670wmn.96.1608290462078; Fri, 18 Dec 2020 03:21:02 -0800 (PST) MIME-Version: 1.0 References: <20201210134648.272857-1-maxime@cerno.tech> <20201210134648.272857-3-maxime@cerno.tech> In-Reply-To: <20201210134648.272857-3-maxime@cerno.tech> From: Dave Stevenson Date: Fri, 18 Dec 2020 11:20:45 +0000 Message-ID: Subject: Re: [PATCH 02/15] drm/vc4: hdmi: Move hdmi reset to bind To: Maxime Ripard Cc: Eric Anholt , Maarten Lankhorst , Thomas Zimmermann , Daniel Vetter , David Airlie , Jason Cooper , bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, Marc Zyngier , Linux Media Mailing List , Hans Verkuil , LKML , Mauro Carvalho Chehab , Thomas Gleixner , linux-rpi-kernel@lists.infradead.org, DRI Development , Dom Cobley Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Maxime & Dom On Thu, 10 Dec 2020 at 13:46, Maxime Ripard wrote: > > From: Dom Cobley > > The hdmi reset got moved to a later point in the commit 9045e91a476b > ("drm/vc4: hdmi: Add reset callback"). > > However, the reset now occurs after vc4_hdmi_cec_init and so tramples > the setup of registers like HDMI_CEC_CNTRL_1 > > This only affects pi0-3 as on pi4 the cec registers are in a separate > block It does mean that this reset only happens once on bind rather than on every pre_crtc_configure, but as this really is the big reset the entire block I don't see it needing to be triggered on every configure. > Fixes: 9045e91a476b ("drm/vc4: hdmi: Add reset callback") > Signed-off-by: Dom Cobley > Signed-off-by: Maxime Ripard Reviewed-by: Dave Stevenson > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 8006bddc8fbb..3df1747dd917 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -773,9 +773,6 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, > return; > } > > - if (vc4_hdmi->variant->reset) > - vc4_hdmi->variant->reset(vc4_hdmi); > - > if (vc4_hdmi->variant->phy_init) > vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); > > @@ -1865,6 +1862,9 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) > vc4_hdmi->disable_wifi_frequencies = > of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence"); > > + if (vc4_hdmi->variant->reset) > + vc4_hdmi->variant->reset(vc4_hdmi); > + > pm_runtime_enable(dev); > > drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); > -- > 2.28.0 >