From: Qais Yousef <qais.yousef@imgtec.com>
To: Marc Zyngier <marc.zyngier@arm.com>,
Thomas Gleixner <tglx@linutronix.de>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Jason Cooper <jason@lakedaemon.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Subject: Re: [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi
Date: Mon, 24 Aug 2015 15:27:01 +0100 [thread overview]
Message-ID: <55DB29B5.3010202@imgtec.com> (raw)
In-Reply-To: <55DB1CD2.5030300@arm.com>
On 08/24/2015 02:32 PM, Marc Zyngier wrote:
> 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?
When Linux loads AXD firmware into memory it places the GIC numbers to
use at a specific offset there as part of the startup protocol. When AXD
starts running it will see these values and use them to send and receive
interrupts.
>
>>>> 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).
I don't know how to architect this better or how to perform the
filtering, but I'm happy to hear suggestions and try them out.
Keep in mind that detecting GIC and writing your own gic_send_ipi() is
very simple. I have done this when the driver was out of tree. So
restricting it by not exporting it will not prevent someone from really
accessing the functionality, it's just they have to do it their own way.
Thanks,
Qais
>
> Thanks,
>
> M.
next prev parent reply other threads:[~2015-08-24 14:27 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 12:39 [PATCH 00/10] Add support for img AXD audio hardware decoder Qais Yousef
2015-08-24 12:39 ` [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi Qais Yousef
2015-08-24 12:49 ` Thomas Gleixner
2015-08-24 13:02 ` Qais Yousef
2015-08-24 13:32 ` Marc Zyngier
2015-08-24 14:27 ` Qais Yousef [this message]
2015-08-24 15:07 ` Thomas Gleixner
2015-08-24 16:39 ` Qais Yousef
2015-08-24 17:17 ` Marc Zyngier
2015-08-26 11:23 ` Qais Yousef
2015-08-26 13:19 ` Thomas Gleixner
2015-08-26 14:57 ` Qais Yousef
2015-08-26 15:08 ` Thomas Gleixner
2015-08-26 15:41 ` Qais Yousef
2015-08-26 21:40 ` Thomas Gleixner
2015-08-27 2:22 ` Jiang Liu
2015-08-28 10:38 ` Qais Yousef
2015-08-28 14:22 ` Thomas Gleixner
2015-08-28 15:12 ` Qais Yousef
2015-09-02 9:33 ` Qais Yousef
2015-09-02 9:55 ` Marc Zyngier
2015-09-02 10:48 ` Qais Yousef
2015-09-02 11:53 ` Marc Zyngier
2015-09-02 13:25 ` Qais Yousef
2015-09-02 14:14 ` Marc Zyngier
2015-09-02 12:12 ` Jason Cooper
2015-08-24 14:55 ` Thomas Gleixner
2015-08-24 15:11 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 02/10] dt: add img,axd.txt device tree binding document Qais Yousef
2015-08-24 13:26 ` Mark Rutland
2015-08-24 13:49 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 03/10] ALSA: add AXD Audio Processing IP alsa driver Qais Yousef
2015-08-26 18:37 ` Mark Brown
2015-08-27 12:15 ` Qais Yousef
2015-08-27 15:32 ` Mark Brown
2015-08-28 9:22 ` Qais Yousef
2015-09-03 12:46 ` Mark Brown
2015-08-24 12:39 ` [PATCH 04/10] ALSA: axd: add fw binary header manipulation files Qais Yousef
2015-08-24 12:39 ` [PATCH 05/10] ALSA: axd: add buffers " Qais Yousef
2015-08-26 18:43 ` Mark Brown
2015-08-27 14:21 ` Qais Yousef
2015-08-29 9:47 ` Mark Brown
2015-09-01 10:00 ` Qais Yousef
2015-09-03 12:32 ` Mark Brown
2015-09-14 9:11 ` Qais Yousef
2015-09-14 18:50 ` Mark Brown
2015-08-24 12:39 ` [PATCH 06/10] ALSA: axd: add basic files for sending/receiving axd cmds Qais Yousef
2015-08-26 19:16 ` Mark Brown
2015-08-27 15:40 ` Qais Yousef
2015-08-29 10:18 ` Mark Brown
2015-09-01 10:46 ` Qais Yousef
2015-09-03 12:40 ` Mark Brown
2015-08-24 12:39 ` [PATCH 07/10] ALSA: axd: add cmd interface helper functions Qais Yousef
2015-08-24 12:39 ` [PATCH 08/10] ALSA: axd: add low level AXD platform setup files Qais Yousef
2015-08-24 12:39 ` [PATCH 09/10] ALSA: axd: add alsa compress offload operations Qais Yousef
2015-08-24 12:39 ` [PATCH 10/10] ALSA: axd: add Makefile Qais Yousef
2015-08-26 18:04 ` [PATCH 00/10] Add support for img AXD audio hardware decoder Mark Brown
2015-08-27 9:07 ` Qais Yousef
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55DB29B5.3010202@imgtec.com \
--to=qais.yousef@imgtec.com \
--cc=alsa-devel@alsa-project.org \
--cc=jason@lakedaemon.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=marc.zyngier@arm.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox