Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp660862ybh; Tue, 10 Mar 2020 06:04:28 -0700 (PDT) X-Google-Smtp-Source: ADFU+vtSBsWWsCM7TT9OClJ5uZkCAO0WNPiI74qrI9GoMAhjQGJ2ou/WhTR7vBW4Bh/ED63/IcVI X-Received: by 2002:a05:6830:15d8:: with SMTP id j24mr17552965otr.258.1583845468105; Tue, 10 Mar 2020 06:04:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1583845468; cv=none; d=google.com; s=arc-20160816; b=l/4G9EaA8yivdbDJP5Gh+S5GCjGtaR3LJoOJwdqs6ztzQGk2qyUD1i2BUEnFi4OGY9 a0fzdS1EIp6Rp+Ec4M1Jk/sHTPSPwrMFlyvXv1jak24DAvqHyCoaX14aCLGAPzZpADsu zjXOU51a8YR6MRCnVDGhKHhD2VuxwWFzM2mOtDyQn0VUK2pRr9RyP/Bwxdv6T9cUR9I8 QOPQ7W6AxJoByxpwYJuX2mTvvh07ofrQCipwnZgsBBUJb470s6d+KFHyP1GUsptOoqtx 3fqCwLw0Y3XiIROgUs+8b47zkpRFlc3qtilyDvrg3U2hmmuHSsaDJrYhJxwIlTijs77j Esgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vqk75r6Nw8dq6IT5IcbhqYDA1O1nmim0eNNYmwYgHjA=; b=OVAB72/UdBrualFhGz/7bkT8MsQ85elYhXNlJSi/OfFhd6ueGLQHerAAx2NxRYSCVI rXWsYyr+zImcbgyQHPk79PaIuPODXhjl6ziM7DccidpsM41p0sRMrpgSML+fwx0bNQ+c 2fmS2x8DAq8RLqbhS2mEoh55ppNHJnF/2Wfwww1j8ktbDUSHt0HHQS4m0bCpEpJVfO81 Gykyzaog+PeBqTqo/c+glbk0kOhQQY64u/xa+IFYfB2BPbRxuBS4C2YJCmYgUsg1wHEb cbShVhI3dePzcxEY8puJSEqhvtkuNsrG04qLvAFYaGbiVqwIi1qLv8al/dqPn0lXAzZW PNDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PFep8quA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q3si3147120oij.157.2020.03.10.06.03.52; Tue, 10 Mar 2020 06:04:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PFep8quA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730383AbgCJNCQ (ORCPT + 99 others); Tue, 10 Mar 2020 09:02:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:44546 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730372AbgCJNCP (ORCPT ); Tue, 10 Mar 2020 09:02:15 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 03B1320409; Tue, 10 Mar 2020 13:02:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583845334; bh=AVzm+BISmI/wJXjIKEQkgYUROhyHeNW4UtDhWxsdGk0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PFep8quAmuiL7YNiBfZDgAZFeQQsLkQS+IDx2w/pGFwFgaKnLY5zOlMDUUsW0QiPb 47UfeFuBEARVaJgF+vHrqYj3YRlZvdas1MHR+cA8fbxFhfcchm5fG8rQNlYboVAzNG PJkKid2S0B3OajdGEfI4dMtiXSS+4f6RftACWqdE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Xinliang Liu , Rongrong Zou , Xinwei Kong , Chen Feng , Sam Ravnborg , David Airlie , Daniel Vetter , dri-devel , John Stultz Subject: [PATCH 5.5 144/189] drm: kirin: Revert "Fix for hikey620 display offset problem" Date: Tue, 10 Mar 2020 13:39:41 +0100 Message-Id: <20200310123654.404244877@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200310123639.608886314@linuxfoundation.org> References: <20200310123639.608886314@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: John Stultz commit 1b79cfd99ff5127e6a143767b51694a527b3ea38 upstream. This reverts commit ff57c6513820efe945b61863cf4a51b79f18b592. With the commit ff57c6513820 ("drm: kirin: Fix for hikey620 display offset problem") we added support for handling LDI overflows by resetting the hardware. However, its been observed that when we do hit the LDI overflow condition, the irq seems to be screaming, and we do nothing but stream: [drm:ade_irq_handler [kirin_drm]] *ERROR* LDI underflow! over and over to the screen I've tried a few appraoches to avoid this, but none has yet been successful and the cure here is worse then the original disease, so revert this for now. Cc: Xinliang Liu Cc: Rongrong Zou Cc: Xinwei Kong Cc: Chen Feng Cc: Sam Ravnborg Cc: David Airlie Cc: Daniel Vetter Cc: dri-devel Fixes: ff57c6513820 ("drm: kirin: Fix for hikey620 display offset problem") Signed-off-by: John Stultz Acked-by: Xinliang Liu Signed-off-by: Xinliang Liu Link: https://patchwork.freedesktop.org/patch/msgid/20200303163228.52741-1-john.stultz@linaro.org Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h | 1 - drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 20 -------------------- 2 files changed, 21 deletions(-) --- a/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h @@ -83,7 +83,6 @@ #define VSIZE_OFST 20 #define LDI_INT_EN 0x741C #define FRAME_END_INT_EN_OFST 1 -#define UNDERFLOW_INT_EN_OFST 2 #define LDI_CTRL 0x7420 #define BPP_OFST 3 #define DATA_GATE_EN BIT(2) --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c @@ -46,7 +46,6 @@ struct ade_hw_ctx { struct clk *media_noc_clk; struct clk *ade_pix_clk; struct reset_control *reset; - struct work_struct display_reset_wq; bool power_on; int irq; @@ -136,7 +135,6 @@ static void ade_init(struct ade_hw_ctx * */ ade_update_bits(base + ADE_CTRL, FRM_END_START_OFST, FRM_END_START_MASK, REG_EFFECTIVE_IN_ADEEN_FRMEND); - ade_update_bits(base + LDI_INT_EN, UNDERFLOW_INT_EN_OFST, MASK(1), 1); } static bool ade_crtc_mode_fixup(struct drm_crtc *crtc, @@ -304,17 +302,6 @@ static void ade_crtc_disable_vblank(stru MASK(1), 0); } -static void drm_underflow_wq(struct work_struct *work) -{ - struct ade_hw_ctx *ctx = container_of(work, struct ade_hw_ctx, - display_reset_wq); - struct drm_device *drm_dev = ctx->crtc->dev; - struct drm_atomic_state *state; - - state = drm_atomic_helper_suspend(drm_dev); - drm_atomic_helper_resume(drm_dev, state); -} - static irqreturn_t ade_irq_handler(int irq, void *data) { struct ade_hw_ctx *ctx = data; @@ -331,12 +318,6 @@ static irqreturn_t ade_irq_handler(int i MASK(1), 1); drm_crtc_handle_vblank(crtc); } - if (status & BIT(UNDERFLOW_INT_EN_OFST)) { - ade_update_bits(base + LDI_INT_CLR, UNDERFLOW_INT_EN_OFST, - MASK(1), 1); - DRM_ERROR("LDI underflow!"); - schedule_work(&ctx->display_reset_wq); - } return IRQ_HANDLED; } @@ -919,7 +900,6 @@ static void *ade_hw_ctx_alloc(struct pla if (ret) return ERR_PTR(-EIO); - INIT_WORK(&ctx->display_reset_wq, drm_underflow_wq); ctx->crtc = crtc; return ctx;