Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754688AbbGCHGn (ORCPT ); Fri, 3 Jul 2015 03:06:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57013 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751276AbbGCHG0 (ORCPT ); Fri, 3 Jul 2015 03:06:26 -0400 Subject: Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control To: "Wu, Feng" , Eric Auger , "eric.auger@st.com" , "linux-arm-kernel@lists.infradead.org" , "kvmarm@lists.cs.columbia.edu" , "kvm@vger.kernel.org" , "christoffer.dall@linaro.org" , "marc.zyngier@arm.com" , "alex.williamson@redhat.com" , "avi.kivity@gmail.com" , "mtosatti@redhat.com" , "joro@8bytes.org" , "b.reynal@virtualopensystems.com" References: <1435843047-6327-1-git-send-email-eric.auger@linaro.org> <1435843047-6327-13-git-send-email-eric.auger@linaro.org> <5596311A.3010703@redhat.com> Cc: "linux-kernel@vger.kernel.org" , "patches@linaro.org" From: Paolo Bonzini Message-ID: <55963469.9030805@redhat.com> Date: Fri, 3 Jul 2015 09:06:17 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 MIME-Version: 1.0 In-Reply-To: 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: 1771 Lines: 39 On 03/07/2015 09:00, Wu, Feng wrote: >>> > > struct irq_bypass_consumer { >>> > > struct list_head node; >>> > > void *token; >>> > > + unsigned irq; /*got from producer when registered*/ >>> > > void (*add_producer)(struct irq_bypass_producer *, >>> > > struct irq_bypass_consumer *); >>> > > void (*del_producer)(struct irq_bypass_producer *, >>> > > struct irq_bypass_consumer *); >>> > > + void (*update)(struct irq_bypass_consumer *); >>> > > }; >>> > > >>> > > 'update' is used to update the IRTE, while irq is initialized when >>> > > registered, which is used to find the right IRTE. >> > >> > Feel free to add "update" in your PI patches. I am not sure if "irq" >> > belongs here or in the containing struct. You can play with both and >> > submit the version that looks better to you. > Thanks for your review, Paolo. In my understanding, irq comes from > the producer side, while gsi belongs to the consumer, so we need > to get the irq from the producer somewhere. I am not sure adding > irq here is the good way, but what I need is in the 'update' function, > I have irq, gsi in hand. :) It's difficult to say without seeing the patches... The IRQ is stored in the producer already with Eric's changes. If you need to store the old IRQ value, because "update" needs to do something with it, then I think "irq" belongs in the container struct. Perhaps "update" needs to have a producer argument as well? Paolo -- 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/