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.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 96693C433ED for ; Fri, 14 May 2021 12:48:21 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 5A20D61404 for ; Fri, 14 May 2021 12:48:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A20D61404 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=hQthh+sJDfpqtRvBpDvGuwMCCex8w+5G9N2v0kU5hEY=; b=QyLLoNtnD6ISc+7ZOZk7BM9ft fCoxe7IfkyUmCnqN/yBWT+J4/k/OgMjT4NLyr4LyvC+6p+455iZCXvN5OXO+tfICotW6UVCchD7Nq qafPbblW8nC06xBcAATILoCCh8NrypzjTwtQxDEO/7dmhK/bRcZJv8Jb8DbxT3nNr8a7DY4dr+kOc AMq6GdmcYJF6zV5nBOLMuU0q7VnWwNPf/e/TLuW8dw95hnkpQtyfr90A7k5lvDaZFwPJzkKgNDSZU gbrZv6JnMM4rll8cV8QPSE6glEz3crkP4DTZX9gbNIwGYdJJyR1wln0QXA2LeW6nnDLqrvzhyDXSj YovGuyaIQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lhXD8-00849S-Oi; Fri, 14 May 2021 12:46:34 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lhXCx-00848l-Ns for linux-arm-kernel@desiato.infradead.org; Fri, 14 May 2021 12:46:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:CC:To: Subject:Sender:Reply-To:Content-ID:Content-Description; bh=zun0VVFua+T0ivSOmb7w6JXapQ+PZ7e82zSqMXuYKGU=; b=AmtdsZQrc51YhzQfM5o40xaYUE ZbYcpY930HPvb/wecMhsZObfQ5XbdetYMxOm9I+7KNMYBLFg5vTn+64r9tra7L5cHMFGEwGm/tDdK F7qn+pXrgxdMhcD8UpjP4pllc98nWDQdliy7DH6ylGqFlSNVk7DXp7dk0XWSrjG/7uASmXP5J7jRG snItgQNEbSdpJb6/nwFnGAh7QSHiwE2AQ0AQQ+PQ+wpmuyo17cqk6Bhnb5JIikSYpxBlyOZPefy7r 8xt+qJ/mk5l7qDFEzySSq/MbU7JUVlOf0mxeJkseGEuMeV7aPlMMfjZ2d3PnXK0iXEatMSDXLzujl +4SiSaFQ==; Received: from szxga06-in.huawei.com ([45.249.212.32]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lhXCu-00Byxp-Mt for linux-arm-kernel@lists.infradead.org; Fri, 14 May 2021 12:46:22 +0000 Received: from dggems705-chm.china.huawei.com (unknown [172.30.72.60]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4FhSrf1FYnzmWKt; Fri, 14 May 2021 20:44:02 +0800 (CST) Received: from dggema764-chm.china.huawei.com (10.1.198.206) by dggems705-chm.china.huawei.com (10.3.19.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Fri, 14 May 2021 20:46:14 +0800 Received: from [10.174.185.179] (10.174.185.179) by dggema764-chm.china.huawei.com (10.1.198.206) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Fri, 14 May 2021 20:46:13 +0800 Subject: Re: [PATCH v3 7/9] KVM: arm64: timer: Refactor IRQ configuration To: Marc Zyngier CC: , , , , Hector Martin References: <20210510134824.1910399-1-maz@kernel.org> <20210510134824.1910399-8-maz@kernel.org> From: Zenghui Yu Message-ID: <9f28e15b-26d0-5d3e-8f0e-8026ece536e0@huawei.com> Date: Fri, 14 May 2021 20:46:13 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20210510134824.1910399-8-maz@kernel.org> Content-Language: en-US X-Originating-IP: [10.174.185.179] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggema764-chm.china.huawei.com (10.1.198.206) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210514_054620_946785_4DF6C01B X-CRM114-Status: GOOD ( 17.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 2021/5/10 21:48, Marc Zyngier wrote: > As we are about to add some more things to the timer IRQ > configuration, move this code out of the main timer init code > into its own set of functions. > > No functional changes. > > Signed-off-by: Marc Zyngier > --- > arch/arm64/kvm/arch_timer.c | 61 ++++++++++++++++++++++--------------- > 1 file changed, 37 insertions(+), 24 deletions(-) > > diff --git a/arch/arm64/kvm/arch_timer.c b/arch/arm64/kvm/arch_timer.c > index e2288b6bf435..7fa4f446456a 100644 > --- a/arch/arm64/kvm/arch_timer.c > +++ b/arch/arm64/kvm/arch_timer.c > @@ -973,6 +973,39 @@ static int kvm_timer_dying_cpu(unsigned int cpu) > return 0; > } > > +static void kvm_irq_fixup_flags(unsigned int virq, u32 *flags) > +{ > + *flags = irq_get_trigger_type(virq); > + if (*flags != IRQF_TRIGGER_HIGH && *flags != IRQF_TRIGGER_LOW) { > + kvm_err("Invalid trigger for timer IRQ%d, assuming level low\n", > + virq); > + *flags = IRQF_TRIGGER_LOW; > + } > +} > + > +static int kvm_irq_init(struct arch_timer_kvm_info *info) > +{ > + struct irq_domain *domain = NULL; > + struct fwnode_handle *fwnode; > + struct irq_data *data; Shouldn't this belong to patch #8? > + > + if (info->virtual_irq <= 0) { > + kvm_err("kvm_arch_timer: invalid virtual timer IRQ: %d\n", > + info->virtual_irq); > + return -ENODEV; > + } > + > + host_vtimer_irq = info->virtual_irq; > + kvm_irq_fixup_flags(host_vtimer_irq, &host_vtimer_irq_flags); > + > + if (info->physical_irq > 0) { > + host_ptimer_irq = info->physical_irq; > + kvm_irq_fixup_flags(host_ptimer_irq, &host_ptimer_irq_flags); > + } > + > + return 0; > +} Otherwise this look like a good refactoring. Zenghui _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel