summaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/intel/bd82x6x/early_me.c28
-rw-r--r--src/southbridge/intel/bd82x6x/me_status.c2
2 files changed, 19 insertions, 11 deletions
diff --git a/src/southbridge/intel/bd82x6x/early_me.c b/src/southbridge/intel/bd82x6x/early_me.c
index b2e920056d..47b8708ba7 100644
--- a/src/southbridge/intel/bd82x6x/early_me.c
+++ b/src/southbridge/intel/bd82x6x/early_me.c
@@ -191,18 +191,26 @@ int intel_early_me_init_done(u8 status)
meDID = did.uma_base | (1 << 28);// | (1 << 23);
pci_write_config32(PCI_DEV(0, 0x16, 0), PCI_ME_H_GS, meDID);
- timestamp_add_now(TS_ME_INFORM_DRAM_WAIT);
- udelay(1100);
-
/* Must wait for ME acknowledgement */
- millisec = 0;
- hfs = (pci_read_config32(PCI_DEV(0, 0x16, 0), PCI_ME_HFS) & 0xfe000000) >> 24;
- while ((((hfs & 0xf0) >> 4) != ME_HFS_BIOS_DRAM_ACK) && (millisec < 5000)) {
- udelay(1000);
- hfs = (pci_read_config32(PCI_DEV(0, 0x16, 0), PCI_ME_HFS) & 0xfe000000) >> 24;
- millisec++;
+ if (opmode == ME_HFS_MODE_DEBUG) {
+ printk(BIOS_NOTICE,
+ "ME: ME is reporting as disabled, "
+ "so not waiting for a response.\n");
+ } else {
+ timestamp_add_now(TS_ME_INFORM_DRAM_WAIT);
+ udelay(100);
+ millisec = 0;
+ do {
+ udelay(1000);
+ hfs = (pci_read_config32(
+ PCI_DEV(0, 0x16, 0), PCI_ME_HFS) & 0xfe000000)
+ >> 24;
+ millisec++;
+ } while ((((hfs & 0xf0) >> 4) != ME_HFS_BIOS_DRAM_ACK)
+ && (millisec <= 5000));
+ timestamp_add_now(TS_ME_INFORM_DRAM_DONE);
}
- timestamp_add_now(TS_ME_INFORM_DRAM_DONE);
+
me_fws2 = pci_read_config32(PCI_DEV(0, 0x16, 0), 0x48);
printk(BIOS_NOTICE, "ME: FWS2: 0x%x\n", me_fws2);
diff --git a/src/southbridge/intel/bd82x6x/me_status.c b/src/southbridge/intel/bd82x6x/me_status.c
index 8669429073..b202376653 100644
--- a/src/southbridge/intel/bd82x6x/me_status.c
+++ b/src/southbridge/intel/bd82x6x/me_status.c
@@ -43,7 +43,7 @@ static const char *me_opstate_values[] = {
/* HFS[19:16] Current Operation Mode Values */
static const char *me_opmode_values[] = {
[ME_HFS_MODE_NORMAL] = "Normal",
- [ME_HFS_MODE_DEBUG] = "Debug",
+ [ME_HFS_MODE_DEBUG] = "Debug or Disabled by AltDisableBit",
[ME_HFS_MODE_DIS] = "Soft Temporary Disable",
[ME_HFS_MODE_OVER_JMPR] = "Security Override via Jumper",
[ME_HFS_MODE_OVER_MEI] = "Security Override via MEI Message"