Date: Fri, 19 Apr 2019 10:04:41 -0600 From: Ian Lepore <ian@freebsd.org> To: Per Hedeland <per@hedeland.org>, Karl Denninger <karl@denninger.net> Cc: freebsd-arm@freebsd.org Subject: Re: I2c producing crazy console messages [[Re: insanely-high interrupt rates -- PARTIAL resolution (Pi2)]] Message-ID: <bdf9fb604e7b4a54d3f0085bd7223c9d6b1679c4.camel@freebsd.org> In-Reply-To: <499b53d5-23ed-c33b-3715-018720c536a3@hedeland.org> References: <004ddba628b94b80845d8e509ddcb648d21fd6c9.camel@freebsd.org> <20190319161423.GH57400@cicely7.cicely.de> <52df098fdc0caf5de1879c93239534fffbd49b56.camel@freebsd.org> <40f57de2-2b25-3981-a416-b9958cc97636@denninger.net> <669892ac3fc37b0843a156c0ab102316829103fd.camel@freebsd.org> <663f2566-b035-7011-70eb-4163b41e6e55@denninger.net> <20190325164827.GL57400@cicely7.cicely.de> <3db9cf8a-68ee-e339-67bf-760ee51464fd@denninger.net> <fc17ac0f77832e840b9fffa9b1074561f1e766d8.camel@freebsd.org> <d96c7f42-f01b-8990-a558-ee92d631b51d@denninger.net> <dc56a8964cae942354cbe2b5b0620f2eebb569bb.camel@freebsd.org> <874l7fyrpr.fsf@news-spur.riddles.org.uk> <701e011f-3088-8ed4-4fbb-6fa93ac698f5@denninger.net> <aefa1d778e7684f71ffed49ce32ee80e2273d033.camel@freebsd.org> <67133e19-2be5-ccd1-2ded-008b36a866ec@denninger.net> <6f6f8471-8624-c5e2-547c-42b712254126@denninger.net> <ec6a5200c9c0b255094f6a46a1d2f95cd9334ea6.camel@freebsd.org> <8bcdb1e1-e561-6255-848d-e532ad4d5918@denninger.net> <499b53d5-23ed-c33b-3715-018720c536a3@hedeland.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2019-04-19 at 13:32 +0200, Per Hedeland wrote: > But anyway I would be *extremely* surprised if I saw them, since > AFAIU > the i2c bus per se has no concept of interrupts - you need to connect > some other wire from the device to e.g. a gpio pin (with appropriate > config) in order to generate interrupts - and I haven't done that. > (The > ads1015 does have an ALERT/RDY pin that could potentially be used for > it, but since FreeBSD AFAIK doesn't have a way to deliver the > interrupts to userland code, I had no interest in it.) You're thinking about this all wrong. The interrupts have nothing to do with the i2c bus, but the i2c controller still uses interrupts to signal things like "trasnfer done" or "fifo empty". If there's nothing on the bus, you don't end up doing any transfers, so you don't get any spurious interrupts. I can't reproduce this using RTC or EEPROM chips. We use ADS1013 parts at $work, I may have some around here somewhere. If so, I'll see if I can reproduce the problem using them. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bdf9fb604e7b4a54d3f0085bd7223c9d6b1679c4.camel>