platform/x86: intel_pmc_core: export platform global reset bits via etr3 sysfs file
authorTamar Mashiah <tamar.mashiah@intel.com>
Sun, 11 Apr 2021 14:15:32 +0000 (17:15 +0300)
committerHans de Goede <hdegoede@redhat.com>
Tue, 13 Apr 2021 07:26:40 +0000 (09:26 +0200)
commitee7abc105e2b30378187e520be458a127d1d3762
tree70e57d2d1459c9190223079d91cbd9aed0bd07f1
parent6759e18e5cd8745a5dfc5726e4a3db5281ec1639
platform/x86: intel_pmc_core: export platform global reset bits via etr3 sysfs file

During PCH (platform/board) manufacturing process a global platform
reset has to be induced in order for the configuration changes take
the effect upon following platform reset. This is an internal platform
state and is not intended to be used in the regular platform resets.
The setting is exposed via ETR3 (Extended Test Mode Register 3).
After the manufacturing process is completed the register cannot be
written anymore and is hardware locked.
This setting was commonly done by accessing PMC registers via /dev/mem
but due to security concerns /dev/mem access is much more restricted,
hence the reason for exposing this setting via the dedicated sysfs
interface.
To prevent post manufacturing abuse the register is protected
by hardware locking and the file is set to read-only mode via is_visible
handler.

The register in MMIO space is defined for Cannon Lake and newer PCHs.

Cc: Hans de Goede <hdegoede@redhat.com>
Cc: David E Box <david.e.box@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Tamar Mashiah <tamar.mashiah@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/20210411141532.3004893-1-tomas.winkler@intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Documentation/ABI/testing/sysfs-platform-intel-pmc [new file with mode: 0644]
MAINTAINERS
drivers/platform/x86/intel_pmc_core.c
drivers/platform/x86/intel_pmc_core.h