diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2014-08-25 21:31:02 -0400 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2014-11-02 22:02:48 -0500 |
commit | 60e203ecb1faf62efe369ca2bc22630bcda88bdc (patch) | |
tree | 529c9dd8694ce56aeb53bcc094ba70be366360e8 /drivers/thermal | |
parent | 99d67fb993bbe2f27b0004332218108d66c78af4 (diff) |
thermal: samsung: Exynos5260 and Exynos5420 should not use TRIM_RELOAD flag
Currently these SoCs claim TRIM_RELOAD support but don't have
triminfo_ctrl register address defined in their struct
exynos_tmu_registers entries. This causes incorrect write of
value "1" to data->base + 0x00 address (which happens to be
TRIMINFO register). Additionally according to the documentation
that I have neither Exynos5260 nor Exynos5420 support/require
TRIM_RELOAD feature. Thus fix the aforementioned issue by
removing TMU_SUPPORT_TRIM_RELOAD flag for both Exynos5260 and
Exynos5420.
Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Cc: Amit Daniel Kachhap <amit.daniel@samsung.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r-- | drivers/thermal/samsung/exynos_tmu_data.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/thermal/samsung/exynos_tmu_data.c b/drivers/thermal/samsung/exynos_tmu_data.c index 82e0732af75f..177ada5846cd 100644 --- a/drivers/thermal/samsung/exynos_tmu_data.c +++ b/drivers/thermal/samsung/exynos_tmu_data.c | |||
@@ -331,9 +331,8 @@ static const struct exynos_tmu_registers exynos5260_tmu_registers = { | |||
331 | #define EXYNOS5260_TMU_DATA \ | 331 | #define EXYNOS5260_TMU_DATA \ |
332 | __EXYNOS5260_TMU_DATA \ | 332 | __EXYNOS5260_TMU_DATA \ |
333 | .type = SOC_ARCH_EXYNOS5260, \ | 333 | .type = SOC_ARCH_EXYNOS5260, \ |
334 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ | 334 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ |
335 | TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ | 335 | TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME) |
336 | TMU_SUPPORT_EMUL_TIME) | ||
337 | 336 | ||
338 | struct exynos_tmu_init_data const exynos5260_default_tmu_data = { | 337 | struct exynos_tmu_init_data const exynos5260_default_tmu_data = { |
339 | .tmu_data = { | 338 | .tmu_data = { |
@@ -416,16 +415,15 @@ static const struct exynos_tmu_registers exynos5420_tmu_registers = { | |||
416 | #define EXYNOS5420_TMU_DATA \ | 415 | #define EXYNOS5420_TMU_DATA \ |
417 | __EXYNOS5420_TMU_DATA \ | 416 | __EXYNOS5420_TMU_DATA \ |
418 | .type = SOC_ARCH_EXYNOS5250, \ | 417 | .type = SOC_ARCH_EXYNOS5250, \ |
419 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ | 418 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ |
420 | TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ | 419 | TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME) |
421 | TMU_SUPPORT_EMUL_TIME) | ||
422 | 420 | ||
423 | #define EXYNOS5420_TMU_DATA_SHARED \ | 421 | #define EXYNOS5420_TMU_DATA_SHARED \ |
424 | __EXYNOS5420_TMU_DATA \ | 422 | __EXYNOS5420_TMU_DATA \ |
425 | .type = SOC_ARCH_EXYNOS5420_TRIMINFO, \ | 423 | .type = SOC_ARCH_EXYNOS5420_TRIMINFO, \ |
426 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ | 424 | .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ |
427 | TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ | 425 | TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME | \ |
428 | TMU_SUPPORT_EMUL_TIME | TMU_SUPPORT_ADDRESS_MULTIPLE) | 426 | TMU_SUPPORT_ADDRESS_MULTIPLE) |
429 | 427 | ||
430 | struct exynos_tmu_init_data const exynos5420_default_tmu_data = { | 428 | struct exynos_tmu_init_data const exynos5420_default_tmu_data = { |
431 | .tmu_data = { | 429 | .tmu_data = { |