Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754762AbbHXNcI (ORCPT ); Mon, 24 Aug 2015 09:32:08 -0400 Received: from foss.arm.com ([217.140.101.70]:37229 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754026AbbHXNcF (ORCPT ); Mon, 24 Aug 2015 09:32:05 -0400 Message-ID: <55DB1CD2.5030300@arm.com> Date: Mon, 24 Aug 2015 14:32:02 +0100 From: Marc Zyngier Organization: ARM Ltd User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0 MIME-Version: 1.0 To: Qais Yousef , Thomas Gleixner CC: "alsa-devel@alsa-project.org" , Jason Cooper , "linux-kernel@vger.kernel.org" , "linux-mips@linux-mips.org" Subject: Re: [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi References: <1440419959-14315-1-git-send-email-qais.yousef@imgtec.com> <1440419959-14315-2-git-send-email-qais.yousef@imgtec.com> <55DB15EB.3090109@imgtec.com> In-Reply-To: <55DB15EB.3090109@imgtec.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1922 Lines: 45 On 24/08/15 14:02, Qais Yousef wrote: > On 08/24/2015 01:49 PM, Thomas Gleixner wrote: >> On Mon, 24 Aug 2015, Qais Yousef wrote: >> >>> Some drivers might require to send ipi to other cores. So export it. >> Which IPIs do you need to send from a driver which are not exposed by >> the SMP functions already? > > It's not an SMP IPI. We use GIC to exchange interrupts between AXD and > the host system since AXD is another MIPS core in the cluster. So is this the case of another CPU in the system that is not under control of Linux, but that you need to signal anyway? How do you agree on the IPI number between the two systems? >>> This will be used later by AXD driver. >> That smells fishy and it wants a proper explanation WHY and not just a >> sloppy statement that it will be used later. I can figure that out >> myself as exporting a function without using it does not make any sense. > > Sorry for the terse explanation. As pointed above AXD uses GIC to send > and receive interrupts to the host core. Without this change I can't > compile the driver as a driver module because the symbol is not exported. > > Does this make things clearer? To me, it feels like this is yet another case of routing interrupts to another agent in the system, which is not a CPU under the kernel's control. There is at least two other platforms doing similar craziness (a Freescale platform, and at least one Nvidia). I'd rather see something more "architected" than this blind export, or at least some level of filtering (the idea random drivers can access such a low-level function doesn't make me feel very good). Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/