Commit 19b5c126 authored by Sudeep Holla's avatar Sudeep Holla Committed by Huisong Li
Browse files

i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros

mainline inclusion
from mainline-v6.7-rc1
commit 89a4ad1f437c049534891c3d83cd96d7c7debd2a
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8GQ30
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=89a4ad1f437c049534891c3d83cd96d7c7debd2a



--------------------------------

Use the newly defined common and generic PCC shared memory region
related macros in this driver to replace the locally defined ones.

Reviewed-by: default avatarAndi Shyti <andi.shyti@kernel.org>
Acked-by: default avatarWolfram Sang <wsa@kernel.org>
Link: https://lore.kernel.org/r/20230927-pcc_defines-v2-2-0b8ffeaef2e5@arm.com


Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent f05af3d0
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -92,14 +92,6 @@

#define SLIMPRO_IIC_MSG_DWORD_COUNT			3

/* PCC related defines */
#define PCC_SIGNATURE			0x50424300
#define PCC_STS_CMD_COMPLETE		BIT(0)
#define PCC_STS_SCI_DOORBELL		BIT(1)
#define PCC_STS_ERR			BIT(2)
#define PCC_STS_PLAT_NOTIFY		BIT(3)
#define PCC_CMD_GENERATE_DB_INT		BIT(15)

struct slimpro_i2c_dev {
	struct i2c_adapter adapter;
	struct device *dev;
@@ -161,11 +153,11 @@ static void slimpro_i2c_pcc_rx_cb(struct mbox_client *cl, void *msg)

	/* Check if platform sends interrupt */
	if (!xgene_word_tst_and_clr(&generic_comm_base->status,
				    PCC_STS_SCI_DOORBELL))
				    PCC_STATUS_SCI_DOORBELL))
		return;

	if (xgene_word_tst_and_clr(&generic_comm_base->status,
				   PCC_STS_CMD_COMPLETE)) {
				   PCC_STATUS_CMD_COMPLETE)) {
		msg = generic_comm_base + 1;

		/* Response message msg[1] contains the return value. */
@@ -187,10 +179,10 @@ static void slimpro_i2c_pcc_tx_prepare(struct slimpro_i2c_dev *ctx, u32 *msg)
		   cpu_to_le32(PCC_SIGNATURE | ctx->mbox_idx));

	WRITE_ONCE(generic_comm_base->command,
		   cpu_to_le16(SLIMPRO_MSG_TYPE(msg[0]) | PCC_CMD_GENERATE_DB_INT));
		   cpu_to_le16(SLIMPRO_MSG_TYPE(msg[0]) | PCC_CMD_GENERATE_DB_INTR));

	status = le16_to_cpu(READ_ONCE(generic_comm_base->status));
	status &= ~PCC_STS_CMD_COMPLETE;
	status &= ~PCC_STATUS_CMD_COMPLETE;
	WRITE_ONCE(generic_comm_base->status, cpu_to_le16(status));

	/* Copy the message to the PCC comm space */