[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130916143429.6b7537c2@endymion.delvare>
Date: Mon, 16 Sep 2013 14:34:29 +0200
From: Jean Delvare <khali@...ux-fr.org>
To: Wei Ni <wni@...dia.com>
Cc: linux@...ck-us.net, thierry.reding@...il.com,
lm-sensors@...sensors.org, linux-kernel@...r.kernel.org,
linux-tegra@...r.kernel.org, sw-mobile-therm@...hange.nvidia.com
Subject: Re: [PATCH v3 3/4] hwmon: (lm90) add support to handle IRQ
Hi Wei,
Sorry for the late reply, catching up with the discussions from before
my vacation...
On Tue, 30 Jul 2013 16:18:35 +0800, Wei Ni wrote:
> On 07/29/2013 11:58 PM, Jean Delvare wrote:
> > On Mon, 29 Jul 2013 18:14:56 +0800, Wei Ni wrote:
> >> Yes, we had met this problems, to fix this issue, we enabled one-shot
> >> mode in the bottom half handler of nct interrupts to force a
> >> conversion/comparison. This effectively stops repeated nct interrupts.
> >> We will do following things in the IRQ thread:
> >> 1. stand by the nct1008. (set configure register bit 6)
> >> 2. update the limit value if needed.
> >> 3. write to one-shot resister.
> >> 4. give hardware necessary time to finish conversion
> >> 5. run the nct1008 (clear configure register bit 6)
> >
> > Doh, this is so ugly :(
> >
> > Why don't you configure the pin as THERM2 instead of ALERT then? I'd
> > expect this to make things easier.
>
> If configure as THERM2, only the high temperature limits are relevant,
> so when the temperature reduced, it will not trigger interrupt, and we
> can't update the cooling state.
Ah, indeed, I had not noticed this restriction.
> Or do you mean that we can configure the pin to THERM2 in the irq_thread
> to avoid the repeated interrupt ? I tried it, but no help, the nct1008
> will not run the conversion/comparison immediately, so the status
> register will not be cleared.
No, I didn't mean to suggest anything like that.
> >> (...)
> >> These trip-temps are not critical temperature, we used these temps to
> >> update cooling states. For the critical-temp, we handle it like my
> >> mentioned in #1.
> >
> > I understand. But even if these interrupts are only used for managing
> > cooling states, a misbehavior could still have annoying consequences,
> > such as causing the thermal shutdown to trigger when this could have
> > been avoided, or throttling to stay enabled even though the system has
> > cooled down enough.
>
> I think our driver are trying best to avoid these troubles. As I know in
> our downstream codes, we didn't met these things.
> I think since the lm90 support interrupt mode, then the driver should
> have related interface to handle it, and it can call the callback
> function to do what the platform driver want.
Yes, fair enough. I do not object to it, I was only trying to
understand how you were using it.
--
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists