From patchwork Wed Sep 13 12:27:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 138915 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp1185335vqx; Wed, 13 Sep 2023 09:00:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHLHq4hd9ozXiI5FUxhWL2zUK6+f5Tq3NDQO6zA+UnVSblZd43ImWQtNJFkfQmsT71K6oHd X-Received: by 2002:a05:6a00:188b:b0:68e:3fe9:5d35 with SMTP id x11-20020a056a00188b00b0068e3fe95d35mr3928888pfh.0.1694620836035; Wed, 13 Sep 2023 09:00:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694620836; cv=none; d=google.com; s=arc-20160816; b=j5zlFyj9du6fP0bpucJxpNm12E+fcQbMJUhs4zh9Qz0NHoq1Eupp3MVQpoSCR1dvX9 cWCv3q7a2l26TibVhmtAI3/7MiojdcMkF6MJgYHVpXuSWoKpUbn7r8qGLOyNLV1cSZxI lBkF3quSUR6PkZ7hvCZnz24d0ehAyVT9ac+BqL7svCvDUOUwPEW0lmjUHa0LfW3EnhBe yAs+kX1oXPnbnkODws9eEXY6JowiT9+ad7oQdKkD7LkXwxQUJ9Ej67ri1DMmfJNWQmi0 i15MPROUERqOn2CMmIIutvstVyyLsAJY1VgItJnWfx1d70ja1EwN6yV0soIeXxWU7x5i z8tA== 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=F6GOOYl0JZnHXT/PxNMwZT+/frBsJ3K/WEymv53lk1g=; fh=xOZ2YSgk985so6kZuB0sqykv7lh6i7555H8tbdFH9ug=; b=VZf0fe+/65g4vsQl7mZrwuKJR9aOqH24xPaVjc/mm1Za9ywuL3/w2ShPoDxDdZDsuN 8gCe+6qCiyuGu+VzTN8+Cua0RaPjOhF/FvlwKyOZF47l2Bj0pn5r7d/7QUouwIyGZXYu mGUCJMXdkmVsNMju+szUCckf5eIq5WZ9EFx8hbyUPmm2CSCtPrJbrSezCmN/lVmmuige k6CjiLm3c4ViDfLJXGIeQCQk6jxLViwgmzkzjM+tTN0FBQ6C+wTLtnKX277+bztbwwIu 0OnWJLM8jS/6dpIjve6WxAgDYFksNL9pTLAJAJKCRegdkmcowo2fLw9HMfmzsgSTH4cz dpZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GNLTOGTz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id br14-20020a056a00440e00b0069015b1491bsi1347537pfb.120.2023.09.13.09.00.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 09:00:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GNLTOGTz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 597028118773; Wed, 13 Sep 2023 05:30:43 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240515AbjIMMae (ORCPT + 36 others); Wed, 13 Sep 2023 08:30:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240479AbjIMMaa (ORCPT ); Wed, 13 Sep 2023 08:30:30 -0400 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B455419B9; Wed, 13 Sep 2023 05:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1694608226; x=1726144226; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=owLTR4BdRMVCw3koAJFrF4ot3jKom6tn6pjCI8DaxDE=; b=GNLTOGTzKxZneot54/jdGd02jaM6smvUSpd9i3Ph8Vlsll9JBXP8T2oV 6LOluBwgBX8O4V+OgQUsJYrV3xpjEaR/ucPpSbjVJRiXQ1It+D370EYYg QYqO8oyHrQQPYv06VRPletWIP5peQq6vGpIExhFgUC7YSu0JRP7GvqdK3 MAC99rqPPMdgAsxbbs1nIfp+ijy5qb1H8jhm9jLVAmNxfWedcrIXcf48v r57a13i8X3lvrdHMKyF+kEwrdrMvMtNDkSUQEvNdD+zXk4kBcvjylQDrT lvllbyTPHiX+WmD9vZ8WB5wgl/qtkjJr9Nm+2FUfQdJ/ZPixySuKjZyy7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10832"; a="368912358" X-IronPort-AV: E=Sophos;i="6.02,143,1688454000"; d="scan'208";a="368912358" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Sep 2023 05:28:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10832"; a="693836612" X-IronPort-AV: E=Sophos;i="6.02,143,1688454000"; d="scan'208";a="693836612" Received: from pakurapo-mobl3.ger.corp.intel.com (HELO ijarvine-mobl2.ger.corp.intel.com) ([10.249.45.213]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Sep 2023 05:28:05 -0700 From: =?utf-8?q?Ilpo_J=C3=A4rvinen?= To: Jonathan Cameron , linux-pci@vger.kernel.org, Bjorn Helgaas , Hans Verkuil , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Jonathan Cameron Subject: [PATCH v2 02/10] media: cobalt: Use FIELD_GET() to extract Link Width Date: Wed, 13 Sep 2023 15:27:40 +0300 Message-Id: <20230913122748.29530-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230913122748.29530-1-ilpo.jarvinen@linux.intel.com> References: <20230913122748.29530-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 13 Sep 2023 05:30:43 -0700 (PDT) X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1776938737780399832 X-GMAIL-MSGID: 1776938737780399832 Use FIELD_GET() to extract PCIe Negotiated and Maximum Link Width fields instead of custom masking and shifting. Signed-off-by: Ilpo Järvinen Reviewed-by: Jonathan Cameron --- drivers/media/pci/cobalt/cobalt-driver.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/media/pci/cobalt/cobalt-driver.c b/drivers/media/pci/cobalt/cobalt-driver.c index 74edcc76d12f..6e1a0614e6d0 100644 --- a/drivers/media/pci/cobalt/cobalt-driver.c +++ b/drivers/media/pci/cobalt/cobalt-driver.c @@ -8,6 +8,7 @@ * All rights reserved. */ +#include #include #include #include @@ -210,17 +211,17 @@ void cobalt_pcie_status_show(struct cobalt *cobalt) pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &stat); cobalt_info("PCIe link capability 0x%08x: %s per lane and %u lanes\n", capa, get_link_speed(capa), - (capa & PCI_EXP_LNKCAP_MLW) >> 4); + FIELD_GET(PCI_EXP_LNKCAP_MLW, capa)); cobalt_info("PCIe link control 0x%04x\n", ctrl); cobalt_info("PCIe link status 0x%04x: %s per lane and %u lanes\n", stat, get_link_speed(stat), - (stat & PCI_EXP_LNKSTA_NLW) >> 4); + FIELD_GET(PCI_EXP_LNKSTA_NLW, stat)); /* Bus */ pcie_capability_read_dword(pci_bus_dev, PCI_EXP_LNKCAP, &capa); cobalt_info("PCIe bus link capability 0x%08x: %s per lane and %u lanes\n", capa, get_link_speed(capa), - (capa & PCI_EXP_LNKCAP_MLW) >> 4); + FIELD_GET(PCI_EXP_LNKCAP_MLW, capa)); /* Slot */ pcie_capability_read_dword(pci_dev, PCI_EXP_SLTCAP, &capa); @@ -239,7 +240,7 @@ static unsigned pcie_link_get_lanes(struct cobalt *cobalt) if (!pci_is_pcie(pci_dev)) return 0; pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &link); - return (link & PCI_EXP_LNKSTA_NLW) >> 4; + return FIELD_GET(PCI_EXP_LNKSTA_NLW, link); } static unsigned pcie_bus_link_get_lanes(struct cobalt *cobalt) @@ -250,7 +251,7 @@ static unsigned pcie_bus_link_get_lanes(struct cobalt *cobalt) if (!pci_is_pcie(pci_dev)) return 0; pcie_capability_read_dword(pci_dev, PCI_EXP_LNKCAP, &link); - return (link & PCI_EXP_LNKCAP_MLW) >> 4; + return FIELD_GET(PCI_EXP_LNKCAP_MLW, link); } static void msi_config_show(struct cobalt *cobalt, struct pci_dev *pci_dev)