Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp6188676iob; Tue, 10 May 2022 12:21:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxKz1WvKchA7RDPz7EiTfZZI2vZFP1iX/6VfJrjTpdHMvhPTn8ob+AroihDUcHbfspCIBtD X-Received: by 2002:a17:902:a988:b0:158:9877:6c2c with SMTP id bh8-20020a170902a98800b0015898776c2cmr22029105plb.80.1652210513430; Tue, 10 May 2022 12:21:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652210513; cv=none; d=google.com; s=arc-20160816; b=sDxYQyaaZn/akhLJ5W2yUDor35jtq636MmlmYehmF5ntbsXfc8bkIXc3kw2zVw9uF7 5D6Zad/BFNT4iMaq3pchZteh0aEuMycxQrE7jOWwc3GAiluNpNIrb9FFAqDhfe/eSX1o OSol2NfdFP3IYfn1DYuthca0U0qpWh7CTlw9qeVyzcV7dEVsaj4mPVN+3lMZhvHsStaR qvbfF37fD0zHeYQTs1xRHlfO94ekxaQKD15U3XZcRqrQMEZJsRircmHH06HDVoTEOcZP +OT8GIWE6g+zIEv3GaEXh0szgpbV6tCPzypkiLzeTlNrXYnzUB9vydOqqOmGwMgIhWX9 yrdA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2P9McdLRk0i0OdzLFrMgBAnNp+UZHQ1NUOcENVIoFq4=; b=VhhdEaXXZQflxZyYJqq/nM6NSQqWaidX9ZGjZErdnvQ64jSp8x4IkqIlFuTnBQw2H9 M4ytQbjn0K32XvcjhvasrAW36dB9dsFjIZR6MN7+vS++MB8hXz7XDV3BllNzdS+hWD14 GcGb3VXGw3/Qzelht/BVwqd5n0mmxKHeO7RK3lQtwlFB0LmADzhvpVHxdH7ACreJ18R4 pGKPcK5pmdtRvcEpwlY5LdqNhtaGLLvd+pD0+PA2rNtTxBxKr00ZZNravu67lamXrP6E odxFe/3Ndy4BXUWE2/9UAK4y7KUw/8ORNqQU6mPT1ooSvOQzHiRlRNNHBrP9OQ0qg8Cg daBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zXyMIHKf; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t70-20020a638149000000b003aa3b446c56si186475pgd.446.2022.05.10.12.21.36; Tue, 10 May 2022 12:21:53 -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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zXyMIHKf; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344313AbiEJOVq (ORCPT + 99 others); Tue, 10 May 2022 10:21:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245009AbiEJNrL (ORCPT ); Tue, 10 May 2022 09:47:11 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ABF7D2380F7; Tue, 10 May 2022 06:33:31 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 467756188A; Tue, 10 May 2022 13:33:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AFC2C385C2; Tue, 10 May 2022 13:33:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652189610; bh=n1KCDh4LONfKCtHsaCx9VaPa6rdpnvpNzEZKw6ZLikY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zXyMIHKf/IF0HSnOhrCSp3oVJ9mIlDXXizhL7RIvEiN+bsgBzpz2pZlI7h8gyQhCj KjV2WgcGYuVAj7FtlL1RhvtDpCBBPyyZ3VSo+rRCIEUN+bZ1sEZjZZrrqpSxxRZblN D3Z/yp0+uZ5Xa+DOduQvKXccQaJz9ax3yRovM9ek= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, pali@kernel.org, =?UTF-8?q?Marek=20Beh=FAn?= , Lorenzo Pieralisi Subject: [PATCH 5.15 106/135] PCI: pci-bridge-emul: Add description for class_revision field Date: Tue, 10 May 2022 15:08:08 +0200 Message-Id: <20220510130743.448324699@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220510130740.392653815@linuxfoundation.org> References: <20220510130740.392653815@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 From: Pali Roh?r commit 9319230ac147067652b58fe849ffe0ceec098665 upstream. The current assignment to the class_revision member class_revision |= cpu_to_le32(PCI_CLASS_BRIDGE_PCI << 16); can make the reader think that class is at high 16 bits of the member and revision at low 16 bits. In reality, class is at high 24 bits, but the class for PCI Bridge Normal Decode is PCI_CLASS_BRIDGE_PCI << 8. Change the assignment and add a comment to make this clearer. Link: https://lore.kernel.org/r/20211130172913.9727-2-kabel@kernel.org Signed-off-by: Pali Roh?r Signed-off-by: Marek Beh?n Signed-off-by: Lorenzo Pieralisi Signed-off-by: Marek Beh?n Signed-off-by: Greg Kroah-Hartman --- drivers/pci/pci-bridge-emul.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/drivers/pci/pci-bridge-emul.c +++ b/drivers/pci/pci-bridge-emul.c @@ -284,7 +284,11 @@ int pci_bridge_emul_init(struct pci_brid { BUILD_BUG_ON(sizeof(bridge->conf) != PCI_BRIDGE_CONF_END); - bridge->conf.class_revision |= cpu_to_le32(PCI_CLASS_BRIDGE_PCI << 16); + /* + * class_revision: Class is high 24 bits and revision is low 8 bit of this member, + * while class for PCI Bridge Normal Decode has the 24-bit value: PCI_CLASS_BRIDGE_PCI << 8 + */ + bridge->conf.class_revision |= cpu_to_le32((PCI_CLASS_BRIDGE_PCI << 8) << 8); bridge->conf.header_type = PCI_HEADER_TYPE_BRIDGE; bridge->conf.cache_line_size = 0x10; bridge->conf.status = cpu_to_le16(PCI_STATUS_CAP_LIST);