AMD Trinity and Kabini: fix fan control

The fan can stop but can't run again. "AGESA: Call get_bus_conf() just
once" (commit ef40ca57) results to this problem.
This patch can resolve this problem.

Change-Id: I1b5bf3f6f7a66c60743f78918dc5442cdfc8b6e4
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/6981
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Kyösti Mälkki 2014-10-16 21:35:48 +03:00
parent a10bde9048
commit 29d9c56758
2 changed files with 11 additions and 9 deletions

View File

@ -27,9 +27,6 @@
#include <agesawrapper.h> #include <agesawrapper.h>
#include <northbridge/amd/agesa/agesawrapper_call.h> #include <northbridge/amd/agesa/agesawrapper_call.h>
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
#include <southbridge/amd/agesa/hudson/imc.h>
#endif
#if CONFIG_AMD_SB_CIMX #if CONFIG_AMD_SB_CIMX
#include <sb_cimx.h> #include <sb_cimx.h>
#endif #endif
@ -58,11 +55,6 @@ static void agesawrapper_post_device(void *unused)
pci_write_config32(dev, 0x60, value); pci_write_config32(dev, 0x60, value);
#endif #endif
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
/* AMD AGESA does not enable thermal zone, so we enable it here. */
enable_imc_thermal_zone();
#endif
#if CONFIG_AMD_SB_CIMX #if CONFIG_AMD_SB_CIMX
sb_Late_Post(); sb_Late_Post();
#endif #endif

View File

@ -28,6 +28,7 @@
#include <device/pci_ops.h> #include <device/pci_ops.h>
#include <cbmem.h> #include <cbmem.h>
#include "hudson.h" #include "hudson.h"
#include "imc.h"
#include "smbus.h" #include "smbus.h"
#include "smi.h" #include "smi.h"
@ -161,8 +162,17 @@ static void hudson_init(void *chip_info)
hudson_init_acpi_ports(); hudson_init_acpi_ports();
} }
static void hudson_final(void *chip_info)
{
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
/* AMD AGESA does not enable thermal zone, so we enable it here. */
enable_imc_thermal_zone();
#endif
}
struct chip_operations southbridge_amd_agesa_hudson_ops = { struct chip_operations southbridge_amd_agesa_hudson_ops = {
CHIP_NAME("ATI HUDSON") CHIP_NAME("ATI HUDSON")
.enable_dev = hudson_enable, .enable_dev = hudson_enable,
.init = hudson_init .init = hudson_init,
.final = hudson_final
}; };