From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758175AbaGWP0N (ORCPT ); Wed, 23 Jul 2014 11:26:13 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:35107 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758070AbaGWP0L (ORCPT ); Wed, 23 Jul 2014 11:26:11 -0400 Message-ID: <53CFD404.7070704@ti.com> Date: Wed, 23 Jul 2014 11:25:56 -0400 From: Santosh Shilimkar User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Linus Walleij , Grygorii Strashko , Suman Anna , Jaswinder Singh , Alexander Shiyan CC: Alexandre Courbot , "linux-gpio@vger.kernel.org" , , Muralidharan Karicheri , Rob Herring , Kumar Gala , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v1] gpio: keystone: add dsp gpio controller driver References: <1405507426-18992-1-git-send-email-grygorii.strashko@ti.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 23 July 2014 11:10 AM, Linus Walleij wrote: > On Wed, Jul 16, 2014 at 12:43 PM, Grygorii Strashko > wrote: > >> From: Murali Karicheri >> >> On Keystone SOCs, ARM host can send interrupts to DSP cores using the >> DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for >> each DSP core. This is one of the component used by the IPC mechanism used >> on Keystone SOCs. >> >> Keystone 2 DSP GPIO controller has specific features: >> - each GPIO can be configured only as output pin; >> - setting GPIO value to 1 causes IRQ generation on target DSP core; >> - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still >> pending. >> >> Signed-off-by: Murali Karicheri >> Signed-off-by: Grygorii Strashko > > Pardon me. How is this GENERAL PURPOSE Input/Output? > > It seems very very much SPECIAL PURPOSE to me, it's like > you're just shoehorning some IPC mechanism into the GPIO > subsystem, and this may be because the datasheet calls it > GPIO when it's not. > > What other stuff than DSP is connected to these lines, and is it > really even external lines? Aren't these just polysilicon rails > pretty much hammered to be used by the DSP and nothing else. > > What is the difference between this and a mailbox IRQ line > and the kind of stuff handled by drivers/mailbox? > I will try to answer this. This IP is indeed a GPIO block but the IO's are used just OUTPUT lines from Linux HOST perspective. These IOs are connected to the DSPs as input/IRQ lines. The DSP-ARM host IPC mechanism used on Keystone is Linux user-space based and it does as one of the component. Its not mailbox since there is no payload etc attached to it. GPIO lib does expose the IO's to userspace and thats what is being the case here. I think it is a legitimate usecase. Sometimes the sending signals to another co-processor might appear like shoehorning or odd but it just uses standard GPIO library and its capabilities as is. Regards, Santosh