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

Commit 6c9fe765 authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Mauro Carvalho Chehab
Browse files

[media] media: s5p-mfc: fix broken pointer cast on 64bit arch



Unsigned int cannot be used to store casted pointer on 64bit
architecture, so correct such casts to properly use unsigned long
variables.

Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarKamil Debski <k.debski@samsung.com>
[k.debski@samsung.com: removed volatile and __iomem from cast]

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent a301ea1f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -302,7 +302,7 @@ struct s5p_mfc_hw_ops {
	void (*write_info)(struct s5p_mfc_ctx *ctx, unsigned int data,
			unsigned int ofs);
	unsigned int (*read_info)(struct s5p_mfc_ctx *ctx,
			unsigned int ofs);
			unsigned long ofs);
	int (*get_dspl_y_adr)(struct s5p_mfc_dev *dev);
	int (*get_dec_y_adr)(struct s5p_mfc_dev *dev);
	int (*get_dspl_status)(struct s5p_mfc_dev *dev);
+3 −3
Original line number Diff line number Diff line
@@ -263,15 +263,15 @@ static void s5p_mfc_release_dev_context_buffer_v5(struct s5p_mfc_dev *dev)
static void s5p_mfc_write_info_v5(struct s5p_mfc_ctx *ctx, unsigned int data,
			unsigned int ofs)
{
	writel(data, (volatile void __iomem *)(ctx->shm.virt + ofs));
	writel(data, (void *)(ctx->shm.virt + ofs));
	wmb();
}

static unsigned int s5p_mfc_read_info_v5(struct s5p_mfc_ctx *ctx,
				unsigned int ofs)
				unsigned long ofs)
{
	rmb();
	return readl((volatile void __iomem *)(ctx->shm.virt + ofs));
	return readl((void *)(ctx->shm.virt + ofs));
}

static void s5p_mfc_dec_calc_dpb_size_v5(struct s5p_mfc_ctx *ctx)
+3 −3
Original line number Diff line number Diff line
@@ -1852,17 +1852,17 @@ static void s5p_mfc_write_info_v6(struct s5p_mfc_ctx *ctx, unsigned int data,
		unsigned int ofs)
{
	s5p_mfc_clock_on();
	writel(data, (volatile void __iomem *)((unsigned long)ofs));
	writel(data, (void *)((unsigned long)ofs));
	s5p_mfc_clock_off();
}

static unsigned int
s5p_mfc_read_info_v6(struct s5p_mfc_ctx *ctx, unsigned int ofs)
s5p_mfc_read_info_v6(struct s5p_mfc_ctx *ctx, unsigned long ofs)
{
	int ret;

	s5p_mfc_clock_on();
	ret = readl((volatile void __iomem *)((unsigned long)ofs));
	ret = readl((void *)ofs);
	s5p_mfc_clock_off();

	return ret;