Date: Wed, 1 Oct 2008 11:21:21 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Mike Tancsa <mike@sentex.net> Subject: Re: ichwd on ich9 attach failing ? Message-ID: <200810011121.21908.jhb@freebsd.org> In-Reply-To: <200810011405.m91E5ugg028685@lava.sentex.ca> References: <200810011405.m91E5ugg028685@lava.sentex.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 01 October 2008 10:05:48 am Mike Tancsa wrote:
> Does anyone have a board with this chipset where ichwd attaches properly ?
>
> When I try to load the driver I get
>
> ichwd module loaded
> isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer
> ichwd0: <Intel ICH9R watchdog timer> on isa0
> isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer
> ichwd0: ICH WDT present but disabled in BIOS or hardware
> device_attach: ichwd0 attach returned 6
> ppc0: parallel port not found.
>
> the ppc0 error seems normal, as on other boards I see the same error
> and things attach just fine
>
> It is enabled in the BIOS as the box will automatically reboot after
> 5 min, since the watchdog is not set by the OS
Hmm, looks like the test to clear a bit is failing. Maybe some quality time
with the ICH9 datasheet (you should be able to find it on
developer.intel.com) can help resolve this. Here is the relevant code:
static __inline int
ichwd_clear_noreboot(struct ichwd_softc *sc)
{
uint32_t status;
int rc = 0;
/* try to clear the NO_REBOOT bit */
if (sc->ich_version <= 5) {
status = pci_read_config(sc->ich, ICH_GEN_STA, 1);
status &= ~ICH_GEN_STA_NO_REBOOT;
pci_write_config(sc->ich, ICH_GEN_STA, status, 1);
status = pci_read_config(sc->ich, ICH_GEN_STA, 1);
if (status & ICH_GEN_STA_NO_REBOOT)
rc = EIO;
} else {
status = ichwd_read_gcs_4(sc, 0);
status &= ~ICH_GCS_NO_REBOOT;
ichwd_write_gcs_4(sc, 0, status);
status = ichwd_read_gcs_4(sc, 0);
if (status & ICH_GCS_NO_REBOOT)
rc = EIO;
}
if (rc)
device_printf(sc->device,
"ICH WDT present but disabled in BIOS or hardware\n");
return (rc);
}
--
John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810011121.21908.jhb>
