From wpdster@gmail.com Fri Sep 09 01:07:59 2011
Received: from mail-fx0-f44.google.com ([209.85.161.44])
	by stoneboat.aleph1.co.uk with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16)
	(Exim 4.72) (envelope-from <wpdster@gmail.com>) id 1R1odN-000418-40
	for balloon@balloonboard.org; Fri, 09 Sep 2011 01:07:59 +0100
Received: by fxe6 with SMTP id 6so2174955fxe.31
	for <balloon@balloonboard.org>; Thu, 08 Sep 2011 17:07:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:content-type; bh=hAWFjCyR23/uvzpA+ZL1E482D84BANC+rynMDIocNmE=;
	b=bwOKduU6eb/sEKlefm2+9DDWh5wAQuNIQnLNbLJYa7SVnsSes4m6Qrscg3PhOVxSKr
	8PniYqjCxOgJ7OJoZTGPKzud3Wp4wJfoVERdQ5ezSzHCyis1+W81kucJt0yVUx6kKEKo
	zkUwV3Yte3HrhXAoNF/AxvdDb8sHxvtqlfFNc=
Received: by 10.223.13.208 with SMTP id d16mr179968faa.141.1315526867423; Thu,
	08 Sep 2011 17:07:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.119.68 with HTTP; Thu, 8 Sep 2011 17:07:27 -0700 (PDT)
In-Reply-To: <CAF_dkJAWCUqyBxQ1p8SKQGygwLVkZx5vD8H+S+8xYiO47-5rhQ@mail.gmail.com>
References: <CAF_dkJAWCUqyBxQ1p8SKQGygwLVkZx5vD8H+S+8xYiO47-5rhQ@mail.gmail.com>
From: Patrick Doyle <wpdster@gmail.com>
Date: Thu, 8 Sep 2011 20:07:27 -0400
Message-ID: <CAF_dkJCbNCope46so67JJJYWPMTAOg-hQX3b0NVjDnYoKTrZjA@mail.gmail.com>
To: balloon@balloonboard.org
Content-Type: multipart/mixed; boundary=001517479048a012df04ac76f782
X-SA-Exim-Connect-IP: 209.85.161.44
X-SA-Exim-Mail-From: wpdster@gmail.com
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	stoneboat.aleph1.co.uk
X-Spam-Level: 
X-Spam-Status: No, score=-3.2 required=4.5 tests=AWL,BAYES_00,FREEMAIL_FROM,
	RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.1
X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000)
X-SA-Exim-Scanned: Yes (on stoneboat.aleph1.co.uk)
Subject: Re: [Balloon] BALLOON3_AUX_NIRQ
X-BeenThere: balloon@balloonboard.org
X-Mailman-Version: 2.1.13
Precedence: list
List-Id: Balloon List <balloon.balloonboard.org>
List-Unsubscribe: <http://balloonboard.org/mailman/options/balloon>,
	<mailto:balloon-request@balloonboard.org?subject=unsubscribe>
List-Archive: <http://balloonboard.org/lurker/list/balloon.html>
List-Post: <mailto:balloon@balloonboard.org>
List-Help: <mailto:balloon-request@balloonboard.org?subject=help>
List-Subscribe: <http://balloonboard.org/mailman/listinfo/balloon>,
	<mailto:balloon-request@balloonboard.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Sep 2011 00:07:59 -0000

--001517479048a012df04ac76f782
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Sep 7, 2011 at 2:28 PM, Patrick Doyle <wpdster@gmail.com> wrote:
> While not trying to malign anybody, I am curious to learn if it is
> possible that the AUX_NIRQ interrupt on the balloon3 board has never
> been adequately tested.
>

Hi Team!

Here's my fix.  It seems that some time ago the control registers in
the FPGA were switched from read/write registers to registers that one
sets bits by writing to one address and clears bits by writing to a
different address.  While the definitions for
BALLOON3_INT_CONTROL_SET_REG and BALLOON3_INT_CONTROL_CLR_REG made it
into balloon3.h (via balloon3.patch) their use didn't make it into
balloon3.c.

I have attached a patch file which now lives in my patches/2.6.36.6
directory.  I'm not sure what you (the team) thinks is best here --
should it be merged into the balloon3.patch?  Should it be submitted
back upstream (since ballon3.[ch] are now part of the upstream kernel
distribution)?  Does anybody upstream still care about 2.6.36.6?
Should this change be propagated up and down the different kernel
versions that are currently in the balloon3 distribution?

CAUTION CAUTION CAUTION
When I first applied this patch, my board stopped booting, right after
it initialized support for PCMCIA.  Since I don't have PCMCIA, the
pcmcia status change interrupt was firing repeatedly.  I fixed this by
modifying my FPGA image to pull that pin up (via a change to my UCF
file).  I expect I could have just as easily fixed it by disabling
PCMCIA support.  (In fact, I should probably do that anyway, since the
kernel pauses for 6 or 7 seconds just after it enables PCMCIA, and I
don't even have the connectors for it on my boards anyway).

For better or worse, I also changed BALLOON3_NR_IRQS in balloon.h from
(IRQ_BOARD_START + 4) to 3.  I'm not sure why the old code added 4,
when there are only 3 additional interrupts defined in the FPGA, but
I've assumed that was a typo or a holdover from older code.

Please review this patch, test it on other boards, kernels, and kernel
configurations, and let me know what you think.

--wpd

--001517479048a012df04ac76f782
Content-Type: application/octet-stream; name="irqfixes.patch"
Content-Disposition: attachment; filename="irqfixes.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gscepczs0

SW5kZXg6IGxpbnV4LTIuNi4zNy42L2FyY2gvYXJtL21hY2gtcHhhL2JhbGxvb24zLmMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gbGludXgtMi42LjM3LjYub3JpZy9hcmNoL2FybS9tYWNoLXB4YS9iYWxsb29uMy5j
CTIwMTEtMDktMDcgMTI6MzI6MzQuMDAwMDAwMDAwIC0wNDAwCisrKyBsaW51eC0yLjYuMzcuNi9h
cmNoL2FybS9tYWNoLXB4YS9iYWxsb29uMy5jCTIwMTEtMDktMDggMTE6MzY6MjIuMDAwMDAwMDAw
IC0wNDAwCkBAIC01MDgsMTQgKzUwOCwxNCBAQAogewogCWludCBiYWxsb29uM19pcnEgPSAoaXJx
IC0gQkFMTE9PTjNfSVJRKDApKTsKIAliYWxsb29uM19pcnFfZW5hYmxlZCAmPSB+KDEgPDwgYmFs
bG9vbjNfaXJxKTsKLQlfX3Jhd193cml0ZWwofmJhbGxvb24zX2lycV9lbmFibGVkLCBCQUxMT09O
M19JTlRfQ09OVFJPTF9SRUcpOworICAgICAgICBfX3Jhd193cml0ZWwoMSA8PCBiYWxsb29uM19p
cnEsIEJBTExPT04zX0lOVF9DT05UUk9MX1NFVF9SRUcpOwogfQogCiBzdGF0aWMgdm9pZCBiYWxs
b29uM191bm1hc2tfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJaW50IGJhbGxvb24zX2lycSA9
IChpcnEgLSBCQUxMT09OM19JUlEoMCkpOwogCWJhbGxvb24zX2lycV9lbmFibGVkIHw9ICgxIDw8
IGJhbGxvb24zX2lycSk7Ci0JX19yYXdfd3JpdGVsKH5iYWxsb29uM19pcnFfZW5hYmxlZCwgQkFM
TE9PTjNfSU5UX0NPTlRST0xfUkVHKTsKKyAgICAgICAgX19yYXdfd3JpdGVsKDEgPDwgYmFsbG9v
bjNfaXJxLCBCQUxMT09OM19JTlRfQ09OVFJPTF9DTFJfUkVHKTsKIH0KIAogc3RhdGljIHN0cnVj
dCBpcnFfY2hpcCBiYWxsb29uM19pcnFfY2hpcCA9IHsKQEAgLTUzNCw5ICs1MzQsOSBAQAogCQlp
ZiAoZGVzYy0+Y2hpcC0+YWNrKQogCQkJZGVzYy0+Y2hpcC0+YWNrKEJBTExPT04zX0FVWF9OSVJR
KTsKIAkJd2hpbGUgKHBlbmRpbmcpIHsKLQkJCWlycSA9IEJBTExPT04zX0lSUSgwKSArIF9fZmZz
KHBlbmRpbmcpOwotCQkJZ2VuZXJpY19oYW5kbGVfaXJxKGlycSk7Ci0JCQlwZW5kaW5nICY9IHBl
bmRpbmcgLSAxOworCQkJaXJxID0gX19mZnMocGVuZGluZyk7CisJCQlnZW5lcmljX2hhbmRsZV9p
cnEoQkFMTE9PTjNfSVJRKDApICsgaXJxKTsKKwkJCXBlbmRpbmcgJj0gfigxIDw8IGlycSk7CiAJ
CX0KIAkJcGVuZGluZyA9IF9fcmF3X3JlYWRsKEJBTExPT04zX0lOVF9DT05UUk9MX1JFRykgJgog
CQkJCWJhbGxvb24zX2lycV9lbmFibGVkOwpAQCAtNTQ4LDggKzU0OCwxMyBAQAogCWludCBpcnE7
CiAKIAlweGEyN3hfaW5pdF9pcnEoKTsKKyAgICAgICAgLyogRW5zdXJlIHRoYXQgdGhlIGV4dHJh
IEJhbGxvb24zIGlycXMgYXJlIG1hc2tlZCBvdXQgKi8KKyAgICAgICAgX19yYXdfd3JpdGVsKCgx
IDw8IEJBTExPT04zX05SX0lSUVMpLTEsIEJBTExPT04zX0lOVF9DT05UUk9MX1NFVF9SRUcpOwor
CiAJLyogc2V0dXAgZXh0cmEgQmFsbG9vbjMgaXJxcyAqLwotCWZvciAoaXJxID0gQkFMTE9PTjNf
SVJRKDApOyBpcnEgPD0gQkFMTE9PTjNfTlJfSVJRUyAtIDE7IGlycSsrKSB7CisJZm9yIChpcnEg
PSBCQUxMT09OM19JUlEoMCk7CisgICAgICAgICAgICAgaXJxIDwgQkFMTE9PTjNfSVJRKDApICsg
QkFMTE9PTjNfTlJfSVJRUzsKKyAgICAgICAgICAgICBpcnErKykgewogCQlzZXRfaXJxX2NoaXAo
aXJxLCAmYmFsbG9vbjNfaXJxX2NoaXApOwogCQlzZXRfaXJxX2hhbmRsZXIoaXJxLCBoYW5kbGVf
bGV2ZWxfaXJxKTsKIAkJc2V0X2lycV9mbGFncyhpcnEsIElSUUZfVkFMSUQgfCBJUlFGX1BST0JF
KTsKQEAgLTg5MSw3ICs4OTYsNyBAQAogTUFDSElORV9TVEFSVChCQUxMT09OMywgIkJhbGxvb24z
IikKIAkvKiBNYWludGFpbmVyOiBOaWNrIEJhbmUuICovCiAJLm1hcF9pbwkJPSBiYWxsb29uM19t
YXBfaW8sCi0JLm5yX2lycXMJPSBCQUxMT09OM19OUl9JUlFTLAorCS5ucl9pcnFzCT0gSVJRX0JP
QVJEX1NUQVJUICsgQkFMTE9PTjNfTlJfSVJRUywKIAkuaW5pdF9pcnEJPSBiYWxsb29uM19pbml0
X2lycSwKIAkudGltZXIJCT0gJnB4YV90aW1lciwKIAkuaW5pdF9tYWNoaW5lCT0gYmFsbG9vbjNf
aW5pdCwKSW5kZXg6IGxpbnV4LTIuNi4zNy42L2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFj
aC9iYWxsb29uMy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpbnV4LTIuNi4zNy42Lm9yaWcvYXJjaC9hcm0v
bWFjaC1weGEvaW5jbHVkZS9tYWNoL2JhbGxvb24zLmgJMjAxMS0wOS0wOCAxMToxNTo0Ni4wMDAw
MDAwMDAgLTA0MDAKKysrIGxpbnV4LTIuNi4zNy42L2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUv
bWFjaC9iYWxsb29uMy5oCTIwMTEtMDktMDggMTE6MTk6MTIuMDAwMDAwMDAwIC0wNDAwCkBAIC0y
MTAsNyArMjEwLDcgQEAKICNkZWZpbmUgQkFMTE9PTjNfQ09ERUNfSVJRCUlSUV9HUElPKEJBTExP
T04zX0dQSU9fQ09ERUNfSVJRKQogI2RlZmluZSBCQUxMT09OM19TMF9DRF9JUlEJSVJRX0dQSU8o
QkFMTE9PTjNfR1BJT19TMF9DRCkKIAotI2RlZmluZSBCQUxMT09OM19OUl9JUlFTCShJUlFfQk9B
UkRfU1RBUlQgKyA0KQorI2RlZmluZSBCQUxMT09OM19OUl9JUlFTCTMKIAogZXh0ZXJuIGludCBi
YWxsb29uM19oYXMoZW51bSBiYWxsb29uM19mZWF0dXJlcyBmZWF0dXJlKTsKIAo=
--001517479048a012df04ac76f782--

