Received: by 2002:ac0:aa62:0:0:0:0:0 with SMTP id w31-v6csp3179077ima; Tue, 23 Oct 2018 01:27:59 -0700 (PDT) X-Google-Smtp-Source: ACcGV60G19/HJnjZIdnwLIvY7h4RQs+92GgOHN95faVLWVDKMUbvS41ZDV4xuGyD5PyOt/cKskt0 X-Received: by 2002:a63:8c0b:: with SMTP id m11-v6mr46398844pgd.422.1540283279861; Tue, 23 Oct 2018 01:27:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540283279; cv=none; d=google.com; s=arc-20160816; b=sW3bUzkkMtJTHtp1oKDWSdBrV3LqHzN3Nx2HaLiJDyltouDV+iKDgkcRBYStk4YWsd 7oGY31a9wCLxi2TBTsPZhf0bKh8TwjzUCBa859FofVmyi242+bP9dbzuJxpMVyZJkrek KfBtymNpeVgW4grW9l3jn+PQdPc89gR63IdZpK5Dm/Kz+0/qsRNE8RZwhEfUFYTCa9gg cRAPT0KUzQQ1pXwFQPL5mO2Odt+meVLkJ7QxQ6jeTUOJ30fqiY7Bc0eoRubzRO1lzd7v zOFPWZaLiPkzF/AbJywjwNn0df8M64EDo0quMexCY68eu8HiZl4f3A6W+9u1NkK3isFb qn0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:organization:user-agent :references:in-reply-to:subject:cc:to:from:message-id:date; bh=wgbaxpK3hmdCUKAbX8eXlHdm45QLygvd997Sr07MeZM=; b=mWC0vWXyY4KH9wjFTghx/rbOruPHGjel3AwgCNoJyq+gipGQniHNCa2IiCrbGV2DmT XcOrVTSwZoxKiL/cMG0FjSPtumSxd1uEDssDUg2mLN/dEAgRMQQGHZGWyhOlhK/AnIca Ts43evT5xsDTe/Px/5mdfmnpQIXBY3NHWWM+kaQGulOivVgnezvO9supPkKsHBZerWok 4nl2h5+gguUvgQyMF4TUT7rhMwezjdJPnMKdqtVQ52V3UJlqiJhYb/apy1OKqFphta6H 48na1D8pdVt5wgoc8CZC6jBp6mLqQ4ozXxUVcCMgZbDd/KrUJSd02e0vD4tl7PTakC4N TEsA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t1-v6si486478pgg.541.2018.10.23.01.27.43; Tue, 23 Oct 2018 01:27:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727747AbeJWQtm (ORCPT + 99 others); Tue, 23 Oct 2018 12:49:42 -0400 Received: from foss.arm.com ([217.140.101.70]:54556 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727210AbeJWQtm (ORCPT ); Tue, 23 Oct 2018 12:49:42 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D540680D; Tue, 23 Oct 2018 01:27:21 -0700 (PDT) Received: from big-swifty.misterjones.org (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D17EE3F71D; Tue, 23 Oct 2018 01:27:13 -0700 (PDT) Date: Tue, 23 Oct 2018 09:27:07 +0100 Message-ID: <864lddt6ec.wl-marc.zyngier@arm.com> From: Marc Zyngier To: Lokesh Vutla Cc: Santosh Shilimkar , Nishanth Menon , Rob Herring , , , Santosh Shilimkar , Linux ARM Mailing List , , Tero Kristo , Sekhar Nori , Device Tree Mailing List , Grygorii Strashko , Peter Ujfalusi Subject: Re: [PATCH v2 00/10] Add support for TISCI irqchip drivers In-Reply-To: <050161aa-a257-9bf8-b3c9-35b13925b556@ti.com> References: <20181018154017.7112-1-lokeshvutla@ti.com> <942981b8-7536-2b6b-ad49-dc59671cbda6@oracle.com> <050161aa-a257-9bf8-b3c9-35b13925b556@ti.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 EasyPG/1.0.0 Emacs/25.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: ARM Ltd MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 23 Oct 2018 09:17:56 +0100, Lokesh Vutla wrote: > > Hi Santosh, > > On Tuesday 23 October 2018 02:09 AM, Santosh Shilimkar wrote: > > On 10/18/2018 8:40 AM, Lokesh Vutla wrote: > >> TISCI abstracts the handling of IRQ routes where interrupt sources > >> are not directly connected to host interrupt controller. This series > >> adds support for: > >> - TISCI commands needed for IRQ configuration > >> - Interrupt Router(INTR) and Interrupt Aggregator(INTA) drivers > >> > >> More information on TISCI IRQ management can be found here[1]. > >> Complete TISCI resource management information can be found here[2]. > >> AM65x SoC related TISCI information can be found here[3]. > >> INTR and INTA related information can be found in TRM[4]. > >> > > I didn't read the specs but from what you described in > > INTA and INTR bindings, does the flow of IRQs like below ? > > > > Device IRQ(e.g USB) -->INTR-->INTA--->HOST IRQ controller(GIC) > > Not all devices in SoC are connected to INTA. Only the devices that > are capable of generating events are connected to INTA. And INTA is > connected to INTR. > > So there are three ways in which IRQ can flow in AM65x SoC: > 1) Device directly connected to GIC > - Device IRQ --> GIC > - (Most legacy peripherals like MMC, UART falls in this case) > 2) Device connected to INTR. > - Device IRQ --> INTR --> GIC > - This is cases where you want to mux IRQs. Used for GPIOs and Mailboxes > - (This is somewhat similar to crossbar on DRA7 devices) > 3) Devices connected to INTA. > - Device Event --> INTA --> INTR --> GIC > - Used for DMA and networking devices. > > Events are messages based on a hw protocol, sent by a master over a > dedicated Event transport lane. Events are highly precise that no > under/over flow of data transfer occurs at source/destination > regardless of distance and latency. So this is mostly preferred in DMA > and networking usecases. Now Interrupt Aggregator(IA) has the logic to > converts these events to Interrupts. Can we stop with these events already? What you describe here *is* an interrupt. The fact that you have some other dedicated infrastructure in your SoC is an implementation detail that doesn't concern the kernel at all. So this should be modelled as an interrupt, and not have its own special interface at all. Thanks, M. -- Jazz is not dead, it just smell funny.