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=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 402A4C433DB for ; Tue, 9 Feb 2021 09:52:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DB20D64E8B for ; Tue, 9 Feb 2021 09:52:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229797AbhBIJwQ (ORCPT ); Tue, 9 Feb 2021 04:52:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37720 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230490AbhBIJuE (ORCPT ); Tue, 9 Feb 2021 04:50:04 -0500 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D04A6C061788 for ; Tue, 9 Feb 2021 01:49:23 -0800 (PST) Received: by mail-wm1-x32a.google.com with SMTP id t142so2468186wmt.1 for ; Tue, 09 Feb 2021 01:49:23 -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=iODsYL577vtiTZcS5AXU5f62AD5nWHRXTaswzxJRGpE=; b=JBX1u8nYfJ2D17HCZU3bF64mR3tXNePMMbkujQwPzUB4EHhq0FLPs5OOM92rDCpHBF 4O9xTvVsnstE1b4IgRWf/cN/5JU2cy+inHw8TS2/FNMZeJNBStL7jnJ8ZcPrtCFvxPG4 V/4KyzneELW/HpkZBFhB9trOu3KvpkoWlsMbt5tVgBOMJdCNMuB/45CFP7unHH4zy3N2 NFahaB6yHkIYKLQFa/wTYu0dpNn78LVyWqe8lOs5wsRRZj5Dw2+AdWS4zVBv+s35utmv HQfK/sg06HSj9kgzRvVI2EWfBGQTkY4bQKv9rmjLvOp2dFbUsZ/6hGhjOZ1SksYp8P8F /Blg== 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=iODsYL577vtiTZcS5AXU5f62AD5nWHRXTaswzxJRGpE=; b=SqQ8qNgi6z/b0jHhmoje9IvbBIwUiudL56/oEcIst+BqOzW8XPcw2NUtBQcwZKYXbp EU69vzLhqYduL/WLXKZfIplxtfeyzJIgHSC9WIh2o8wYBbXVPdPtE+iuGMPVoWgyDny6 OSoHn3NL7PSNXQZUyKgZk26lEJ7m7gJaFDtcJgMd2YnPWX/z997Tr6maGurM6tQakcSb nPbtUALJMs+AMH+9gxHP1WlUfm0BRI1R3jW06vmmcgeqm+AJo18EHTml9jYx3PVDGM82 xrY+6kQ4NRCzFncV1T2jwj91aAbRAbsZIG16PPliz3eU2Eu9UZwhvv54lEsj1CfN6lsP Zcfw== X-Gm-Message-State: AOAM533BUqP7m1gg2U3xb4qoQ9y3mP8iOrsGnIW/A9/LCVY7HVjvC0hS njc5gBBgDYt4hMLF7EmEQe/cb80Y6NXeRNRM/vrwCA== X-Google-Smtp-Source: ABdhPJwkXMO4uhvCsmyjxeJIJN/dMVthik8rV2agcLFH9W28tEatgkKRxyaLXGqmb/ZxKjwVzyOeJ3lIrOe3jbSNI4Y= X-Received: by 2002:a7b:ca57:: with SMTP id m23mr2607883wml.116.1612864162564; Tue, 09 Feb 2021 01:49:22 -0800 (PST) MIME-Version: 1.0 References: <20210111142309.193441-1-maxime@cerno.tech> <20210111142309.193441-15-maxime@cerno.tech> In-Reply-To: <20210111142309.193441-15-maxime@cerno.tech> From: Dave Stevenson Date: Tue, 9 Feb 2021 09:49:05 +0000 Message-ID: Subject: Re: [PATCH v2 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller To: Maxime Ripard Cc: 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 Maxime 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? Thanks Dave > Reviewed-by: Florian Fainelli > Signed-off-by: Maxime Ripard > --- > arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi > index 4847dd305317..8bb46ae76a92 100644 > --- a/arch/arm/boot/dts/bcm2711.dtsi > +++ b/arch/arm/boot/dts/bcm2711.dtsi > @@ -308,6 +308,14 @@ dvp: clock@7ef00000 { > #reset-cells = <1>; > }; > > + bsc_intr: interrupt-controller@7ef00040 { > + compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc"; > + reg = <0x7ef00040 0x30>; > + interrupts = ; > + interrupt-controller; > + #interrupt-cells = <1>; > + }; > + > hdmi0: hdmi@7ef00700 { > compatible = "brcm,bcm2711-hdmi0"; > reg = <0x7ef00700 0x300>, > @@ -341,6 +349,8 @@ ddc0: i2c@7ef04500 { > reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>; > reg-names = "bsc", "auto-i2c"; > clock-frequency = <97500>; > + interrupt-parent = <&bsc_intr>; > + interrupts = <0>; > status = "disabled"; > }; > > @@ -377,6 +387,8 @@ ddc1: i2c@7ef09500 { > reg = <0x7ef09500 0x100>, <0x7ef05b00 0x300>; > reg-names = "bsc", "auto-i2c"; > clock-frequency = <97500>; > + interrupt-parent = <&bsc_intr>; > + interrupts = <1>; > status = "disabled"; > }; > }; > -- > 2.29.2 >