Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1399827pxb; Wed, 10 Feb 2021 07:35:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJwMeMpZF/DXAvCUeqMJgDL9I6tvO1H9U1xFNqCnG49dywldJ9yDitsTAFKHe8opQNaktADN X-Received: by 2002:a17:906:3f89:: with SMTP id b9mr3449439ejj.204.1612971300320; Wed, 10 Feb 2021 07:35:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612971300; cv=none; d=google.com; s=arc-20160816; b=hx8hqdoYcQWxC2EXRTk1egODtqHYtYAKusn3/Vk+xVn28DLdX3SMCKxpJ3SKyG8a02 gkgDGUYUdDFW4+wjaaHLRbiXjHUTMBXbh/s2agyxSdPir/GFjztze9+a6aq0t6mFiWNZ aW6XrhZJbwtTmFKssMv1yrRZB1pOXGWhjFlUoRr8SmCyglCjyyzYo/i49i7kas5Uquub 7sjrf1PpV7VAWL53S7lkutMFt2tbHJE5YmRGnejHtrpSInvZWkALZ4tjSCWg1kE2Rky8 UhF5oqAZFS0UL99jnISZPXAU9mOYCxJGmjEybSk8RBAA40Q2ZS1E0S6YH4jURf9eS3Ab WrIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:user-agent:references:in-reply-to :subject:cc:to:from:date:content-transfer-encoding:mime-version; bh=T1pxao6pnRbtgHmrfEscqKt7QtnUOIMBz6IKHCbMpLg=; b=0oa+ucgF9dtGBABCSqAc3U9+9GIflky9dASNsGsoSuSAGCBtThFyBD9QV4U4l0aRG1 8aHMJRP86MTaLBB8t9/GEwUTwWfj5zvlNmKPhvMnjxz7j100BL1P9QThmH/jVvS64myZ s4GbYmor9TQbJsOMibmvr/W3wuwIuKut/SlLIFAdw3gUIWsnYjRBdoSkB3DGIvVD0xEu swu+RwUO4aABDzzvrsTZ8P86ODoYfJDMXx7xOLvVY83PJQNEXzLU6STXjdAgLz7jgmaG ajIOtCJNwwRgxoM48M0oGlXiEncEhPcXYtHwlobePXEa++/VAHd6aXOMKIG7dAzd5O8F 0AFA== 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z4si1558198ejr.376.2021.02.10.07.34.35; Wed, 10 Feb 2021 07:35:00 -0800 (PST) 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231609AbhBJPbd (ORCPT + 99 others); Wed, 10 Feb 2021 10:31:33 -0500 Received: from mail.kernel.org ([198.145.29.99]:47720 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229888AbhBJPb2 (ORCPT ); Wed, 10 Feb 2021 10:31:28 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F0EB864E45; Wed, 10 Feb 2021 15:30:47 +0000 (UTC) Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1l9rS1-00DMb5-Nz; Wed, 10 Feb 2021 15:30:45 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 10 Feb 2021 15:30:45 +0000 From: Marc Zyngier To: Maxime Ripard Cc: Dave Stevenson , Thomas Gleixner , Eric Anholt , Maarten Lankhorst , Thomas Zimmermann , Daniel Vetter , David Airlie , linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Hans Verkuil , LKML , DRI Development , bcm-kernel-feedback-list@broadcom.com, Mauro Carvalho Chehab , Linux Media Mailing List , Florian Fainelli , Nicolas Saenz Julienne Subject: Re: [PATCH v2 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller In-Reply-To: <20210210144043.s4plyc7ekwnnu7k4@gilmour> References: <20210111142309.193441-1-maxime@cerno.tech> <20210111142309.193441-15-maxime@cerno.tech> <20210210144043.s4plyc7ekwnnu7k4@gilmour> User-Agent: Roundcube Webmail/1.4.10 Message-ID: <9d868bf76072fee7838b6f2ff73a575c@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: maxime@cerno.tech, dave.stevenson@raspberrypi.com, tglx@linutronix.de, eric@anholt.net, maarten.lankhorst@linux.intel.com, tzimmermann@suse.de, daniel.vetter@intel.com, airlied@linux.ie, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, hverkuil-cisco@xs4all.nl, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, bcm-kernel-feedback-list@broadcom.com, mchehab@kernel.org, linux-media@vger.kernel.org, f.fainelli@gmail.com, nsaenzjulienne@suse.de X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Maxime, On 2021-02-10 14:40, Maxime Ripard wrote: > Hi Dave, > > On Tue, Feb 09, 2021 at 09:49:05AM +0000, Dave Stevenson wrote: >> On Mon, 11 Jan 2021 at 14:23, Maxime Ripard wrote: >> > >> > The BSC controllers used for the HDMI DDC have an interrupt controller >> > shared between both instances. Let's add it to avoid polling. >> >> This seems to have unintended side effects. >> GIC interrupt 117 is shared between the standard I2C controllers >> (i2c-bcm2835) and the l2-intc block handling the HDMI I2C interrupts. >> >> Whilst i2c-bcm2835 requests the interrupt with IRQF_SHARED, that >> doesn't appear to be an option for l2-intc registering as an interrupt >> controller. i2c-bcm2835 therefore loses out and fails to register for >> the interrupt. >> >> Is there an equivalent flag that an interrupt controller can add to >> say that the parent interrupt is shared? Is that even supported? > > Indeed, it looks like setting an equivalent to IRQF_SHARED would be the > solution, but I couldn't find anything that would allow us to in the > irqchip code. > > Marc, Thomas, is it something that is allowed? No, not really. That's because the chained handler is actually an interrupt flow, and not a normal handler. IRQF_SHARED acts at the wrong level for that. I can see two possibilities: - the l2-intc gets turned into a normal handler, and does the demux from there. Horrible stuff. - the i2c controller gets parented to the l2c-int as a fake interrupt, and gets called from there. Horrible stuff. Pick your poison... :-/ M. -- Jazz is not dead. It just smells funny...