From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDF08C6FA8E for ; Tue, 27 Sep 2022 16:47:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233259AbiI0Qrw (ORCPT ); Tue, 27 Sep 2022 12:47:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233216AbiI0Qr0 (ORCPT ); Tue, 27 Sep 2022 12:47:26 -0400 Received: from mx.gpxsee.org (mx.gpxsee.org [37.205.14.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9EF3EB6570; Tue, 27 Sep 2022 09:46:12 -0700 (PDT) Received: from [192.168.4.25] (unknown [62.77.71.229]) by mx.gpxsee.org (Postfix) with ESMTPSA id 28C3A46FC; Tue, 27 Sep 2022 18:46:10 +0200 (CEST) Message-ID: Date: Tue, 27 Sep 2022 18:46:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.1.2 Subject: Re: [PATCH V4 XDMA 2/2] dmaengine: xilinx: xdma: Add user logic interrupt support Content-Language: en-US To: Lizhi Hou , vkoul@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, trix@redhat.com Cc: max.zhen@amd.com, sonal.santan@amd.com, larry.liu@amd.com, brian.xu@amd.com References: <1663871905-60498-1-git-send-email-lizhi.hou@amd.com> <1663871905-60498-3-git-send-email-lizhi.hou@amd.com> <64388266-1707-ee20-c3ab-edb67ada68dc@amd.com> From: =?UTF-8?Q?Martin_T=c5=afma?= In-Reply-To: <64388266-1707-ee20-c3ab-edb67ada68dc@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27. 09. 22 18:28, Lizhi Hou wrote: > Okay, I got the point. How about changing request/remove APIs to > enable/disable APIs as below > >      xdma_enable_user_irq(struct platform_device *pdev, u32 > user_irq_index, u32 *irq) > >             user_irq_index: user logic interrupt wire index. (XDMA > driver determines how system IRQs are mapped to DMA channels and user > logic wires) > >             irq: IRQ number returned for registering interrupt handler > (request_irq()) or passing to existing platform driver. > >     xdma_disable_user_irq(struct platform_device *pdev, u32 > user_irq_index) > > Does this make sense to you? > I think even the "irq" parameter in the enable function is surplus as the parent driver (the driver of the actual PCIe card) knows* what PCI irq he has to allocate without XDMA providing the number. xdma_enable_user_irq(struct platform_device *pdev, u32 user_irq_index); xdma_disable_user_irq(struct platform_device *pdev, u32 user_irq_index); should be all that is needed. M. * something like: pci_irq_vector((pdev), PCI_BAR_ID) + NUM_C2H_CHANNELS + NUM_H2C_CHANNELS can be used from the PCIe driver