From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 231411E502 for ; Fri, 3 Jan 2025 01:43:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735868610; cv=none; b=Tqd9ztDbdoNuE+2BFJkivt6p/lPQjAk/TKaFDQIeV+Le22P7FJCJci/jOoK3QhWHRYgusHmflNriYXlrU6qYBjZUpGbmhIfSs+jgtM66DAFt6YByu3KHlUIA6PDzoQZS9FzKoAj02716++qU+xpxeLRb5jkulF6Iz1EQqNKWSIA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735868610; c=relaxed/simple; bh=vNndI9LZcwHH6Y3vWf9YNryxmY9fG8HSj6cNRYb3x1g=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=HJgyAqqHBq+gTF4vzR0jQBJ5PwKZAGFbdvbPPCQ5wSAHEC36ZMY37ZZT21quVxmJ2jCHHhNdKNFEHQxwsWRmvzqGuCdirfNoiXDD41zGcLplqwl8kmPzKZ8ApJW7JHr01VUhY3zruRyliFLnxkMJkUOZltp55XdZ0pYSayLk2XU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=R1fgvLUV; arc=none smtp.client-ip=209.85.214.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="R1fgvLUV" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-219f8263ae0so119872785ad.0 for ; Thu, 02 Jan 2025 17:43:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1735868608; x=1736473408; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=9Q7qrFoRRjNsCU67hKLaHi7leV6habWZWnDMjovAGb4=; b=R1fgvLUVSGBxwMBwKyWOcWrL6yaFVW71z5bJQDix+oY4VhfepD5HBrFvOmzLAD3WR1 bZmCHjRriPsKq7W4nRT8ENzSM0FQ/wnJeb4PjzY75QrABVrEVKVzoxlPUOZ9DQRQyAF/ dSC89NCJjoLk3IoQzwSFKU0uB0o+hUQ42bJYo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735868608; x=1736473408; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9Q7qrFoRRjNsCU67hKLaHi7leV6habWZWnDMjovAGb4=; b=XDOIfCVzwmb1PqjQIRZqKZnywD8YgDnTwWNLKCTjWVLNRxaVKrc7/P+0DbLhKSI3b/ b9Np42KaxX01U7AyD9MUV9J4e/wB7bOIdjX70+aE6SYYs2B2OB6Cg+7Pi4iaT8BDh4xC peghcMI7bHhgi4x60w5zUf6yb5izZiI5xfJd75luvbAlq0HRRAV72Wo2IFErRiQxr4o3 q2qdRT1NFRa35sdcbP7GC76HlK/Gwj2v4OaGvpm8Hi0UW+pnSFuNNYh70Rlt1+4QYNIp ypOwiuL47hM64AdslFfaKz6iGh06gUC2IrZBjE2f6LDfVelXlzrtVlPIfRRaa8o3j1q4 pyDQ== X-Forwarded-Encrypted: i=1; AJvYcCWQ27ityQ/pkgkgOsKQVSG9kcecWyXjg4O9Pcu4DkiPtPOyRPnjQqFQKXwUkLU8VmMSQuuMf0TcOuMyewc=@vger.kernel.org X-Gm-Message-State: AOJu0YyJ6pP8YGE4vJt9x6i/kgixIDP9C8A3cPRqjIYJHuFR8qAGFDC0 PeuqI/WBp9ODm2i39DsjPiIkMsahDMUiP1mzTTr0zXNvAMrqjxWpBVxQOvls3Q== X-Gm-Gg: ASbGncvHe15o9db8H977rEss+cn6FJI3mfxEg/C35AVBH4zEZ8iGO5iiMs+GvtB3qPL zvzWXSPKpkIbIYSWVslba41HV7dn5LD6ihZfEWrV6e70qZ9gneqU3xvk5ydYVICmwULtBZzNXR6 LV3NucBvPK98y7SSDo6aElwXEZjyPtp4zVWeR9YpxkbQvUyK6T3+T4+4Z4RA4vhQ33wY4VhZ4DJ pDeKsjur/s+pDyT2mGJIVBOHIpx6CtVS4V2MFUhxIBruCzOv3uDan7Ma1AxFQf5HYhhl4114dfw 2Nd7v5bzm9T2Ljw8hkc= X-Google-Smtp-Source: AGHT+IEyokAoD80/sjdIV3JIQ3DSu4zM7TJboSZL78A6caQdKqnHUNCJTZLOydzxTxG7Tl874q/2mQ== X-Received: by 2002:a17:903:230d:b0:20c:9821:69af with SMTP id d9443c01a7336-219e70c018cmr670912955ad.45.1735868608471; Thu, 02 Jan 2025 17:43:28 -0800 (PST) Received: from localhost ([2a00:79e0:2e14:7:2f1b:db40:bb38:fa8e]) by smtp.gmail.com with UTF8SMTPSA id 98e67ed59e1d1-2f4477c84d0sm27287665a91.14.2025.01.02.17.43.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jan 2025 17:43:27 -0800 (PST) Date: Thu, 2 Jan 2025 17:43:26 -0800 From: Brian Norris To: Manivannan Sadhasivam Cc: Jingoo Han , Lorenzo Pieralisi , Bjorn Helgaas , linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, Rob Herring , Marc Zyngier , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= Subject: Re: [PATCH] PCI: dwc: Use level-triggered handler for MSI IRQs Message-ID: References: <20241015141215.1.Id60295bee6aacf44aa3664e702012cb4710529c3@changeid> <20241230171145.hsqynixmowjn77ki@thinkpad> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241230171145.hsqynixmowjn77ki@thinkpad> On Mon, Dec 30, 2024 at 10:41:45PM +0530, Manivannan Sadhasivam wrote: > On Tue, Oct 15, 2024 at 02:12:16PM -0700, Brian Norris wrote: > > From: Brian Norris > > > > Per Synopsis's documentation, the msi_ctrl_int signal is > > level-triggered, not edge-triggered. > > > > Could you please quote the spec reference? >From the reference manual for msi_ctrl_int: "Asserted when an MSI interrupt is pending. De-asserted when there is no MSI interrupt pending. ... Active State: High (level)" The reference manual also points at the databook for more info. One relevant excerpt from the databook: "When any status bit remains set, then msi_ctrl_int remains asserted. The interrupt status register provides a status bit for up to 32 interrupt vectors per Endpoint. When the decoded interrupt vector is enabled but is masked, then the controller sets the corresponding bit in interrupt status register but the it does not assert the top-level controller output msi_ctrl_int. That's essentially a prose description of level-triggering, plus 32-vector multiplexing and masking. Did you want a v2 with this included, or did you just want it noted here? (Side note: I think it doesn't really matter that much whether we use the 'level' or 'edge' variant handlers here, at least if the parent interrupt is configured correctly as level-triggered. We're not actually in danger of a level-triggered interrupt flood or similar issue.) Brian