On Thu, 2025-02-06 at 08:46 -0800, Dave Hansen wrote:
On 2/6/25 05:18, Choong Yong Liang wrote:
I'm not quite parsing that second bullet as a complete sentence.
- Exports intel_pmc_ipc() for host access to the PMC IPC mailbox
- Add support to use IPC command allows host to access SoC registers
through PMC firmware that are otherwise inaccessible to the host due
to security policies.
But that sounds scary! Why is the fact that they are "otherwise
inaccessible" relevant here?
The PMC IPC mailbox is a host interface to the PMC. Its purpose is to allow the
host to access certain areas of the PMC that are restricted from direct MMIO
access due to security policies. Other parts of the PMC are accessible via MMIO
(most of what the intel_pmc_core driver touches with is MMIO), so I think the
original statement was trying to explain why the mailbox is needed instead of
MMIO in this case. However, I agree that the mention of security policies is not
relevant to the change itself.
...
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 87198d957e2f..631c1f10776c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -688,6 +688,15 @@ config X86_AMD_PLATFORM_DEVICE
I2C and UART depend on COMMON_CLK to set clock. GPIO driver is
implemented under PINCTRL subsystem.
+config INTEL_PMC_IPC
+ tristate "Intel Core SoC Power Management Controller IPC mailbox"
+ depends on ACPI
+ help
+ This option enables sideband register access support for Intel
SoC
+ power management controller IPC mailbox.
+
+ If you don't require the option or are in doubt, say N.
Could we perhaps beef this up a bit to help users figure out if they
want to turn this on? Really the only word in the entire help text
that's useful is "Intel".
I'm not even sure we *want* to expose this to users. Can we just leave
it as:
config INTEL_PMC_IPC
def_tristate n
depends on ACPI
so that it only gets enabled by the "select" in the other patches?
I agree with this change Choong. This can be selected by the driver that's using
it. There's no need to expose it to users.
+ * Authors: Choong Yong Liang <yong.liang.choong@xxxxxxxxxxxxxxx>
+ * David E. Box <david.e.box@xxxxxxxxxxxxxxx>
I'd probably just leave the authors bit out. It might have been useful
in the 90's, but that's what git is for today.
+ obj = buffer.pointer;
+ /* Check if the number of elements in package is 5 */
+ if (obj && obj->type == ACPI_TYPE_PACKAGE && obj->package.count ==
5) {
+ const union acpi_object *objs = obj->package.elements;
+
The comment there is just not super useful. It might be useful to say
*why* the number of elements needs to be 5.
+EXPORT_SYMBOL(intel_pmc_ipc);
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Intel PMC IPC Mailbox accessor");
Honestly, is this even worth being a module? How much code are we
talking about here?
Yeah, this doesn't need to be a module either.
David