Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2372561pxb; Fri, 5 Feb 2021 16:48:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4QGXXWjfug8eZsWTJahW0PIIdfvYxflcT/DFETztM0IXU570pgBsmJfcuMCQC0b5dzhVJ X-Received: by 2002:a17:906:fa98:: with SMTP id lt24mr6435412ejb.213.1612572525507; Fri, 05 Feb 2021 16:48:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612572525; cv=none; d=google.com; s=arc-20160816; b=Mb2yQH3sCI16xG6V1BLqIsjFkeNbIRtceAIinfGuXvgLB3yPkxRWLruQtxvn6lWlVS wAR7tFvG66xWiBR3HCNq+FsxQ3JHksC0ogRe2cRHe1PaVrb0k/qahQeFjq04eBI5F9/n 5HX2iy7ZxVTDbURJeM9C4ahoYBwy/k8iie76T09JjFacDEKM2ikzi+lFT5qPEaqi1BAb T7MvCbtgKo+u5oiElxi0tDylQWYkcMVRsgBAQMBaGEJu4YYjTYSRKEqohKoS8htHSqRs ++OVcTm5M4IWEjp4FdMoZyaiEK6narAorcErRlPaE3T7Q8XezgofH3jsyY3C+9AaczOL Xnxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=Qlca0su+U02LsbC3LLD1AYGrfUlPzDaezLX5AMYp+eo=; b=n9ncG8uiF0h2zCGUS5JTlLPxkcjZlycNWg6uj5tmTPiBgoSmxf6RTTCdoaAxhGFaMM 6oN18TuH/AbbEInkFKzARilmBQ1FuW2HI1Mf5bhkbHBgM2XAVkaKM5RgiTwwXiVo9T5P eo8yRg5oaCBVo1kNAtz1fap6Fazm8aB8ioqmMd+79RFjZsaCsqgZZKdeXW0CE3ASBbyw f2KbgFOhF4J1OoDRmROuyzZGK5R6dd4Mz0RzllOwgpKJEsstIPRfCe0IQHxFO4l6sKZv 8kWhSKOUq/82D/MFJ3cr/yBAVVjfsotThBZMmhlV17qxqUe9YK7NryF7DTgDEREvVMOc uu+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="GlB8KK/A"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c16si6544037edu.304.2021.02.05.16.48.20; Fri, 05 Feb 2021 16:48:45 -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; dkim=pass header.i=@google.com header.s=20161025 header.b="GlB8KK/A"; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230198AbhBFAqZ (ORCPT + 99 others); Fri, 5 Feb 2021 19:46:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230206AbhBEKGw (ORCPT ); Fri, 5 Feb 2021 05:06:52 -0500 Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com [IPv6:2607:f8b0:4864:20::b2e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08374C061786 for ; Fri, 5 Feb 2021 02:06:17 -0800 (PST) Received: by mail-yb1-xb2e.google.com with SMTP id k4so6189211ybp.6 for ; Fri, 05 Feb 2021 02:06:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Qlca0su+U02LsbC3LLD1AYGrfUlPzDaezLX5AMYp+eo=; b=GlB8KK/AC8pgbczI0FcWoM7bJ5I+52mIFSdzFSd2Vp/n9A4AAg0PL8npODANtmmWeO Wp8+EGrJW8RX9/K66tcc74TJJBZYWiZBVxalvlbwTOyHjCnoYrkXQSyszVBfN3wfuvg0 0iXcbwp475fdB6w/4sLRAqMVajtGPgAVQ968qn1mQtbjC2ZdKyRdYS60f1uldjebwwbD RVDVqX8hmVeB8ecWq9QyN43MCPAbkWRW+G21hQU6zR2d6mAh3s2vUST9QTs+YZRjC3CE Qq2xGMxZXJaEphn6UgVzAasrYoEcTxO9EoGv0cNqh1xr53kIdq88H0KQaSI23X0CpM41 sJjA== 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=Qlca0su+U02LsbC3LLD1AYGrfUlPzDaezLX5AMYp+eo=; b=pzq/3677hANKKdbYCsMLkSZ/kdSdVkV6eMYVCua+ZKu2knXFwUmiQ9UcyonihIH1yG A6YWxBzQbWHR96nGvJBPDEzVkc0y1yJZuh8g1ywO+LWu0srFzCF5IjTgwxVIpx2Stdd8 ysGiCRaVtmfW11saCd36YJ1KvNKYY+RwOKBnJlhlmjYIaclQa8lRIdOv4+Z31ghODOUD Yj6Uj7MTnqIiljdpzL6ZXrWXpr2cqt8HFpIwT1jB1cgCPrevEpke9aCRqm+CCEEW1L5M n8EIEatg46deLEGF4ApeNH/4cxBXJ0BGKp3/ZiaakT00VwywhG4iIF4ARO8cLgC488Wu +o1g== X-Gm-Message-State: AOAM533q1avnEWlIzESr7RMik87qv+KTeeujAQwYSST33OWV8aNSCWtp GrT5yH3hPMjDB7DtCeO41Ik4jpK2fHlbiN97oyDjDA== X-Received: by 2002:a25:f8a:: with SMTP id 132mr4973807ybp.228.1612519577059; Fri, 05 Feb 2021 02:06:17 -0800 (PST) MIME-Version: 1.0 References: <20210121225712.1118239-1-saravanak@google.com> <20210121225712.1118239-3-saravanak@google.com> <9692dfc9-4c63-71c9-b52b-d0feba466695@samsung.com> <6b606a5d-0435-1e9d-ac61-a8dacf051067@samsung.com> In-Reply-To: From: Saravana Kannan Date: Fri, 5 Feb 2021 02:05:41 -0800 Message-ID: Subject: Re: [PATCH v2 2/2] of: property: Add fw_devlink support for interrupts To: Geert Uytterhoeven Cc: Marek Szyprowski , Rob Herring , Frank Rowand , Greg Kroah-Hartman , linux-tegra , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , LKML , Linus Walleij , Bartosz Golaszewski , Jon Hunter , Marc Zyngier , Kevin Hilman , Android Kernel Team , Rob Herring , Thierry Reding Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 5, 2021 at 12:06 AM Geert Uytterhoeven wrote: > > Hi Marek, > > On Fri, Feb 5, 2021 at 8:38 AM Marek Szyprowski > wrote: > > On 04.02.2021 22:31, Saravana Kannan wrote: > > > On Thu, Feb 4, 2021 at 3:52 AM Marek Szyprowski > > > wrote: > > >> On 21.01.2021 23:57, Saravana Kannan wrote: > > >>> This allows fw_devlink to create device links between consumers of an > > >>> interrupt and the supplier of the interrupt. > > >>> > > >>> Cc: Marc Zyngier > > >>> Cc: Kevin Hilman > > >>> Cc: Greg Kroah-Hartman > > >>> Reviewed-by: Rob Herring > > >>> Reviewed-by: Thierry Reding > > >>> Reviewed-by: Linus Walleij > > >>> Signed-off-by: Saravana Kannan > > >> This patch landed some time ago in linux-next as commit 4104ca776ba3 > > >> ("of: property: Add fw_devlink support for interrupts"). It breaks MMC > > >> host controller operation on ARM Juno R1 board (the mmci@50000 device > > >> defined in arch/arm64/boot/dts/arm/juno-motherboard.dtsi). I didn't > > > I grepped around and it looks like the final board file is this or > > > whatever includes it? > > > arch/arm64/boot/dts/arm/juno-base.dtsi > > The final board file is arch/arm64/boot/dts/arm/juno-r1.dts > > > This patch just finds the interrupt-parent and then tries to use that > > > as a supplier if "interrupts" property is listed. But the only > > > interrupt parent I can see is: > > > gic: interrupt-controller@2c010000 { > > > compatible = "arm,gic-400", "arm,cortex-a15-gic"; > > > > > > And the driver uses IRQCHIP_DECLARE() and hence should be pretty much > > > a NOP since those suppliers are never devices and are ignored. > > > $ git grep "arm,gic-400" -- drivers/ > > > drivers/irqchip/irq-gic.c:IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init); > > > > > > This doesn't make any sense. Am I looking at the right files? Am I > > > missing something? > > > > Okay, I've added displaying a list of deferred devices when mounting > > rootfs fails and got following items: > > > > Deferred devices: > > 18000000.ethernet platform: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 1c050000.mmci amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 1c1d0000.gpio amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 2b600000.iommu platform: probe deferral - wait for supplier > > scpi-power-domains > > 7ff50000.hdlcd platform: probe deferral - wait for supplier scpi-clk > > 7ff60000.hdlcd platform: probe deferral - wait for supplier scpi-clk > > 1c060000.kmi amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 1c070000.kmi amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 1c170000.rtc amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > 1c0f0000.wdt amba: probe deferral - supplier > > bus@8000000:motherboard-bus not ready > > gpio-keys > > Kernel panic - not syncing: VFS: Unable to mount root fs on > > unknown-block(0,0) > > > > I don't see the 'bus@8000000:motherboard-bus' on the deferred devices > > list, so it looks that device core added a link to something that is not > > a platform device... Probe deferred devices (even platform devices) not showing up in that list is not unusual. That's because devices end up on that list only after a driver for them is matched and then it fails. > > Lemme guess: bus@8000000 is a simple bus, but it has an > interrupt-map, and the devlink code doesn't follow the mapping? > No, what's happening is that (and this is something I just learned) that if a parent has an "#interrupt-cells" property, it becomes your interrupt parent. In this case, the motherboard-bus (still a platform device) is the parent, but it never probes (because it's simple-bus and "arm,vexpress,v2p-p1"). But it becomes the interrupt parent. And this mmci device is marked as a consumer of this bus (while still a grand-child). Yeah, I'm working on patches (multiple rewrites) to take care of cases like this. -Saravana