From patchwork Tue May 23 15:08:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 98030 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:6358:3046:b0:115:7a1d:dabb with SMTP id p6csp2200245rwl; Tue, 23 May 2023 08:13:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6seazHohuPa2R+kvnqeW+cxBTgXD0v5pD9rN7fBwTwdxKw2/wQWHYfJct3qWZQbAY1PC1H X-Received: by 2002:a05:6a20:3947:b0:10b:4539:fa0a with SMTP id r7-20020a056a20394700b0010b4539fa0amr10096578pzg.1.1684854815264; Tue, 23 May 2023 08:13:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684854815; cv=none; d=google.com; s=arc-20160816; b=F2qj70cv55Lq2Vm0GlGimGkjCPkc0JxtZcIu1EVRYI3JNiXVo2gLgp65gopCdCY5th 4+IePGwbM3dL6MWDYnVOWqcqRsmsHZJHs67zNstsIjePsekjiLK098dYCz10BcT6dkEK kFpWvnfRqzYlZUYXSCCU0SUdfV9Ay8SA+RhuPoyHpAB64CX052YvWufnDqH8wthxqOhR cBPxyED8BLeMMnAXVG3T0ZrmCsfKuYlqutoBeFrhLpvJ88D24DXl0IAC0zQxiA3Sz0kJ Ja9A1krrh8VRjiD6pqPvtxPo1slNWuBVdnmA/UwHqj/08IhsK2rGkpabN5uT/dUomZJC KJuw== 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 :message-id:date:subject:cc:to:from; bh=PB0/S4sqnqT4Ml80LqHsWdiTrTVuNxKA4YlDjRc8bmQ=; b=x8EWS6CIcMaufZ7tgPNXQTbhl3Xbkx6jQFh2OEiSHC12nCqMN5vd8ixX8qZxbSjiXu kmOwjU84QcuwCt5E5yKZ6c0SdjcaqZUWFfHfGuwHg4BCSXNiouLAzU+EAxH9T2ukWMi7 wnh+5F2U2Y6G1pRVrWHYgQQhZy3A7x+N+nyzEBBCfmphpVzAqr8P0Cqy83iR/vNrZDBy 2Fr4aLa+ct7gh5NU7kcCNOaDqsvZsHPCC3bMftMTY2fDrD9wewlwP8SkYmI4zpIe1KAl uWlV5qFqTRw9C7QAhML/EbTE1Bl25TmcM+U0Ox/WagjGVlmLgk1HHsKbHx28GtDcyCAV sB0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i5-20020a056a00004500b0062d7d3c6cadsi1982017pfk.333.2023.05.23.08.13.14; Tue, 23 May 2023 08:13:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237215AbjEWPIR (ORCPT + 99 others); Tue, 23 May 2023 11:08:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233974AbjEWPIP (ORCPT ); Tue, 23 May 2023 11:08:15 -0400 Received: from laurent.telenet-ops.be (laurent.telenet-ops.be [IPv6:2a02:1800:110:4::f00:19]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D2D8FA for ; Tue, 23 May 2023 08:08:14 -0700 (PDT) Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed30:b0ac:7afd:272:4cff]) by laurent.telenet-ops.be with bizsmtp id 0F8C2A0040Jkz7G01F8CtD; Tue, 23 May 2023 17:08:12 +0200 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtp (Exim 4.95) (envelope-from ) id 1q1TcD-002sva-Fm; Tue, 23 May 2023 17:08:12 +0200 Received: from geert by rox.of.borg with local (Exim 4.95) (envelope-from ) id 1q1TcR-00CkJ4-UB; Tue, 23 May 2023 17:08:11 +0200 From: Geert Uytterhoeven To: Russell King , David Airlie , Daniel Vetter Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Russell King Subject: [PATCH v2 resend] drm/armada: Fix off-by-one error in armada_overlay_get_property() Date: Tue, 23 May 2023 17:08:10 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766698323205710319?= X-GMAIL-MSGID: =?utf-8?q?1766698323205710319?= As ffs() returns one more than the index of the first bit set (zero means no bits set), the color key mode value is shifted one position too much. Fix this by using FIELD_GET() instead. Fixes: c96103b6c49ff9a8 ("drm/armada: move colorkey properties into overlay plane state") Signed-off-by: Geert Uytterhoeven Reviewed-by: Russell King (Oracle) --- Compile-tested only. v2: - Add Reviewed-by. --- drivers/gpu/drm/armada/armada_overlay.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c index f21eb8fb76d87285..3b9bd8ecda137f6d 100644 --- a/drivers/gpu/drm/armada/armada_overlay.c +++ b/drivers/gpu/drm/armada/armada_overlay.c @@ -4,6 +4,8 @@ * Rewritten from the dovefb driver, and Armada510 manuals. */ +#include + #include #include #include @@ -445,8 +447,8 @@ static int armada_overlay_get_property(struct drm_plane *plane, drm_to_overlay_state(state)->colorkey_ug, drm_to_overlay_state(state)->colorkey_vb, 0); } else if (property == priv->colorkey_mode_prop) { - *val = (drm_to_overlay_state(state)->colorkey_mode & - CFG_CKMODE_MASK) >> ffs(CFG_CKMODE_MASK); + *val = FIELD_GET(CFG_CKMODE_MASK, + drm_to_overlay_state(state)->colorkey_mode); } else if (property == priv->brightness_prop) { *val = drm_to_overlay_state(state)->brightness + 256; } else if (property == priv->contrast_prop) {