Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1260533ybz; Sat, 25 Apr 2020 14:51:44 -0700 (PDT) X-Google-Smtp-Source: APiQypIVLBlp9UpItfKmfbYzLxjJ5v6EUFQONxcz+SxVNaeVCw64160q48B6r3yk5xM43znwZZC0 X-Received: by 2002:a05:6402:1611:: with SMTP id f17mr12282419edv.352.1587851504610; Sat, 25 Apr 2020 14:51:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587851504; cv=none; d=google.com; s=arc-20160816; b=jgA4VTkh9NOEJU1Ktr08sAm6m0LhAm28qozSnYIavDDbnw1imaTiNRwQMIBtlGQ9tt FBug0jfjZDh2gJGgjGEM0zY4DkksrGx5veLPEDxD4l0MI1hXuu2KIZb9Vxp4s76oGeS4 5eqDb9nMeDA6uJxALZlRhMaOF3xghCFIa/1oe62f+dlBqqrDIYonPcwYxtLut9bSxGaY rtjpE5eEPswXPEjA0oGTVX7o8sLuO/jz1n9pHQ0RYJYcyjEJEkwWQvpz5YEVsNiX3YA9 WksBW24RrixGnhcHw4ZP7NuQoFy2ly3jRgsavrxHMRMWo3uXVbIKZBMSKafZHA++rbfv +Dmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from; bh=cyc2Az1CkWRgDaEFRqzKwZ2o3NwD9ntwwQ3AY00Dsv0=; b=teVy/wTRLAaM1YGcY7LtnUJcdY/wR3BEdvp3AoYVUqth49LpNnUwaigWJ0BCfNVhNt vyZHz7aLpxrCdLrJmRA64DhSDP1MdISnVNdNStRMWPJj92eH1oTvKag5keDC6lsL2aDx jNRf3yvitUE8PL7cD7jkFupzS+ksgjWpnMqoFMKW9KShiH6awvyvpD/4J6G2qVTJagzE tE2xDHrHocJ2Z/jKbLVxQop01yLHs2hnq7ZI+C+z+OOW9+8Yb0/KwTHq1JtXPUB1z0XR 368Yv/P88NudetAM9iU1J2YJuH50KHanZmNjoAaZ+SUZjl4GAqAsbwq6sYyMVLgYk2Cl TjNA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h21si5857280edj.79.2020.04.25.14.51.20; Sat, 25 Apr 2020 14:51:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726304AbgDYVtz (ORCPT + 99 others); Sat, 25 Apr 2020 17:49:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726015AbgDYVtz (ORCPT ); Sat, 25 Apr 2020 17:49:55 -0400 Received: from Galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49004C09B04D; Sat, 25 Apr 2020 14:49:55 -0700 (PDT) Received: from p5de0bf0b.dip0.t-ipconnect.de ([93.224.191.11] helo=nanos.tec.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jSSgD-0004U7-FC; Sat, 25 Apr 2020 23:49:45 +0200 Received: by nanos.tec.linutronix.de (Postfix, from userid 1000) id D0EAA10071F; Sat, 25 Apr 2020 23:49:44 +0200 (CEST) From: Thomas Gleixner To: Dave Jiang , vkoul@kernel.org, megha.dey@linux.intel.com, maz@kernel.org, bhelgaas@google.com, rafael@kernel.org, gregkh@linuxfoundation.org, hpa@zytor.com, alex.williamson@redhat.com, jacob.jun.pan@intel.com, ashok.raj@intel.com, jgg@mellanox.com, yi.l.liu@intel.com, baolu.lu@intel.com, kevin.tian@intel.com, sanjay.k.kumar@intel.com, tony.luck@intel.com, jing.lin@intel.com, dan.j.williams@intel.com, kwankhede@nvidia.com, eric.auger@redhat.com, parav@mellanox.com Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org Subject: Re: [PATCH RFC 05/15] ims-msi: Add mask/unmask routines In-Reply-To: <158751205785.36773.16321096654677399376.stgit@djiang5-desk3.ch.intel.com> References: <158751095889.36773.6009825070990637468.stgit@djiang5-desk3.ch.intel.com> <158751205785.36773.16321096654677399376.stgit@djiang5-desk3.ch.intel.com> Date: Sat, 25 Apr 2020 23:49:44 +0200 Message-ID: <87lfmjtevb.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dave Jiang writes: > > +static u32 __dev_ims_desc_mask_irq(struct msi_desc *desc, u32 flag) ...mask_irq()? This is doing both mask and unmask depending on the availability of the ops callbacks. > +{ > + u32 mask_bits = desc->platform.masked; > + const struct platform_msi_ops *ops; > + > + ops = desc->platform.msi_priv_data->ops; > + if (!ops) > + return 0; > + > + if (flag) { flag? Darn, this has a clear boolean meaning of mask or unmask and 'u32 flag' is the most natural and obvious self explaining expression for this, right? > + if (ops->irq_mask) > + mask_bits = ops->irq_mask(desc); > + } else { > + if (ops->irq_unmask) > + mask_bits = ops->irq_unmask(desc); > + } > + > + return mask_bits; What's mask_bits? This is about _ONE_ IMS interrupt. Can it have multiple mask bits and if so then the explanation which I decoded by crystal ball probably looks like this: Bit 0: Don't know whether it's masked Bit 1: Perhaps it's masked Bit 2: Probably it's masked Bit 3: Mostly masked ... Bit 31: Fully masked Or something like that. Makes a lot of sense in a XKCD cartoon at least. > +} > + > +/** > + * dev_ims_mask_irq - Generic irq chip callback to mask IMS interrupts > + * @data: pointer to irqdata associated to that interrupt > + */ > +static void dev_ims_mask_irq(struct irq_data *data) > +{ > + struct msi_desc *desc = irq_data_get_msi_desc(data); > + > + desc->platform.masked = __dev_ims_desc_mask_irq(desc, 1); The purpose of this masked information is? Thanks, tglx