Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp14988158rwb; Mon, 28 Nov 2022 06:58:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf63UdDYLH1jwlaRAKr0oj89zWIH5a30hueb7yviU9U24swTgHsno3628+q2YM1xNBb/snX8 X-Received: by 2002:a17:90a:db52:b0:212:d2c2:8e1a with SMTP id u18-20020a17090adb5200b00212d2c28e1amr61299121pjx.54.1669647522165; Mon, 28 Nov 2022 06:58:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669647522; cv=none; d=google.com; s=arc-20160816; b=Fmcoc+I4s+be+w8U+zSJijilzU4A0pSAGVqJmu/DXXdib5SIOSQVkqpnIUp6noj//g pAKrRAxGwLoxCbaIbCMzLQbCTOGCCAnjkBgtDc6n2JUEwujmjW7hBeG38bj1H0drbk8D md6GeGbVpyp4mD0tOYjIbckeQuKHdT+OxWRtLYcIB8JM/rOesKPKOt9CZHKPUTJdQqB2 qqhxmblRgxSW+DEOCRnb1FI7bwpNRveZf1p7T6q+o/Esq3stA70dHVaGOvTT3Ukl+Ah/ TVBCnOc5d0VutaGp4DUroVv9r/B2nm7TqrZy7/oJ6Zwr+jP1e17FQ3GvBJVlM9sKLTJP kSCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:to:dkim-signature:dkim-signature:from; bh=DOGWCJyU8EVxbLr5IAwg4Ny/+aVspQhOJziRpfWUgmA=; b=GZbOu3CfLFGoULXXu9W4Cxi0XeyTq9wgW2mzqxSDe0cxsWGKQ+WZbEeWI7/aSWCwLf 7M0dvQUwO+7ogGpayuUA7gDPmiO/piG/bqTYF062BpVVlTISvZfdeioKyt1D0x6+kf62 aT0nBEKarlBHdRbI61fXBZzufA2zSF9cAZCFnZYiT57t0FAwf0s5E5ruY7mzXYOvN36i omwq1azvOJZakagJNZMg2+pyBPnIreoH5r053Ixk1n7mkWq5YSmxLYEqtofD/k0444E9 h6r0PXsyWeZfm1hDZirpr0eNOKWoP7bPDsKg5OCFodTC6Xy8X19dHAQFajSbZ8m/BbnZ dg0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=ZZiUK7j3; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b="HINP/bxM"; 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=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u64-20020a638543000000b0047679c34e33si12692001pgd.428.2022.11.28.06.58.31; Mon, 28 Nov 2022 06:58:42 -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=@linutronix.de header.s=2020 header.b=ZZiUK7j3; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b="HINP/bxM"; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232545AbiK1Oji (ORCPT + 84 others); Mon, 28 Nov 2022 09:39:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232560AbiK1Oje (ORCPT ); Mon, 28 Nov 2022 09:39:34 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 655B51F61D for ; Mon, 28 Nov 2022 06:39:32 -0800 (PST) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1669646370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DOGWCJyU8EVxbLr5IAwg4Ny/+aVspQhOJziRpfWUgmA=; b=ZZiUK7j3HebzWllRNO35cuCZ+iWCsiKJH0UzeGKtN9iZCAqnIHogTKtoIh6s8T+zsE6xIv gqYR0jrNIuQC/73JxwsMr3yVToqFIZRqxNKacqLfKw2uYcQlN7N33C5vs6BszNKPEDJ8S1 i4uMxKhhOewxgehMA4cOhVIzztV9slo1VJgffs3wn0lm3UkJ6HQb9DPeqOSiNJQpVRWo1Q K1U7p+/PNnvx93/B+KZ4Up4HKvdPaI0FWZe1y2ryeDa8k9V5Gs89h+FsjjhMi12Mte+odO yIR0V4jkHqfeUVF+AYgmafktjw0O0MxX5eXHYjsuFhoicPgB4QiomuyXspkZhQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1669646370; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=DOGWCJyU8EVxbLr5IAwg4Ny/+aVspQhOJziRpfWUgmA=; b=HINP/bxMrPA0BiazclPBS999ipnKOTfVfFRDxhSbuZbzS9084j4/L6Ez9xwOLB/LitoNVU HtLstR6kqk/y5BBA== To: LKML Subject: Re: [patch V3 21/33] genirq/msi: Provide msi_domain_alloc_irq_at() In-Reply-To: <20221124232326.501359457@linutronix.de> References: <20221124230505.073418677@linutronix.de> <20221124232326.501359457@linutronix.de> Date: Mon, 28 Nov 2022 15:39:30 +0100 Message-ID: <8735a3w3bx.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,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 On Fri, Nov 25 2022 at 00:26, Thomas Gleixner wrote: > +struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, unsigned int index, > + const struct irq_affinity_desc *affdesc, > + union msi_instance_cookie *icookie) > +{ > + struct msi_ctrl ctrl = { .domid = domid, .nirqs = 1, }; > + struct msi_domain_info *info; Remove > + struct irq_domain *domain; > + struct msi_map map = { }; > + struct msi_desc *desc; > + int ret; > + > + msi_lock_descs(dev); > + domain = msi_get_device_domain(dev, domid); > + if (!domain) { > + map.index = -ENODEV; > + goto unlock; > + } > + > + desc = msi_alloc_desc(dev, 1, affdesc); > + if (!desc) { > + map.index = -ENOMEM; > + goto unlock; > + } > + > + if (icookie) > + desc->data.icookie = *icookie; > + > + ret = msi_insert_desc(dev, desc, domid, index); > + if (ret) { > + map.index = ret; > + goto unlock; > + } > + > + ctrl.first = ctrl.last = desc->msi_index; > + info = domain->host_data; Pointless > + ret = __msi_domain_alloc_irqs(dev, domain, &ctrl); > + if (ret) { > + map.index = ret; > + msi_domain_free_locked(dev, &ctrl); > + } else { > + map.index = desc->msi_index; > + map.virq = desc->irq; > + } > +unlock: > + msi_unlock_descs(dev); > + return map; > +} > + > static void __msi_domain_free_irqs(struct device *dev, struct irq_domain *domain, > struct msi_ctrl *ctrl) > {