From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Cox Subject: Re: New serial card development Date: Thu, 1 Nov 2012 22:26:19 +0000 Message-ID: <20121101222619.12bb9c50@pyramind.ukuu.org.uk> References: <5074703E.408@commtech-fastcom.com> <20121014093704.GA6207@thunk.org> <20121016002608.64b33de5@pyramind.ukuu.org.uk> <20121016023226.GA17446@thunk.org> <20121019212158.GB4721@thunk.org> <20121023183859.GA3317@kroah.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from lxorguk.ukuu.org.uk ([81.2.110.251]:35355 "EHLO lxorguk.ukuu.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760291Ab2KAWVP (ORCPT ); Thu, 1 Nov 2012 18:21:15 -0400 In-Reply-To: Sender: linux-serial-owner@vger.kernel.org List-Id: linux-serial@vger.kernel.org To: Matt Schulte Cc: Greg KH , Theodore Ts'o , linux-serial@vger.kernel.org > Hello, the next question that I have is how to handle the interrupts > on this UART. It has a more complex interrupt scheme than a > traditional 8250 UART. There is a global ISR register that tells you > which port had the interrupt and then there is another set of > registers that hold the actual interrupts. port->handle_irq is half of what you need, but you probably need to be able to hook serial8250_interruot and provide your own alternative. Given you don't need the irq chain handling either probably the bit that wants to be hookable is the calls to serial_link_irq_chain and serial_unlink_irq_chain in the startup/shutdown methods. In yor case all that and all the irq scanning the chain becomes a simple read of the port and call of the handlers (serial8250_handlee_irq(port, iir) Alan