Received: by 2002:a05:6a10:c7c6:0:0:0:0 with SMTP id h6csp1848002pxy; Mon, 2 Aug 2021 11:48:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUzTLEW74+Ke6q0dsdFJ5qzySEcQF0dSwwM7Cayg3yasWrn5dsK2U5SLH6X9Ily1xgOjgy X-Received: by 2002:a6b:dc10:: with SMTP id s16mr1009526ioc.61.1627930105060; Mon, 02 Aug 2021 11:48:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627930105; cv=none; d=google.com; s=arc-20160816; b=muhsRwLzgqE1Uzsjc9YJUgoe2UkZ9HC7l77R7AD4SRPMZ5YQxcIJjooSSjl4IMs+fT 7dGI5eV2vcQI+fintVbaZCVTUxgr/6aa/dGP+lZmoHUYmwCZcrsDilm3a3y3F6JfJBKB AKllZ+tv7wB/aj1Ujrh4flEwn2f92JEqC7fPWlYGQAGMAhZh5mGy/USAcsB2yo9GYtWl hqH+Z3NZtH9ee09fGwK31O6isvFdThbgFXk0bpYJL02fHh44Nu4TYPLpNPZhrbTMXYOW m8bVnRa3WjRqgt83ojSUsGMGJzgCzN1dLtxq8aYKfUYy0xM+q1ovZnyjrDyJEn9bvntB KeVg== 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:dkim-signature; bh=dsauZAnzB9AyD5J4J9mAeEFxLwVVinDD+qnnMIl8EZo=; b=J71khxlegAlVQB9Pg5gdjLjJHfl/QZfp5TwQ+OfDy0Vylh6B5vxHR1NUNPpZw5fD9Q EcL1JKNBfugZv38TehRVbROJKQ9JfeJg+7Tg/IGj1CJ0c6j7olFBc2Dd0X4EWwjPvayL aVMETSRdYkz8xh36/2tVy4nzJ84Q20kvnXhCUGz4wS2gCYLFv40nIUmyv/Crz/hGvP73 3TnSyepy/y8DADnZZ+n0pBRrbpDE+EWX+tm2QamWdEtkbHGlk/S8fIK34yNcHoWmH3C6 Sdx6HKZXUnMYjFYT10VZkL0OREtHTP+dIrA/TbVsMBZ6Kys/eueE9sNspZOmaJsZgczw eQWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="gjfGI/BK"; 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=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d12si14920097ilg.4.2021.08.02.11.48.13; Mon, 02 Aug 2021 11:48:25 -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=@chromium.org header.s=google header.b="gjfGI/BK"; 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=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229607AbhHBSrd (ORCPT + 99 others); Mon, 2 Aug 2021 14:47:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229537AbhHBSrd (ORCPT ); Mon, 2 Aug 2021 14:47:33 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93F4EC06175F for ; Mon, 2 Aug 2021 11:47:23 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id u9-20020a17090a1f09b029017554809f35so239492pja.5 for ; Mon, 02 Aug 2021 11:47:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dsauZAnzB9AyD5J4J9mAeEFxLwVVinDD+qnnMIl8EZo=; b=gjfGI/BKiYavobOussivM7E9HIvVWJTwsVefRfNXdPEAxK++5mhcGH6EOiAm51SOJY VY35HILT82aGYNQdpZYSCqv31GJMBgCayeJ5jRf/3oBQyMqqSxcxBcUQcmjjD9nNqABM T8AjlVP/eH64LqanVs12L4JmflMQ49QVXF+1U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dsauZAnzB9AyD5J4J9mAeEFxLwVVinDD+qnnMIl8EZo=; b=Qvz+8qw7rVtmq6hoaaE0c3Na6yPYM+WT/CSZkcQIAO7E9K3CgWmaYvJn5ErPbx/jPp Kc/2wIu4KVVirWtDDmec9gDpWDr9wgMDmUkPh1fEMFHvpgeU2bFliECH7eJ3XFX/GBc9 bNqqw0RV9i4+y8ybQawrypiGHHsPddfJaGiNsxre9BQU7T7ZuzQiqutFKtPqklN+r4nM VqYMpUqkeT7O5Lqnrep+uH9zQTAWtM/fl9JEC8+6vsUfD2jMAx9v+Bu99iySyhctKoFi KXRPKolMU5vE1GqWiBXfvs2ZeAl4pS+zkX/Ui3A7MyWbvP7eKUalxLoe+MPhVVOhSba7 NQag== X-Gm-Message-State: AOAM5300EgIDSJm+WcEs6EFc+dGkgFd3WBmkfw9S7GGvdbQST1D/bJcv kipKVTDL/a9wsZmDaIQZMu/pFgnj7QixXQ== X-Received: by 2002:a17:90a:d190:: with SMTP id fu16mr264674pjb.157.1627930042928; Mon, 02 Aug 2021 11:47:22 -0700 (PDT) Received: from pmalani2.mtv.corp.google.com ([2620:15c:202:201:8875:fb28:686e:1c31]) by smtp.gmail.com with ESMTPSA id l11sm13356483pfd.187.2021.08.02.11.47.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Aug 2021 11:47:22 -0700 (PDT) From: Prashant Malani To: linux-kernel@vger.kernel.org Cc: Prashant Malani , Benson Leung , Enric Balletbo i Serra , Guenter Roeck Subject: [PATCH 1/2] platform/chrome: cros_ec_proto: Update feature check Date: Mon, 2 Aug 2021 11:47:10 -0700 Message-Id: <20210802184711.3872372-1-pmalani@chromium.org> X-Mailer: git-send-email 2.32.0.554.ge1b32706d8-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org EC feature flags now require more than 32 bits to be represented. In order to make cros_ec_check_features() usable for more recent features, update it to account for the extra 32 bits of features. Signed-off-by: Prashant Malani --- drivers/platform/chrome/cros_ec_proto.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c index a7404d69b2d3..772edad80593 100644 --- a/drivers/platform/chrome/cros_ec_proto.c +++ b/drivers/platform/chrome/cros_ec_proto.c @@ -813,6 +813,7 @@ EXPORT_SYMBOL(cros_ec_get_host_event); int cros_ec_check_features(struct cros_ec_dev *ec, int feature) { struct cros_ec_command *msg; + u32 mask; int ret; if (ec->features[0] == -1U && ec->features[1] == -1U) { @@ -839,7 +840,12 @@ int cros_ec_check_features(struct cros_ec_dev *ec, int feature) kfree(msg); } - return ec->features[feature / 32] & EC_FEATURE_MASK_0(feature); + if (feature >= 32) + mask = EC_FEATURE_MASK_1(feature); + else + mask = EC_FEATURE_MASK_0(feature); + + return ec->features[feature / 32] & mask; } EXPORT_SYMBOL_GPL(cros_ec_check_features); -- 2.32.0.554.ge1b32706d8-goog