public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
@ 2008-06-06  5:41 David Brownell
  2008-06-06 13:44 ` Maxim Levitsky
  2008-06-08 21:00 ` Andrew Morton
  0 siblings, 2 replies; 6+ messages in thread
From: David Brownell @ 2008-06-06  5:41 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml, Thomas Gleixner

From: David Brownell <dbrownell@users.sourceforge.net>

More Kconfig tweaks related to the legacy PC RTC code:

 - Describe the legacy PC RTC driver as such ... it's never quite
   been clear that this driver is for PC RTCs, and now it's fair
   to call this the "legacy" driver.

 - Force it to understand about HPET stealing its IRQs ... kernel
   code does this always when HPET is in use, there should be no
   option for users to goof up the config.

This seems to fix kernel bugzilla #10729.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
---
 drivers/char/Kconfig |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/drivers/char/Kconfig	2008-05-24 11:57:49.000000000 -0700
+++ b/drivers/char/Kconfig	2008-05-24 12:08:55.000000000 -0700
@@ -749,7 +749,7 @@ config NVRAM
 if RTC_LIB=n
 
 config RTC
-	tristate "Enhanced Real Time Clock Support"
+	tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
 	depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \
 			&& !ARM && !SUPERH && !S390 && !AVR32
 	---help---
@@ -1036,9 +1036,9 @@ config HPET
 	  non-periodic and/or periodic.
 
 config HPET_RTC_IRQ
-	bool "HPET Control RTC IRQ" if !HPET_EMULATE_RTC
-	default n
-	depends on HPET
+	bool
+	default HPET_EMULATE_RTC
+	depends on RTC && HPET
 	help
 	  If you say Y here, you will disable RTC_IRQ in drivers/char/rtc.c. It
 	  is assumed the platform called hpet_alloc with the RTC IRQ values for

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
  2008-06-06  5:41 [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC David Brownell
@ 2008-06-06 13:44 ` Maxim Levitsky
  2008-06-10 21:31   ` David Brownell
  2008-06-08 21:00 ` Andrew Morton
  1 sibling, 1 reply; 6+ messages in thread
From: Maxim Levitsky @ 2008-06-06 13:44 UTC (permalink / raw)
  To: David Brownell; +Cc: Andrew Morton, lkml, Thomas Gleixner

On Friday, 6 June 2008 08:41:44 David Brownell wrote:
> From: David Brownell <dbrownell@users.sourceforge.net>
> 
> More Kconfig tweaks related to the legacy PC RTC code:
> 


Hi,

Remember long ago I had a discussion with you about HPET that
steals RTC irq in 'legacy replacement' mode, and rtc driver thus
implements rtc on 'top' of hpet.

New rtc-cmos driver doesn't do this emulation, thus it isn't compatible
with hpet driver.

But there is a solution,  I didn't agree with firstly, but then I did, and
I do agree now, and that to put hpet in normal mode.

What happened with patches that put hpet in normal independent mode?

Best regards,
	Maxim Levitsky

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
  2008-06-06  5:41 [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC David Brownell
  2008-06-06 13:44 ` Maxim Levitsky
@ 2008-06-08 21:00 ` Andrew Morton
  2008-06-08 23:05   ` David Brownell
  1 sibling, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2008-06-08 21:00 UTC (permalink / raw)
  To: David Brownell; +Cc: lkml, Thomas Gleixner

On Thu, 5 Jun 2008 22:41:44 -0700 David Brownell <david-b@pacbell.net> wrote:

> More Kconfig tweaks related to the legacy PC RTC code:
> 
>  - Describe the legacy PC RTC driver as such ... it's never quite
>    been clear that this driver is for PC RTCs, and now it's fair
>    to call this the "legacy" driver.
> 
>  - Force it to understand about HPET stealing its IRQs ... kernel
>    code does this always when HPET is in use, there should be no
>    option for users to goof up the config.
> 
> This seems to fix kernel bugzilla #10729.

hm.  "seems" is a bit soft.

Do you think this should be in 2.6.26?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
  2008-06-08 21:00 ` Andrew Morton
@ 2008-06-08 23:05   ` David Brownell
  0 siblings, 0 replies; 6+ messages in thread
From: David Brownell @ 2008-06-08 23:05 UTC (permalink / raw)
  To: Andrew Morton; +Cc: lkml, Thomas Gleixner

On Sunday 08 June 2008, Andrew Morton wrote:
> On Thu, 5 Jun 2008 22:41:44 -0700 David Brownell <david-b@pacbell.net> wrote:
> 
> > More Kconfig tweaks related to the legacy PC RTC code:
> > 
> >  - Describe the legacy PC RTC driver as such ... it's never quite
> >    been clear that this driver is for PC RTCs, and now it's fair
> >    to call this the "legacy" driver.
> > 
> >  - Force it to understand about HPET stealing its IRQs ... kernel
> >    code does this always when HPET is in use, there should be no
> >    option for users to goof up the config.
> > 
> > This seems to fix kernel bugzilla #10729.
> 
> hm.  "seems" is a bit soft.

Fixes it for one reporter.  Another reporter has yet to respond.


> Do you think this should be in 2.6.26?

Yes, unless someone more involved in the HPET stuff has a better
solution.  (Or that legacy RTC gets a maintainer, who disagrees...)

This does seem to suggest that we have an extra Kconfig variable
here, by the way.

- dave




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
  2008-06-06 13:44 ` Maxim Levitsky
@ 2008-06-10 21:31   ` David Brownell
  2008-06-11 16:37     ` Maxim Levitsky
  0 siblings, 1 reply; 6+ messages in thread
From: David Brownell @ 2008-06-10 21:31 UTC (permalink / raw)
  To: Maxim Levitsky; +Cc: Andrew Morton, lkml, Thomas Gleixner

On Friday 06 June 2008, Maxim Levitsky wrote:

> Remember long ago I had a discussion with you about HPET that
> steals RTC irq in 'legacy replacement' mode, and rtc driver thus
> implements rtc on 'top' of hpet.
> 
> New rtc-cmos driver doesn't do this emulation, thus it isn't compatible
> with hpet driver.

That was fixed in 9d8af78b07976d4d84e0df491abd4e9db848d0ad (February)
by Bernhard Walle <bwalle@suse.de> ... if you look at the bug report
associated with this patch, you'll see that rtc-cmos was working OK
with HPET, it's just the legacy RTC driver which got confused after
the recent updates to clock handling.


> But there is a solution,  I didn't agree with firstly, but then I did, and
> I do agree now, and that to put hpet in normal mode.
> 
> What happened with patches that put hpet in normal independent mode?

The story from either Ingo or Thomas (I forget who) was that this is
another case where we have to cope with BIOS braindamage.  Not enough
BIOS vendors expose the relevant IRQ routing that Linux could default
to using HPET in what I'd call "sane" mode.

Now, that still kind of implies there could be an option to use sane
HPET IRQ configuration (doesn't hijack RTC and other IRQs, and there
could be a per-CPU HPET) on at least the systems where that IRQ routing
is available.  Over time I'd hope that systems like that could become
the common case.  But ... someone else would have to do that work.  :)

- Dave

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC
  2008-06-10 21:31   ` David Brownell
@ 2008-06-11 16:37     ` Maxim Levitsky
  0 siblings, 0 replies; 6+ messages in thread
From: Maxim Levitsky @ 2008-06-11 16:37 UTC (permalink / raw)
  To: David Brownell; +Cc: Andrew Morton, lkml, Thomas Gleixner

David Brownell wrote:
> On Friday 06 June 2008, Maxim Levitsky wrote:
> 
>> Remember long ago I had a discussion with you about HPET that
>> steals RTC irq in 'legacy replacement' mode, and rtc driver thus
>> implements rtc on 'top' of hpet.
>>
>> New rtc-cmos driver doesn't do this emulation, thus it isn't compatible
>> with hpet driver.
> 
> That was fixed in 9d8af78b07976d4d84e0df491abd4e9db848d0ad (February)
> by Bernhard Walle <bwalle@suse.de> ... if you look at the bug report
> associated with this patch, you'll see that rtc-cmos was working OK
> with HPET, it's just the legacy RTC driver which got confused after
> the recent updates to clock handling.
> 
> 
>> But there is a solution,  I didn't agree with firstly, but then I did, and
>> I do agree now, and that to put hpet in normal mode.
>>
>> What happened with patches that put hpet in normal independent mode?
> 
> The story from either Ingo or Thomas (I forget who) was that this is
> another case where we have to cope with BIOS braindamage.  Not enough
> BIOS vendors expose the relevant IRQ routing that Linux could default
> to using HPET in what I'd call "sane" mode.
> 
> Now, that still kind of implies there could be an option to use sane
> HPET IRQ configuration (doesn't hijack RTC and other IRQs, and there
> could be a per-CPU HPET) on at least the systems where that IRQ routing
> is available.  Over time I'd hope that systems like that could become
> the common case.  But ... someone else would have to do that work.  :)
> 
> - Dave

Thanks a lot, next time I compile the kernel, I will enable hpet

Best regards,
	Maxim Levitsky

PS:

This is a question to ubuntu devs, I need to ask them, when
they will switch to new rtc driver....

Old driver has some bugs, including no support for suspend/resume, some
troubles with alarm (it sets the alarm when writing to /proc/acpi/alarm, 
but it can be cleared by even just reading the time. New driver 
correctly sets the alarm at actual suspend time)
Even hpet emulation has some bugs, I even wrote some patches to fix this
and add suspend/resume, but I guess that newer driver is way better, so 
no need to fix old one.




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-06-11 16:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-06  5:41 [patch 2.6.26-rc5] make HPET_RTC_IRQ track HPET_EMULATE_RTC David Brownell
2008-06-06 13:44 ` Maxim Levitsky
2008-06-10 21:31   ` David Brownell
2008-06-11 16:37     ` Maxim Levitsky
2008-06-08 21:00 ` Andrew Morton
2008-06-08 23:05   ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox