From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from natsluvver.rzone.de (natsluvver.rzone.de [81.169.145.176]) by ozlabs.org (Postfix) with ESMTP id 22F6568A45 for ; Wed, 25 Jan 2006 21:28:11 +1100 (EST) From: Stefan Roese To: linuxppc-embedded@ozlabs.org Subject: Re: Yosemite/440EP is there a global interrupt enable mask? Date: Wed, 25 Jan 2006 11:28:05 +0100 References: <43CC3E37.4040707@softadvances.com> <43D66D06.9090904@ovro.caltech.edu> <43D67AF6.6070403@ovro.caltech.edu> In-Reply-To: <43D67AF6.6070403@ovro.caltech.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Message-Id: <200601251128.05370.sr@denx.de> List-Id: Linux on Embedded PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi David, On Tuesday 24 January 2006 20:07, David Hawkins wrote: > I'm writing a simple driver to test IRQ handling on the > AMCC Yosemite board. The board has an 8x2 header with several > GPIO pins, a number of which can be configured as IRQ inputs. > > I have setup GPIO46 as output, and GPIO47 as input, and > selected IRQ8 on that pin. OK. So far good. > So, is there a kernel wide interrupt enable mask that I really > should be using? Or, an interrupt enable API? I initially > thought that when I registered an interrupt using > request_irq() that the kernel would go off an enable the > requested IRQ, but this test shows that it did not. Yes, the request_irq() should enable the requested IRQ. You seem to have used the wrong IRQ number though. Please see below. > #include /* kernel modules */ > #include /* request_irq(), etc */ > #include /* ioremap64(), iounmap(), readl() */ > > static char *name = "yosemite_irq"; > static unsigned long long base = 0x0EF600C00; // 36-bit address > static unsigned int size = 0x44; > static char *kernel; > static int irq = 8; You are using the "External IRQ 8". This results in IRQ number 19 of the 2nd interrupt controller of the 440ep. So please try (19+32) as the IRQ number upon requesting the interrupt. Best regards, Stefan