All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] platform/x86/amd/pmf: Add missing __iomem attribute to policy_base
@ 2024-02-20  5:45 Armin Wolf
  2024-02-20  5:45 ` [PATCH 2/3] platform/x86/amd/pmf: Do not use readl() for policy buffer access Armin Wolf
  2024-02-20  5:45 ` [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static Armin Wolf
  0 siblings, 2 replies; 4+ messages in thread
From: Armin Wolf @ 2024-02-20  5:45 UTC (permalink / raw
  To: Shyam-sundar.S-k, mika.westerberg
  Cc: hdegoede, ilpo.jarvinen, platform-driver-x86, linux-kernel

The value of policy_base is the return value of a devm_ioremap call,
which returns a __iomem pointer instead of an regular pointer.
Add the missing __iomem attribute.

Compile-tested only.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 drivers/platform/x86/amd/pmf/pmf.h    | 2 +-
 drivers/platform/x86/amd/pmf/tee-if.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h
index 16999c5b334f..bcf777a5659a 100644
--- a/drivers/platform/x86/amd/pmf/pmf.h
+++ b/drivers/platform/x86/amd/pmf/pmf.h
@@ -229,7 +229,7 @@ struct amd_pmf_dev {
 	struct delayed_work pb_work;
 	struct pmf_action_table *prev_data;
 	u64 policy_addr;
-	void *policy_base;
+	void __iomem *policy_base;
 	bool smart_pc_enabled;
 };

diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
index f8c0177afb0d..16973bebf55f 100644
--- a/drivers/platform/x86/amd/pmf/tee-if.c
+++ b/drivers/platform/x86/amd/pmf/tee-if.c
@@ -346,7 +346,7 @@ static int amd_pmf_get_bios_buffer(struct amd_pmf_dev *dev)
 	if (!dev->policy_base)
 		return -ENOMEM;

-	memcpy(dev->policy_buf, dev->policy_base, dev->policy_sz);
+	memcpy_fromio(dev->policy_buf, dev->policy_base, dev->policy_sz);

 	amd_pmf_hex_dump_pb(dev);
 	if (pb_side_load)
--
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] platform/x86/amd/pmf: Do not use readl() for policy buffer access
  2024-02-20  5:45 [PATCH 1/3] platform/x86/amd/pmf: Add missing __iomem attribute to policy_base Armin Wolf
@ 2024-02-20  5:45 ` Armin Wolf
  2024-02-20  5:45 ` [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static Armin Wolf
  1 sibling, 0 replies; 4+ messages in thread
From: Armin Wolf @ 2024-02-20  5:45 UTC (permalink / raw
  To: Shyam-sundar.S-k, mika.westerberg
  Cc: hdegoede, ilpo.jarvinen, platform-driver-x86, linux-kernel

The policy buffer is allocated using normal memory allocation
functions, so readl() should not be used on it.
Use get_unaligned_le32() instead.

Compile-tested only.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 drivers/platform/x86/amd/pmf/tee-if.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
index 16973bebf55f..3220b6580270 100644
--- a/drivers/platform/x86/amd/pmf/tee-if.c
+++ b/drivers/platform/x86/amd/pmf/tee-if.c
@@ -11,6 +11,7 @@
 #include <linux/debugfs.h>
 #include <linux/tee_drv.h>
 #include <linux/uuid.h>
+#include <asm/unaligned.h>
 #include "pmf.h"

 #define MAX_TEE_PARAM	4
@@ -249,8 +250,8 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
 	u32 cookie, length;
 	int res;

-	cookie = readl(dev->policy_buf + POLICY_COOKIE_OFFSET);
-	length = readl(dev->policy_buf + POLICY_COOKIE_LEN);
+	cookie = get_unaligned_le32(dev->policy_buf + POLICY_COOKIE_OFFSET);
+	length = get_unaligned_le32(dev->policy_buf + POLICY_COOKIE_LEN);

 	if (cookie != POLICY_SIGN_COOKIE || !length)
 		return -EINVAL;
--
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static
  2024-02-20  5:45 [PATCH 1/3] platform/x86/amd/pmf: Add missing __iomem attribute to policy_base Armin Wolf
  2024-02-20  5:45 ` [PATCH 2/3] platform/x86/amd/pmf: Do not use readl() for policy buffer access Armin Wolf
@ 2024-02-20  5:45 ` Armin Wolf
  2024-02-21 22:47   ` Kuppuswamy Sathyanarayanan
  1 sibling, 1 reply; 4+ messages in thread
From: Armin Wolf @ 2024-02-20  5:45 UTC (permalink / raw
  To: Shyam-sundar.S-k, mika.westerberg
  Cc: hdegoede, ilpo.jarvinen, platform-driver-x86, linux-kernel

The variable is only used internally and has no external users,
so it should me made static.

Compile-tested only.

Fixes: 663cc18861a0 ("platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API")
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 drivers/platform/x86/intel_scu_ipcutil.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/intel_scu_ipcutil.c b/drivers/platform/x86/intel_scu_ipcutil.c
index b7c10c15a3d6..7d87cbd4b9c6 100644
--- a/drivers/platform/x86/intel_scu_ipcutil.c
+++ b/drivers/platform/x86/intel_scu_ipcutil.c
@@ -22,7 +22,7 @@

 static int major;

-struct intel_scu_ipc_dev *scu;
+static struct intel_scu_ipc_dev *scu;
 static DEFINE_MUTEX(scu_lock);

 /* IOCTL commands */
--
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static
  2024-02-20  5:45 ` [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static Armin Wolf
@ 2024-02-21 22:47   ` Kuppuswamy Sathyanarayanan
  0 siblings, 0 replies; 4+ messages in thread
From: Kuppuswamy Sathyanarayanan @ 2024-02-21 22:47 UTC (permalink / raw
  To: Armin Wolf, Shyam-sundar.S-k, mika.westerberg
  Cc: hdegoede, ilpo.jarvinen, platform-driver-x86, linux-kernel


On 2/19/24 9:45 PM, Armin Wolf wrote:
> The variable is only used internally and has no external users,
> so it should me made static.
>
> Compile-tested only.
>
> Fixes: 663cc18861a0 ("platform/x86: intel_scu_ipcutil: Convert to use new SCU IPC API")
> Signed-off-by: Armin Wolf <W_Armin@gmx.de>
> ---


Since it is not a bug fix, I am not sure whether it makes sense to add Fixes: tag.

But the change wise, it is fine.

Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>


>  drivers/platform/x86/intel_scu_ipcutil.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/intel_scu_ipcutil.c b/drivers/platform/x86/intel_scu_ipcutil.c
> index b7c10c15a3d6..7d87cbd4b9c6 100644
> --- a/drivers/platform/x86/intel_scu_ipcutil.c
> +++ b/drivers/platform/x86/intel_scu_ipcutil.c
> @@ -22,7 +22,7 @@
>
>  static int major;
>
> -struct intel_scu_ipc_dev *scu;
> +static struct intel_scu_ipc_dev *scu;
>  static DEFINE_MUTEX(scu_lock);
>
>  /* IOCTL commands */
> --
> 2.39.2
>
>
-- 
Sathyanarayanan Kuppuswamy
Linux Kernel Developer


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-02-21 22:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-20  5:45 [PATCH 1/3] platform/x86/amd/pmf: Add missing __iomem attribute to policy_base Armin Wolf
2024-02-20  5:45 ` [PATCH 2/3] platform/x86/amd/pmf: Do not use readl() for policy buffer access Armin Wolf
2024-02-20  5:45 ` [PATCH 3/3] platform/x86: intel_scu_ipcutil: Make scu static Armin Wolf
2024-02-21 22:47   ` Kuppuswamy Sathyanarayanan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.