Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp4569616pxv; Tue, 6 Jul 2021 04:18:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxV+bVaPchfJx1fP4bDAPNoH/mAc3CP+h8jqB1HSyC5HNYsKfo9i9XAa4c0VaSxTP15VNHc X-Received: by 2002:a05:6e02:ecb:: with SMTP id i11mr12196847ilk.40.1625570280643; Tue, 06 Jul 2021 04:18:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625570280; cv=none; d=google.com; s=arc-20160816; b=aduwXqbktG2F6qjcux3CAUc75wRQLw8tmjY5I1BjEFc5yiWR5QzXIB8bMl14zTduiy mMIRfdr4yh/0Ipe2PnVCPgU11VjFXMVxDAUo2nkT+Nn3ilmZfNG6XJLqPjLu3YY32ZuQ 0WEBNeth0mj+zJksS3Hg6+FiVNqdD8Vc8tLW9obS+Jo3QZE7CwSYJL1WNo96wxLcBGQP 45kjvBXlncD4bKMiYyL8wxGxSudRZEy0Vx8Zg+huReIjShO9Ly/1O8oJbMO67+vGSTij KPNA2n9P+wSJstzVHdlSzZvVUME4jJEjld2/B/xAdLm+Yht/uL4H0oBKXpB4VeO3WMnb fX1w== 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=tk8l4ZngIm7lBugRcn2Mqh1q0itCI3ABOF92oCkUOno=; b=yzNg6vCqZUTmr4ei3SO5U6YVBfXoX/PNEv5u7oEjG8fHszGjDNEUQDQWcJAUZGkbYE vSEIWemcyT0l6aVLQFD0EwYlD9qnDogTGyyZvjcbjmWdkqzbh3YF++N2LmPOHlHuq9sd jxg0hdTibCmZpNwvxfX8AH8fvgpZ9CNZ/v345fj7IYXmGDVc3bCJRa+WhUprGy6KIE04 X8PwH2oR/KUsjmDJOWEh4L+9W44dXF24KjrQnxJd+MMDhdFH6qN+i74cemWuPi51ijhy 2CGEPerJnMCD7OhOWNoI3F2I4DvGgDEQsZHsS8bzrirTsDLnDB1RTEptlEAmiWv/GHvP LL/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SozdEaTI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n17si1567173jam.90.2021.07.06.04.17.48; Tue, 06 Jul 2021 04:18:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SozdEaTI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232626AbhGFLT4 (ORCPT + 99 others); Tue, 6 Jul 2021 07:19:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:54174 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232380AbhGFLSN (ORCPT ); Tue, 6 Jul 2021 07:18:13 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6189661C2E; Tue, 6 Jul 2021 11:15:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625570127; bh=fkdniDa+xDCETYQggD9oaebwsk6k8b5LwB+FE25nR24=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SozdEaTIqJeM2c4mMkehVoGQ6ULU55BLkMRjMOuVOktkjXvg99+/iOlBRbhPfKA3E SEMuF8qO/5kznUVIKltqE5ehvuEy97zXMdCDMORAcx2jn3F8+aWlsQbegI0WG2Q+Q4 Ik4qrnOjQJgswDsZpglaDE1xwEcZ75d2qTxRspgo9kEaULO++EBUVJjAR3Kbc7AVTZ a6rKEFFbagHZUyvXQ7qUb9kVcILVOwv1zn4MTWDcd7b2+Vm7ispN3HYukQyGkMDSzw xuDnyh4dYws4KOQTJ+1xEZur430rOuaZrNuSJ/iJZFZzogFO+uIToXZNfVZP5VNjDn DngmkSmX/Y+ag== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alex Bee , Heiko Stuebner , Sasha Levin , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH AUTOSEL 5.13 055/189] drm: rockchip: add missing registers for RK3066 Date: Tue, 6 Jul 2021 07:11:55 -0400 Message-Id: <20210706111409.2058071-55-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210706111409.2058071-1-sashal@kernel.org> References: <20210706111409.2058071-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alex Bee [ Upstream commit 742203cd56d150eb7884eb45abb7d9dbc2bdbf04 ] Add dither_up, dsp_lut_en and data_blank registers to enable their respective functionality for RK3066's VOP. While at that also fix .rb_swap and .format registers for all windows, which have to be set though RK3066_SYS_CTRL1 register. Also remove .scl from win1: Scaling is only supported on the primary plane. Signed-off-by: Alex Bee Signed-off-by: Heiko Stuebner Link: https://patchwork.freedesktop.org/patch/msgid/20210528130554.72191-4-knaerzche@gmail.com Signed-off-by: Sasha Levin --- drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c index b8dcee64a1f7..a6fe03c3748a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c @@ -349,8 +349,8 @@ static const struct vop_win_phy rk3066_win0_data = { .nformats = ARRAY_SIZE(formats_win_full), .format_modifiers = format_modifiers_win_full, .enable = VOP_REG(RK3066_SYS_CTRL1, 0x1, 0), - .format = VOP_REG(RK3066_SYS_CTRL0, 0x7, 4), - .rb_swap = VOP_REG(RK3066_SYS_CTRL0, 0x1, 19), + .format = VOP_REG(RK3066_SYS_CTRL1, 0x7, 4), + .rb_swap = VOP_REG(RK3066_SYS_CTRL1, 0x1, 19), .act_info = VOP_REG(RK3066_WIN0_ACT_INFO, 0x1fff1fff, 0), .dsp_info = VOP_REG(RK3066_WIN0_DSP_INFO, 0x0fff0fff, 0), .dsp_st = VOP_REG(RK3066_WIN0_DSP_ST, 0x1fff1fff, 0), @@ -361,13 +361,12 @@ static const struct vop_win_phy rk3066_win0_data = { }; static const struct vop_win_phy rk3066_win1_data = { - .scl = &rk3066_win_scl, .data_formats = formats_win_full, .nformats = ARRAY_SIZE(formats_win_full), .format_modifiers = format_modifiers_win_full, .enable = VOP_REG(RK3066_SYS_CTRL1, 0x1, 1), - .format = VOP_REG(RK3066_SYS_CTRL0, 0x7, 7), - .rb_swap = VOP_REG(RK3066_SYS_CTRL0, 0x1, 23), + .format = VOP_REG(RK3066_SYS_CTRL1, 0x7, 7), + .rb_swap = VOP_REG(RK3066_SYS_CTRL1, 0x1, 23), .act_info = VOP_REG(RK3066_WIN1_ACT_INFO, 0x1fff1fff, 0), .dsp_info = VOP_REG(RK3066_WIN1_DSP_INFO, 0x0fff0fff, 0), .dsp_st = VOP_REG(RK3066_WIN1_DSP_ST, 0x1fff1fff, 0), @@ -382,8 +381,8 @@ static const struct vop_win_phy rk3066_win2_data = { .nformats = ARRAY_SIZE(formats_win_lite), .format_modifiers = format_modifiers_win_lite, .enable = VOP_REG(RK3066_SYS_CTRL1, 0x1, 2), - .format = VOP_REG(RK3066_SYS_CTRL0, 0x7, 10), - .rb_swap = VOP_REG(RK3066_SYS_CTRL0, 0x1, 27), + .format = VOP_REG(RK3066_SYS_CTRL1, 0x7, 10), + .rb_swap = VOP_REG(RK3066_SYS_CTRL1, 0x1, 27), .dsp_info = VOP_REG(RK3066_WIN2_DSP_INFO, 0x0fff0fff, 0), .dsp_st = VOP_REG(RK3066_WIN2_DSP_ST, 0x1fff1fff, 0), .yrgb_mst = VOP_REG(RK3066_WIN2_MST, 0xffffffff, 0), @@ -408,6 +407,9 @@ static const struct vop_common rk3066_common = { .dither_down_en = VOP_REG(RK3066_DSP_CTRL0, 0x1, 11), .dither_down_mode = VOP_REG(RK3066_DSP_CTRL0, 0x1, 10), .dsp_blank = VOP_REG(RK3066_DSP_CTRL1, 0x1, 24), + .dither_up = VOP_REG(RK3066_DSP_CTRL0, 0x1, 9), + .dsp_lut_en = VOP_REG(RK3066_SYS_CTRL1, 0x1, 31), + .data_blank = VOP_REG(RK3066_DSP_CTRL1, 0x1, 25), }; static const struct vop_win_data rk3066_vop_win_data[] = { -- 2.30.2