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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 EB08FC433E5 for ; Tue, 28 Jul 2020 15:11:35 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 BD6FD206D8 for ; Tue, 28 Jul 2020 15:11:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Glc0kPv5"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="oPm1eOTK" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD6FD206D8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=raspberrypi.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=oTgwBc2OmyuqJD7Ijo9oTOp8jLjPG7o7Gmd2vHoLChs=; b=Glc0kPv5LAYJff7iOUN+32Xi2 DqTSguRBbvystBMzjGV3iBK894oWULZhf+HrAmwCP22UeUJwR0XGPqiaPJ9AVVPfv6+ErrvqUOIpP w6A0qkMnmZadJcUCz5ubvCGi6HzGT9hQUYXYak4MVM/Qw5FvgFEC3kuggToOtpwUsLdSJNhAXB7Ob ApjR6l7VEuI+Bzb3tTXvuLOd0J44a0Lq4dqWOmZEvfim208MDT58li/GaeUt5gweC3N7EUiWxAEYW 3/Ep9S/P1oJIroEHbOJkDi8kqHsGdh+i3xlzOMobvmO5Zt9T9XWS/EiuLM939PsEZamhYq8i2q9TK n1/vCj6HA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0RF9-0008GZ-JJ; Tue, 28 Jul 2020 15:10:15 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0RF7-0008Fi-A2 for linux-arm-kernel@lists.infradead.org; Tue, 28 Jul 2020 15:10:14 +0000 Received: by mail-wm1-x344.google.com with SMTP id p14so17304495wmg.1 for ; Tue, 28 Jul 2020 08:10:13 -0700 (PDT) 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=yoaV8EiIxu54dsFIyU0qdvYTV9Nos1kcoN3M/Zvq+Z8=; b=oPm1eOTKzWnAqS5MU6mSlSrX5N1BhOrhoJz8NsUIH4WoueF1QeJdRlXIuDeIbPw/1R V15xq8XH1hmSvtP0/JmCEw5PGrzsLToKzbXYE3dqAOl5/0jb4MRPaAmQ2ORdHUcFbdHe DZX1uNWDKlhEcmvzcQSlxOCnTj8r9QfxvxERm16MIn9heQtAUFMpazXta1UyzxhN3rw4 GalYPH8T1XcfqzmBhftP+J0AndZznl0EcTSLLYD4CA7Y3d81IR4gydyEthoR35CLjy7b BGMasywv/e+ePgnSYZRv57hCaFXKWZv94DjQpOPAP68dc2zYGp2aQQBXrhA/Qv3X11qR 55Ag== 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=yoaV8EiIxu54dsFIyU0qdvYTV9Nos1kcoN3M/Zvq+Z8=; b=RfBHaA0ztva2i2RJYcBm3vyKIfBT4kYiu2PgZK19tpIfLsz8vPaohjkucnDbfSmSXx fBytL9k7T4YVyXAOs7TL3tg+lIHft3401gY1xeUd+1R8HpCjohu9A6B+UG9xK/QXtBlq bAdyrpyQC8fj5+F4CC7ea79f8P1M97uPzoODxhq1YULyOXsa0JMR3g3/H8CLM5MYImaZ KttoKysTWkidRHl4t3qARxOQelmaCUmqwJxafgsC3sNuM7ixH3OrJOpEFcBPWbuNKsP2 7vlYmP4/t6qIsmfZW6nEVJSwPNEb3At8y//5BFzMw+/DC5SYuESWOpEnrHOe6f74bkp0 OsGg== X-Gm-Message-State: AOAM533bESuIWLf5GbtawXU99ZrgqHoO0fFvNXvNQCUJApZC3sXCUPRI xmLbD6TizFrp4lP6JOPgEkVY/svQpPVpJDrshtCyvg== X-Google-Smtp-Source: ABdhPJyNYOA6mCmdd4k+gqY/yaotErgNgTwjweShu/vSvjyf4/SAxApHi7n17d+UDmL6h8xlukBGzg/W25y9L1n/yS8= X-Received: by 2002:a7b:cf18:: with SMTP id l24mr4420427wmg.116.1595949012379; Tue, 28 Jul 2020 08:10:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dave Stevenson Date: Tue, 28 Jul 2020 16:09:54 +0100 Message-ID: Subject: Re: [PATCH v4 73/78] drm/vc4: hdmi: Switch to blank pixels when disabled To: Maxime Ripard X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200728_111013_482846_E6392FE4 X-CRM114-Status: GOOD ( 17.87 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tim Gover , LKML , DRI Development , Eric Anholt , bcm-kernel-feedback-list@broadcom.com, Nicolas Saenz Julienne , Phil Elwell , linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Maxime On Wed, 8 Jul 2020 at 18:44, Maxime Ripard wrote: > > In order to avoid pixels getting stuck in an unflushable FIFO, we need when > we disable the HDMI controller to switch away from getting our pixels from > the pixelvalve and instead use blank pixels, and switch back to the > pixelvalve when we enable the HDMI controller. > > Signed-off-by: Maxime Ripard Reviewed-by: Dave Stevenson > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 9 +++++++++ > drivers/gpu/drm/vc4/vc4_regs.h | 3 +++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index f56a718a3643..37463b016b47 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -325,6 +325,12 @@ static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder) > struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); > > HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, 0); > + > + HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) | > + VC4_HD_VID_CTL_CLRRGB | VC4_HD_VID_CTL_CLRSYNC); > + > + HDMI_WRITE(HDMI_VID_CTL, > + HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_BLANKPIX); > } > > static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder) > @@ -563,6 +569,9 @@ static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder) > (vsync_pos ? 0 : VC4_HD_VID_CTL_VSYNC_LOW) | > (hsync_pos ? 0 : VC4_HD_VID_CTL_HSYNC_LOW)); > > + HDMI_WRITE(HDMI_VID_CTL, > + HDMI_READ(HDMI_VID_CTL) & ~VC4_HD_VID_CTL_BLANKPIX); > + > if (vc4_encoder->hdmi_monitor) { > HDMI_WRITE(HDMI_SCHEDULER_CONTROL, > HDMI_READ(HDMI_SCHEDULER_CONTROL) | > diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h > index d1e8961edaa0..30af52b406f1 100644 > --- a/drivers/gpu/drm/vc4/vc4_regs.h > +++ b/drivers/gpu/drm/vc4/vc4_regs.h > @@ -723,6 +723,9 @@ > # define VC4_HD_VID_CTL_FRAME_COUNTER_RESET BIT(29) > # define VC4_HD_VID_CTL_VSYNC_LOW BIT(28) > # define VC4_HD_VID_CTL_HSYNC_LOW BIT(27) > +# define VC4_HD_VID_CTL_CLRSYNC BIT(24) > +# define VC4_HD_VID_CTL_CLRRGB BIT(23) > +# define VC4_HD_VID_CTL_BLANKPIX BIT(18) > > # define VC4_HD_CSC_CTL_ORDER_MASK VC4_MASK(7, 5) > # define VC4_HD_CSC_CTL_ORDER_SHIFT 5 > -- > git-series 0.9.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel