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=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 35259C433DB for ; Wed, 10 Feb 2021 15:50:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0768B64E15 for ; Wed, 10 Feb 2021 15:50:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231629AbhBJPuJ (ORCPT ); Wed, 10 Feb 2021 10:50:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229789AbhBJPuC (ORCPT ); Wed, 10 Feb 2021 10:50:02 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D67BCC061574 for ; Wed, 10 Feb 2021 07:49:21 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id y134so2235618wmd.3 for ; Wed, 10 Feb 2021 07:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=dSUu1ROVfX9VnD5N/wmt0yOiO0MLXBe7aSpyu4quDdFKJc6PcUPDxu3raKXw++Ek0N 2Dv1lat9ACE2l0XH90tJLthIuJJ3Ra+tvFBhVqRhTvZ0+vj+gVyROAl/3EhQHjPllj73 +CzZTMzOIFFwe3xapqnoGAEcClWh0bS70GYqYpvu52mEutOyn7KcA2gjXGCdezMzbk9e 27ICpKRGjdb9NAtti3fPpZO/xY0g72kopq5GBuVgmkxFzZBT+zDzHq3u7Por+bNcQQny HtCGcV48LA+HwGngSoKFUXHkYj6Mrz8dibG32AlXDXQ84UjOg/hIoEPilnHg3PGFMfNZ xPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=PfQF5dCtmjEFhcmiCzMNFPcgWhOVNb596ZNrA500OLhyyIkCWesTTot3JuR/Qr0BzO O0yeLX8wyz3V70X4XvAO1F2ycYHYTFucRvDipnaAZsQ3DibS+WQfJbWL+rAAOK9BLAgW E6ELCyQ1XN7RRC1ZP/awdWps/6n1OrwFdsIq5Omkx56SDz6lYIG6QUz06Uer3SLRoOlY bDyKtTeRR2rWbvxO9dbgYGs1J4Vhaav0HwhYmAN3xL2x5+TvHKVxKGn9SFXNiXkSx9VN p0+VcdablyIYOp+bFN+P+UIaN55vIOHqjBllbeTKvu82tQZyC402LdugWPLmNE0zYFMX wsgg== X-Gm-Message-State: AOAM5324tkIOvDSLAPo/HLiAjP6tJTJM2o7zQMh2aXLLftqdSe05sAzw YCe3u3iQkA0T/qBUbfJxSTd1e48g7Ajb8l+tVZhLTg== X-Google-Smtp-Source: ABdhPJzVGS+MJZSjsBcZpXaEfuUikR3k1vTMjTsq3S6hU+cP8Eoa9+ZrmBtxOFY4nwMZV3HSd+UcMCdET28GHNpoKRc= X-Received: by 2002:a1c:bc46:: with SMTP id m67mr3534527wmf.82.1612972160635; Wed, 10 Feb 2021 07:49:20 -0800 (PST) MIME-Version: 1.0 References: <20210111142309.193441-1-maxime@cerno.tech> <20210111142309.193441-15-maxime@cerno.tech> <20210210144043.s4plyc7ekwnnu7k4@gilmour> <9d868bf76072fee7838b6f2ff73a575c@kernel.org> In-Reply-To: <9d868bf76072fee7838b6f2ff73a575c@kernel.org> From: Dave Stevenson Date: Wed, 10 Feb 2021 15:49:03 +0000 Message-ID: Subject: Re: [PATCH v2 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller To: Marc Zyngier Cc: Maxime Ripard , 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 Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc. On Wed, 10 Feb 2021 at 15:30, Marc Zyngier wrote: > > 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... :-/ Thanks for the info. Option 3 - remove l2-intc and drop back to polling the i2c-brcmstb blocks (which the driver supports anyway). HDMI I2C generally isn't heavily used once displays are connected, so I'd be OK with that. (We can keep the l2-intc that handles CEC and HPD as that is on a unique GIC interrupt). Dave 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=-4.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 6A084C433DB for ; Wed, 10 Feb 2021 15:50:36 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 1D4E564E15 for ; Wed, 10 Feb 2021 15:50:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1D4E564E15 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=raspberrypi.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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qAfaqyMOur+RDW0OP0MEE84jK3266U9u/pJiXC12dT8=; b=NOXuVMh9msOX0DsLAKJFAhKQS 3sYNmfwLWR+436rJsefCoJmbVUKnF8Sbsquld6IVjKy3Lmn4QDl/7orPNYPpguVdF/FuFdLs7tVft 6Tb3xN4BVDrusDg0/XHwlLHBq3nrDLa9Wbv+BDAHltZXMEgiVO0DqXwzjx+kFixbxXzRqXLdFiH+I TsoqZIY8eeefBbiQ8KLHKyvRi8cLR1o+4/nzzbXeYFKvoT5PlaKkuH7ufh740lWPbA60MAZ5zzi9K MseI0T7091EoBW6HyZL0XXp9tE6ni1eQgQp5mjGBj+6EA4n+tT4yskHYlB+iQAvHsW6vb8nyKB14q HEZqK/qZg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l9rk8-0003JB-RE; Wed, 10 Feb 2021 15:49:28 +0000 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l9rk6-0003HZ-Io for linux-arm-kernel@lists.infradead.org; Wed, 10 Feb 2021 15:49:27 +0000 Received: by mail-wm1-x331.google.com with SMTP id o15so426535wmq.5 for ; Wed, 10 Feb 2021 07:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=dSUu1ROVfX9VnD5N/wmt0yOiO0MLXBe7aSpyu4quDdFKJc6PcUPDxu3raKXw++Ek0N 2Dv1lat9ACE2l0XH90tJLthIuJJ3Ra+tvFBhVqRhTvZ0+vj+gVyROAl/3EhQHjPllj73 +CzZTMzOIFFwe3xapqnoGAEcClWh0bS70GYqYpvu52mEutOyn7KcA2gjXGCdezMzbk9e 27ICpKRGjdb9NAtti3fPpZO/xY0g72kopq5GBuVgmkxFzZBT+zDzHq3u7Por+bNcQQny HtCGcV48LA+HwGngSoKFUXHkYj6Mrz8dibG32AlXDXQ84UjOg/hIoEPilnHg3PGFMfNZ xPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=bibWBOQ52TOhXoFlwDWUd7MlXlMp51FPhYpTzG4BD9Z3J31zW4djiwqdLPO2OdXaKX R/jcIWrlNZY/+Qj8yb3VdiLF+XyYocK2vxP4hftwPqjLHv64V0tKbxZqF0+EYxFH4uw7 AleC0qPp/VTmf1YbKYvb6Q0nskIzSk9MsG0806kRNk1bSeoyWJHXevI1vhTGitoS0J4H KqMwWlOq/mzS04Z6NUHiF07QaAUkCvZeysSXW9kWgmtnM5dSBYhgjXLgR32V5ALgDup9 e7W2z+HPPa6Pz63W5GrUy5aX7uFGh/hl0ZQOGxU55Flv/dT/AkPruR+d3OuEk2USCIKS zc9g== X-Gm-Message-State: AOAM531ClWguyxFvtEPWlPvDAWJnxqxAojCHY3vUTN3c9545e0nU9h/A BVRre4vVa9LjHVRAdocM+ixFUvV2uLwdWYVyMC2+AA== X-Google-Smtp-Source: ABdhPJzVGS+MJZSjsBcZpXaEfuUikR3k1vTMjTsq3S6hU+cP8Eoa9+ZrmBtxOFY4nwMZV3HSd+UcMCdET28GHNpoKRc= X-Received: by 2002:a1c:bc46:: with SMTP id m67mr3534527wmf.82.1612972160635; Wed, 10 Feb 2021 07:49:20 -0800 (PST) MIME-Version: 1.0 References: <20210111142309.193441-1-maxime@cerno.tech> <20210111142309.193441-15-maxime@cerno.tech> <20210210144043.s4plyc7ekwnnu7k4@gilmour> <9d868bf76072fee7838b6f2ff73a575c@kernel.org> In-Reply-To: <9d868bf76072fee7838b6f2ff73a575c@kernel.org> From: Dave Stevenson Date: Wed, 10 Feb 2021 15:49:03 +0000 Message-ID: Subject: Re: [PATCH v2 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller To: Marc Zyngier X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210210_104926_637837_310F6211 X-CRM114-Status: GOOD ( 27.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Florian Fainelli , Linux Media Mailing List , David Airlie , Nicolas Saenz Julienne , Maarten Lankhorst , LKML , DRI Development , Eric Anholt , bcm-kernel-feedback-list@broadcom.com, Maxime Ripard , Thomas Zimmermann , Hans Verkuil , Daniel Vetter , Thomas Gleixner , Mauro Carvalho Chehab , linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Marc. On Wed, 10 Feb 2021 at 15:30, Marc Zyngier wrote: > > 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... :-/ Thanks for the info. Option 3 - remove l2-intc and drop back to polling the i2c-brcmstb blocks (which the driver supports anyway). HDMI I2C generally isn't heavily used once displays are connected, so I'd be OK with that. (We can keep the l2-intc that handles CEC and HPD as that is on a unique GIC interrupt). Dave _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 70671C433E0 for ; Wed, 10 Feb 2021 15:49:24 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 2264D64E15 for ; Wed, 10 Feb 2021 15:49:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2264D64E15 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=raspberrypi.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0FD576E08A; Wed, 10 Feb 2021 15:49:23 +0000 (UTC) Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by gabe.freedesktop.org (Postfix) with ESMTPS id F213F6E08A for ; Wed, 10 Feb 2021 15:49:21 +0000 (UTC) Received: by mail-wm1-x331.google.com with SMTP id w4so2199706wmi.4 for ; Wed, 10 Feb 2021 07:49:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=dSUu1ROVfX9VnD5N/wmt0yOiO0MLXBe7aSpyu4quDdFKJc6PcUPDxu3raKXw++Ek0N 2Dv1lat9ACE2l0XH90tJLthIuJJ3Ra+tvFBhVqRhTvZ0+vj+gVyROAl/3EhQHjPllj73 +CzZTMzOIFFwe3xapqnoGAEcClWh0bS70GYqYpvu52mEutOyn7KcA2gjXGCdezMzbk9e 27ICpKRGjdb9NAtti3fPpZO/xY0g72kopq5GBuVgmkxFzZBT+zDzHq3u7Por+bNcQQny HtCGcV48LA+HwGngSoKFUXHkYj6Mrz8dibG32AlXDXQ84UjOg/hIoEPilnHg3PGFMfNZ xPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=sYZgMVhM68r4TeIL1eqUcRIh/19tL8LpowcnJQBeiLo=; b=sAPP6qtgtOk7t9etTgbOnybHHW9fjHxz2v79Llr0C3kwpkprJ80pBa5Gl7NbuhRgJI DNdKhxuOd8Id1ZTEBpNRCYdxWa4r3mPdc0eP19FTcksNnh0yJ5g9JHSOsZgksSju7Zce 7Km/gKFCgbE1/NshF7hwpJTaD8q4edvBDWCG/Vc8aR4NtXLGbKBXgqDDz+9krcebz2gK IsuYa6t1gLPOm7L2GAtLLrNMN+qdWaBPQT6hA5LRtD5jxvfHO1kCAuXqpQZth9Q8CfhZ VH78tn6UoUO4zows6tmOUOt2mB629LWBUwvJGGVxl9H4z+PqhiFaApmkaqnQfJecoqYN BFwQ== X-Gm-Message-State: AOAM530xoxnj77mChpLnfQUAhHg0RvI4OdrU7+c8vgPne/0DDKDhN6GG 05NqBFHQBy9VlCvvatQ/47kXulGFVBr4mumjQuUMkQ== X-Google-Smtp-Source: ABdhPJzVGS+MJZSjsBcZpXaEfuUikR3k1vTMjTsq3S6hU+cP8Eoa9+ZrmBtxOFY4nwMZV3HSd+UcMCdET28GHNpoKRc= X-Received: by 2002:a1c:bc46:: with SMTP id m67mr3534527wmf.82.1612972160635; Wed, 10 Feb 2021 07:49:20 -0800 (PST) MIME-Version: 1.0 References: <20210111142309.193441-1-maxime@cerno.tech> <20210111142309.193441-15-maxime@cerno.tech> <20210210144043.s4plyc7ekwnnu7k4@gilmour> <9d868bf76072fee7838b6f2ff73a575c@kernel.org> In-Reply-To: <9d868bf76072fee7838b6f2ff73a575c@kernel.org> From: Dave Stevenson Date: Wed, 10 Feb 2021 15:49:03 +0000 Message-ID: Subject: Re: [PATCH v2 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller To: Marc Zyngier X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Florian Fainelli , Linux Media Mailing List , David Airlie , Nicolas Saenz Julienne , LKML , DRI Development , bcm-kernel-feedback-list@broadcom.com, Maxime Ripard , Thomas Zimmermann , Hans Verkuil , Daniel Vetter , Thomas Gleixner , Mauro Carvalho Chehab , linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi Marc. On Wed, 10 Feb 2021 at 15:30, Marc Zyngier wrote: > > 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... :-/ Thanks for the info. Option 3 - remove l2-intc and drop back to polling the i2c-brcmstb blocks (which the driver supports anyway). HDMI I2C generally isn't heavily used once displays are connected, so I'd be OK with that. (We can keep the l2-intc that handles CEC and HPD as that is on a unique GIC interrupt). Dave _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel