[media] media: s5p-mfc: fix sparse warnings
Commitsa0f10c131c
and6c9fe76536
("media: s5p-mfc: fix broken pointer cast on 64bit arch") fixed issue with lossy cast on 64-bit architectures. However it also removed __iomem attribute from that cast. This leads to sparse warnings. This patch fixes those warnings by adding __iomem cast in case of v6+ code version and replacing readl/writel by simple u32 load/store operations in case of v5 code (which is called on system memory allocated by dma_alloc_coherent() instead of io registers). Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
e9763995e7
commit
1d03deff82
|
@ -263,7 +263,7 @@ 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, (void *)(ctx->shm.virt + ofs));
|
||||
*(u32 *)(ctx->shm.virt + ofs) = data;
|
||||
wmb();
|
||||
}
|
||||
|
||||
|
@ -271,7 +271,7 @@ static unsigned int s5p_mfc_read_info_v5(struct s5p_mfc_ctx *ctx,
|
|||
unsigned long ofs)
|
||||
{
|
||||
rmb();
|
||||
return readl((void *)(ctx->shm.virt + ofs));
|
||||
return *(u32 *)(ctx->shm.virt + ofs);
|
||||
}
|
||||
|
||||
static void s5p_mfc_dec_calc_dpb_size_v5(struct s5p_mfc_ctx *ctx)
|
||||
|
|
|
@ -1852,7 +1852,7 @@ static void s5p_mfc_write_info_v6(struct s5p_mfc_ctx *ctx, unsigned int data,
|
|||
unsigned int ofs)
|
||||
{
|
||||
s5p_mfc_clock_on();
|
||||
writel(data, (void *)((unsigned long)ofs));
|
||||
writel(data, (void __iomem *)((unsigned long)ofs));
|
||||
s5p_mfc_clock_off();
|
||||
}
|
||||
|
||||
|
@ -1862,7 +1862,7 @@ s5p_mfc_read_info_v6(struct s5p_mfc_ctx *ctx, unsigned long ofs)
|
|||
int ret;
|
||||
|
||||
s5p_mfc_clock_on();
|
||||
ret = readl((void *)ofs);
|
||||
ret = readl((void __iomem *)ofs);
|
||||
s5p_mfc_clock_off();
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue