From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EDCB5C433ED for ; Wed, 31 Mar 2021 14:46:37 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7FE3661003 for ; Wed, 31 Mar 2021 14:46:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7FE3661003 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kaod.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4F9TfN1Xcfz3cPt for ; Thu, 1 Apr 2021 01:46:36 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=softfail (domain owner discourages use of this host) smtp.mailfrom=kaod.org (client-ip=148.163.158.5; helo=mx0a-001b2d01.pphosted.com; envelope-from=clg@kaod.org; receiver=) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4F9TdC3XYvz2yjc for ; Thu, 1 Apr 2021 01:45:35 +1100 (AEDT) Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12VEYnBF182894; Wed, 31 Mar 2021 10:45:22 -0400 Received: from ppma05fra.de.ibm.com (6c.4a.5195.ip4.static.sl-reverse.com [149.81.74.108]) by mx0b-001b2d01.pphosted.com with ESMTP id 37mrab64sm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 31 Mar 2021 10:45:22 -0400 Received: from pps.filterd (ppma05fra.de.ibm.com [127.0.0.1]) by ppma05fra.de.ibm.com (8.16.0.43/8.16.0.43) with SMTP id 12VEgDVs006326; Wed, 31 Mar 2021 14:45:20 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma05fra.de.ibm.com with ESMTP id 37marxgbte-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 31 Mar 2021 14:45:20 +0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 12VEjH7a50856266 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 31 Mar 2021 14:45:17 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BE79652059; Wed, 31 Mar 2021 14:45:17 +0000 (GMT) Received: from smtp.tlslab.ibm.com (unknown [9.101.4.1]) by d06av21.portsmouth.uk.ibm.com (Postfix) with SMTP id 82FD452050; Wed, 31 Mar 2021 14:45:17 +0000 (GMT) Received: from yukon.ibmuc.com (unknown [9.171.70.101]) by smtp.tlslab.ibm.com (Postfix) with ESMTP id CE1F1220190; Wed, 31 Mar 2021 16:45:16 +0200 (CEST) From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH v3 1/9] powerpc/xive: Use cpu_to_node() instead of "ibm, chip-id" property Date: Wed, 31 Mar 2021 16:45:06 +0200 Message-Id: <20210331144514.892250-2-clg@kaod.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210331144514.892250-1-clg@kaod.org> References: <20210331144514.892250-1-clg@kaod.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: -Pg_S2lXTSRLz_hARai6avE02bCXFdkd X-Proofpoint-GUID: -Pg_S2lXTSRLz_hARai6avE02bCXFdkd X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-03-31_06:2021-03-31, 2021-03-31 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 clxscore=1034 lowpriorityscore=0 suspectscore=0 adultscore=0 phishscore=0 spamscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2103300000 definitions=main-2103310105 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Gibson , Greg Kurz , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" The 'chip_id' field of the XIVE CPU structure is used to choose a target for a source located on the same chip when possible. The XIVE driver queries the chip id value from the "ibm,chip-id" DT property but this property is not available on all platforms. It was first introduced on the PowerNV platform and later, under QEMU for pseries. However, the property does not exist under PowerVM since it is not specified in PAPR. cpu_to_node() is a better alternative. On the PowerNV platform, the node id is computed from the "ibm,associativity" property of the CPU. Its value is built in the OPAL firmware from the physical chip id and is equivalent to "ibm,chip-id". On pSeries, the hcall H_HOME_NODE_ASSOCIATIVITY returns the node id. Also to be noted that under QEMU/KVM "ibm,chip-id" is badly calculated with unusual SMT configuration. This leads to a bogus chip id value being returned by of_get_ibm_chip_id(). Cc: David Gibson Signed-off-by: C=C3=A9dric Le Goater --- Changes in v3: - improved commit log for the misuse of "ibm,chip-id" arch/powerpc/sysdev/xive/common.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive= /common.c index 7e08be5e5e4a..776871274b69 100644 --- a/arch/powerpc/sysdev/xive/common.c +++ b/arch/powerpc/sysdev/xive/common.c @@ -1336,16 +1336,11 @@ static int xive_prepare_cpu(unsigned int cpu) =20 xc =3D per_cpu(xive_cpu, cpu); if (!xc) { - struct device_node *np; - xc =3D kzalloc_node(sizeof(struct xive_cpu), GFP_KERNEL, cpu_to_node(cpu)); if (!xc) return -ENOMEM; - np =3D of_get_cpu_node(cpu, NULL); - if (np) - xc->chip_id =3D of_get_ibm_chip_id(np); - of_node_put(np); + xc->chip_id =3D cpu_to_node(cpu); xc->hw_ipi =3D XIVE_BAD_IRQ; =20 per_cpu(xive_cpu, cpu) =3D xc; --=20 2.26.3