Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Bartlomiej Zolnierkiewicz and committed by
Eduardo Valentin
60e203ec 99d67fb9

+7 -9
+7 -9
drivers/thermal/samsung/exynos_tmu_data.c
··· 331 331 #define EXYNOS5260_TMU_DATA \ 332 332 __EXYNOS5260_TMU_DATA \ 333 333 .type = SOC_ARCH_EXYNOS5260, \ 334 - .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 335 - TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 336 - TMU_SUPPORT_EMUL_TIME) 334 + .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ 335 + TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME) 337 336 338 337 struct exynos_tmu_init_data const exynos5260_default_tmu_data = { 339 338 .tmu_data = { ··· 415 416 #define EXYNOS5420_TMU_DATA \ 416 417 __EXYNOS5420_TMU_DATA \ 417 418 .type = SOC_ARCH_EXYNOS5250, \ 418 - .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 419 - TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 420 - TMU_SUPPORT_EMUL_TIME) 419 + .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ 420 + TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME) 421 421 422 422 #define EXYNOS5420_TMU_DATA_SHARED \ 423 423 __EXYNOS5420_TMU_DATA \ 424 424 .type = SOC_ARCH_EXYNOS5420_TRIMINFO, \ 425 - .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_TRIM_RELOAD | \ 426 - TMU_SUPPORT_FALLING_TRIP | TMU_SUPPORT_READY_STATUS | \ 427 - TMU_SUPPORT_EMUL_TIME | TMU_SUPPORT_ADDRESS_MULTIPLE) 425 + .features = (TMU_SUPPORT_EMULATION | TMU_SUPPORT_FALLING_TRIP | \ 426 + TMU_SUPPORT_READY_STATUS | TMU_SUPPORT_EMUL_TIME | \ 427 + TMU_SUPPORT_ADDRESS_MULTIPLE) 428 428 429 429 struct exynos_tmu_init_data const exynos5420_default_tmu_data = { 430 430 .tmu_data = {