Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 430594c1 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Sudeep Holla
Browse files

firmware: arm_scpi: silence sparse warnings



At several positions in the code sparse complains about incorrect access
to __iomem annotated memory. Fix this and make sparse happy.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent 48bee74a
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -405,19 +405,20 @@ static void scpi_process_cmd(struct scpi_chan *ch, u32 cmd)
		unsigned int len;

		if (scpi_info->is_legacy) {
			struct legacy_scpi_shared_mem *mem = ch->rx_payload;
			struct legacy_scpi_shared_mem __iomem *mem =
							ch->rx_payload;

			/* RX Length is not replied by the legacy Firmware */
			len = match->rx_len;

			match->status = le32_to_cpu(mem->status);
			match->status = ioread32(&mem->status);
			memcpy_fromio(match->rx_buf, mem->payload, len);
		} else {
			struct scpi_shared_mem *mem = ch->rx_payload;
			struct scpi_shared_mem __iomem *mem = ch->rx_payload;

			len = min(match->rx_len, CMD_SIZE(cmd));

			match->status = le32_to_cpu(mem->status);
			match->status = ioread32(&mem->status);
			memcpy_fromio(match->rx_buf, mem->payload, len);
		}

@@ -431,11 +432,11 @@ static void scpi_process_cmd(struct scpi_chan *ch, u32 cmd)
static void scpi_handle_remote_msg(struct mbox_client *c, void *msg)
{
	struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
	struct scpi_shared_mem *mem = ch->rx_payload;
	struct scpi_shared_mem __iomem *mem = ch->rx_payload;
	u32 cmd = 0;

	if (!scpi_info->is_legacy)
		cmd = le32_to_cpu(mem->command);
		cmd = ioread32(&mem->command);

	scpi_process_cmd(ch, cmd);
}
@@ -445,7 +446,7 @@ static void scpi_tx_prepare(struct mbox_client *c, void *msg)
	unsigned long flags;
	struct scpi_xfer *t = msg;
	struct scpi_chan *ch = container_of(c, struct scpi_chan, cl);
	struct scpi_shared_mem *mem = ch->tx_payload;
	struct scpi_shared_mem __iomem *mem = ch->tx_payload;

	if (t->tx_buf) {
		if (scpi_info->is_legacy)
@@ -464,7 +465,7 @@ static void scpi_tx_prepare(struct mbox_client *c, void *msg)
	}

	if (!scpi_info->is_legacy)
		mem->command = cpu_to_le32(t->cmd);
		iowrite32(t->cmd, &mem->command);
}

static struct scpi_xfer *get_scpi_xfer(struct scpi_chan *ch)