From patchwork Mon Mar 20 15:43:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geert Uytterhoeven X-Patchwork-Id: 72237 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1293766wrt; Mon, 20 Mar 2023 08:58:28 -0700 (PDT) X-Google-Smtp-Source: AK7set+xlAlvIfKmDjWlidFROTtWQvxIB5YVfL4X/KrPIliPlwwWS5+futZEJ3x1Pm3kcjAHqWNq X-Received: by 2002:a05:6a20:c11a:b0:d9:2818:44d with SMTP id bh26-20020a056a20c11a00b000d92818044dmr6376443pzb.11.1679327908254; Mon, 20 Mar 2023 08:58:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679327908; cv=none; d=google.com; s=arc-20160816; b=Q5+3c1bfDPc4c2DFcVw34rOoT2Dn9pdIpFOdaT+MdZogvYWw2/mEd7N83E00gBNCLb Jcm81uSiRq5eCjkY9xCXyJujg4HYFeNVYr47lXs1JvVshs9hE3GhEy4l/iX0C9/q7572 0zaDVt8tQr0ANJTDTyEOMflOJZ7f4lYBYRWW9U6spz5BSpk+SPfyoiqvi3h+LGpfXLSs mIBnF1rIYpILk5s04JTI7yAmLv52Ekkbo36uF8iY+bC4gCTDA2xS4JJNEONdkB62o7B6 BAKPokwjQ76xuH8I9V0F3meQ1LPVf9msI4Uuv+PUn5uqctotlyYrv3U9MGAl7M4bghkk tp6A== 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=ZhpyiW9uU8y+TImSeTVDsXD9y/MT0LISTlUSB8AmUhNSuLrklUSgQEi6v8cXYpTJdS sx7YUqnaXheEfGLAe2oM5xJPEkNeKXzMjImpg4nFpKJHBUe1WvWIPdVkgc93O7BLUaKi grp2hqYwyKbQEUnkm00jMi8M7Mf3FigcXLvSbIeQISwDbs7GON6k6LUxk2i8IolrvdGk 4fRP9Jp47NAKFbl2v5EMyI/ykpfkonlHXCy1yMwSLW9WxvdFtJXLL4GhBCnbX5+r0qe7 5IcDtDv2JgRkrANgbEUSOmnmQGGqWBFxMHLZ6Lq90RnmZrWZONIElT3FcGygssFa7yda oGew== 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 a22-20020a631a56000000b0050bd4b86169si10565074pgm.414.2023.03.20.08.58.15; Mon, 20 Mar 2023 08:58:28 -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 S232139AbjCTPxA (ORCPT + 99 others); Mon, 20 Mar 2023 11:53:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230351AbjCTPwf (ORCPT ); Mon, 20 Mar 2023 11:52:35 -0400 Received: from andre.telenet-ops.be (andre.telenet-ops.be [IPv6:2a02:1800:120:4::f00:15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CEDC73BD94 for ; Mon, 20 Mar 2023 08:43:29 -0700 (PDT) Received: from ramsan.of.borg ([84.195.187.55]) by andre.telenet-ops.be with bizsmtp id afjP2900g1C8whw01fjPsH; Mon, 20 Mar 2023 16:43:24 +0100 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtp (Exim 4.95) (envelope-from ) id 1peHek-00E2gI-QK; Mon, 20 Mar 2023 16:43:23 +0100 Received: from geert by rox.of.borg with local (Exim 4.95) (envelope-from ) id 1peHfP-007Rh7-IX; Mon, 20 Mar 2023 16:43:23 +0100 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] drm/armada: Fix off-by-one error in armada_overlay_get_property() Date: Mon, 20 Mar 2023 16:43:22 +0100 Message-Id: <7fbfcf4f1adafbe45e98257a07ac607718fe2aae.1679326886.git.geert+renesas@glider.be> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE 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?1760902940339067954?= X-GMAIL-MSGID: =?utf-8?q?1760902940339067954?= 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) {