Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp5263571rwb; Mon, 14 Nov 2022 01:43:15 -0800 (PST) X-Google-Smtp-Source: AA0mqf45wH6HMnIEu8FbcIphjdKAJ61A/hPglt+KECNDYAaJwslUQK5Ev9eksbIcLxGkQfbH7SRn X-Received: by 2002:a17:906:9245:b0:783:71d1:14a0 with SMTP id c5-20020a170906924500b0078371d114a0mr9680646ejx.430.1668418994862; Mon, 14 Nov 2022 01:43:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668418994; cv=none; d=google.com; s=arc-20160816; b=mE0f1pM8fGvTS1EJIeaV6tEx3D+DV7LvH9+kjjSElnOLsvDvDGE1tnjC4qnC+rlIyX Ab4fWFvRVQFrpfC24jAcqFxGEpmJ6gM8Xo8VnOFEp8H0rv1qal0aLYCtmJVJUmC9vkGY lMmHCOPUw7iaeHsmZc5/lbT/BomsNMccyyzyd4gIqSj68QoVZxMTOq1GQuU40KKUNo2U ujBQ3qBy0fNm05zBUy0MOkpa/4lv8hlIIDL4E1a/m7PFCbi9xSHxBnPhpY4vfmWaENEc Q/mMpNbsyjbdHxpcbEtw/nCpitzKGWAJaeW0Q+Dp41truy5XdG+S24+Vwk30Vz5+9D/8 hlZQ== 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=YgauXixAJJD9XtFDMaahyOPCpv34fcIn9lLW9e+Ynmc=; b=lLghc/inS9t/zwQIvT7+V/62wowBD7pXRPRJwHr+rHXKfUBhUSP7SQQF1oi+h0JlAu LADAck2sukbegJGWf3R7+N/2cno+ur965tdt0Bd4+EYGWY6+qi0900N5VPU/9bFvRVao 5NsoRcYaWAIx97tbtnNZ/nuLaOnELaC+tAL/gD7RN+Jh+oGg3fWi9tx/DC/9EPFnmBUQ oITmKxgpmDwsQ/1Uww7iYncdcvhcMvuTRMRSq9RY0Xrzumsj8YPGIhiD57AeVTO9tD6J 69hYCqP5gtXYafSTYa/9ieBKoV0guOdEjoZuRYkTMJCiIfIjXOXfhOkjqDXGZFiIwAWM iYDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@maxlinear.com header.s=selector header.b=I0ZaDDgx; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=maxlinear.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he19-20020a1709073d9300b007ae814af686si9880871ejc.974.2022.11.14.01.42.53; Mon, 14 Nov 2022 01:43:14 -0800 (PST) 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=@maxlinear.com header.s=selector header.b=I0ZaDDgx; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=maxlinear.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236644AbiKNJVf (ORCPT + 88 others); Mon, 14 Nov 2022 04:21:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236421AbiKNJVX (ORCPT ); Mon, 14 Nov 2022 04:21:23 -0500 Received: from us-smtp-delivery-115.mimecast.com (us-smtp-delivery-115.mimecast.com [170.10.129.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A154FE0C7 for ; Mon, 14 Nov 2022 01:20:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maxlinear.com; s=selector; t=1668417619; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YgauXixAJJD9XtFDMaahyOPCpv34fcIn9lLW9e+Ynmc=; b=I0ZaDDgxWT3olqzTC5InMn8OBB+lpfHlIHdS8g7FsIHM2DksUc+Ddsi4zRFtwsmJfgoJVO GwmFRjU+8u/J4Kqhtq0z6N+I0BcYrwQGWhljiOOPimYHgDv/HqtD47gcJbEAhUOPnLr5Yz EdnaGIqFqk0bDNc1rQllF9O8Zn30eAQuw5ss0LLo7j2tWvIz2b3QARxu2NXNW7FVtC3yDp D2Nh9cggkL7Oc0k+JLMF33SqVTxtzdSVnjvAdXvzzU1NGDQ34KIy4xMkfFnVB30dQAnymf N0/+9gUViJKM3jga1UCsvvLj4fDQ3Ty1iTNXQvG2/3rj2wo/9BFIQa/b/EbvOQ== Received: from mail.maxlinear.com (174-47-1-83.static.ctl.one [174.47.1.83]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id us-mta-185-dNQ69yRpNIGhgA6xj5F7cw-1; Mon, 14 Nov 2022 04:20:18 -0500 X-MC-Unique: dNQ69yRpNIGhgA6xj5F7cw-1 Received: from sgsxdev001.isng.phoenix.local (10.226.81.111) by mail.maxlinear.com (10.23.38.120) with Microsoft SMTP Server id 15.1.2375.24; Mon, 14 Nov 2022 01:20:13 -0800 From: Rahul Tanwar To: , , , , , , CC: , , , , Rahul Tanwar Subject: [PATCH RESEND 1/1] x86/of: Add support for boot time interrupt mode config Date: Mon, 14 Nov 2022 17:20:06 +0800 Message-ID: <37cc31242d0edda1bb0900cc62bba87954a7e892.1668403214.git.rtanwar@maxlinear.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: maxlinear.com Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS 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 Presently, init/boot time interrupt delivery mode is enumerated only for ACPI enabled systems by parsing MADT table or for older systems by parsing MP table. But for OF based x86 systems, it is assumed & fixed to legacy PIC mode. Add support for configuration of init time interrupt delivery mode for x86 OF based systems by introducing a new optional boolean property 'intel,no-imcr' for interrupt-controller node of local APIC. This property emulates IMCRP Bit 7 of MP feature info byte 2 of MP floating pointer structure. Defaults to legacy PIC mode if absent. Configures it to virtual wire compatibility mode if present. Fixes: 3879a6f329483 ("x86: dtb: Add early parsing of IO_APIC") Signed-off-by: Rahul Tanwar --- arch/x86/kernel/devicetree.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c index 5cd51f25f446..1e4ed420478b 100644 --- a/arch/x86/kernel/devicetree.c +++ b/arch/x86/kernel/devicetree.c @@ -167,7 +167,14 @@ static void __init dtb_lapic_setup(void) =09=09=09return; =09} =09smp_found_config =3D 1; -=09pic_mode =3D 1; +=09if (of_property_read_bool(dn, "intel,no-imcr")) { +=09=09pr_info(" Virtual Wire compatibility mode.\n"); +=09=09pic_mode =3D 0; +=09} else { +=09=09pr_info(" IMCR and PIC compatibility mode.\n"); +=09=09pic_mode =3D 1; +=09} + =09register_lapic_address(lapic_addr); } =20 --=20 2.17.1