msm: kgsl: fix sparse type conversion errors
Fix many places where we needlessly use the wrong type or pointer decoration. Change-Id: Ic60e91389c5a577970ffe37d4511baf3a45fea35 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org> Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
This commit is contained in:
parent
c3abdef6e0
commit
5ec4d837ed
|
@ -2518,14 +2518,14 @@ static int adreno_suspend_context(struct kgsl_device *device)
|
|||
* @value - Value read from the device memory
|
||||
* @mem_len - Length of the device memory mapped to the kernel
|
||||
*/
|
||||
static void adreno_read(struct kgsl_device *device, void *base,
|
||||
static void adreno_read(struct kgsl_device *device, void __iomem *base,
|
||||
unsigned int offsetwords, unsigned int *value,
|
||||
unsigned int mem_len)
|
||||
{
|
||||
|
||||
unsigned int *reg;
|
||||
unsigned int __iomem *reg;
|
||||
BUG_ON(offsetwords*sizeof(uint32_t) >= mem_len);
|
||||
reg = (unsigned int *)(base + (offsetwords << 2));
|
||||
reg = (unsigned int __iomem *)(base + (offsetwords << 2));
|
||||
|
||||
if (!in_interrupt())
|
||||
kgsl_pre_hwaccess(device);
|
||||
|
@ -2565,7 +2565,7 @@ static void adreno_regwrite(struct kgsl_device *device,
|
|||
unsigned int offsetwords,
|
||||
unsigned int value)
|
||||
{
|
||||
unsigned int *reg;
|
||||
unsigned int __iomem *reg;
|
||||
|
||||
BUG_ON(offsetwords*sizeof(uint32_t) >= device->reg_len);
|
||||
|
||||
|
@ -2575,7 +2575,7 @@ static void adreno_regwrite(struct kgsl_device *device,
|
|||
trace_kgsl_regwrite(device, offsetwords, value);
|
||||
|
||||
kgsl_cffdump_regwrite(device, offsetwords << 2, value);
|
||||
reg = (unsigned int *)(device->reg_virt + (offsetwords << 2));
|
||||
reg = (unsigned int __iomem *)(device->reg_virt + (offsetwords << 2));
|
||||
|
||||
/*ensure previous writes post before this one,
|
||||
* i.e. act like normal writel() */
|
||||
|
|
|
@ -1344,7 +1344,7 @@ static void a4xx_perfcounter_init(struct adreno_device *adreno_dev)
|
|||
* are swizzled so only a subset of them are usable
|
||||
*/
|
||||
|
||||
if (counters != 0) {
|
||||
if (counters != NULL) {
|
||||
counters->groups[KGSL_PERFCOUNTER_GROUP_CP].regs =
|
||||
a420_perfcounters_cp;
|
||||
counters->groups[KGSL_PERFCOUNTER_GROUP_CP].reg_count =
|
||||
|
|
|
@ -160,8 +160,7 @@ static long adreno_ioctl_perfcounter_query_compat(
|
|||
long result;
|
||||
|
||||
query.groupid = query32->groupid;
|
||||
query.countables =
|
||||
(unsigned int __user *)(uintptr_t) query32->countables;
|
||||
query.countables = to_user_ptr(query32->countables);
|
||||
query.count = query32->count;
|
||||
query.max_counters = query32->max_counters;
|
||||
|
||||
|
|
|
@ -792,7 +792,7 @@ error_free:
|
|||
return size;
|
||||
}
|
||||
|
||||
static int _pipe_print_pending(char *ubuf, size_t max)
|
||||
static int _pipe_print_pending(char __user *ubuf, size_t max)
|
||||
{
|
||||
loff_t unused = 0;
|
||||
char str[] = "Operation Would Block!";
|
||||
|
@ -802,11 +802,11 @@ static int _pipe_print_pending(char *ubuf, size_t max)
|
|||
}
|
||||
|
||||
static int _pipe_print_results(struct adreno_device *adreno_dev,
|
||||
char *ubuf, size_t max)
|
||||
char __user *ubuf, size_t max)
|
||||
{
|
||||
struct adreno_profile *profile = &adreno_dev->profile;
|
||||
const char *grp_name;
|
||||
char *usr_buf = ubuf;
|
||||
char __user *usr_buf = ubuf;
|
||||
unsigned int *log_ptr = NULL, *tmp_log_ptr = NULL;
|
||||
int len, i;
|
||||
int status = 0;
|
||||
|
@ -946,7 +946,7 @@ static ssize_t profile_pipe_print(struct file *filep, char __user *ubuf,
|
|||
struct kgsl_device *device = (struct kgsl_device *) filep->private_data;
|
||||
struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
|
||||
struct adreno_profile *profile = &adreno_dev->profile;
|
||||
char *usr_buf = ubuf;
|
||||
char __user *usr_buf = ubuf;
|
||||
int status = 0;
|
||||
|
||||
/*
|
||||
|
|
|
@ -1712,19 +1712,19 @@ long kgsl_ioctl_gpu_command(struct kgsl_device_private *dev_priv,
|
|||
}
|
||||
|
||||
result = kgsl_cmdbatch_add_cmdlist(device, cmdbatch,
|
||||
(void __user *) (uintptr_t) param->cmdlist,
|
||||
to_user_ptr(param->cmdlist),
|
||||
param->cmdsize, param->numcmds);
|
||||
if (result)
|
||||
goto done;
|
||||
|
||||
result = kgsl_cmdbatch_add_memlist(device, cmdbatch,
|
||||
(void __user *) (uintptr_t) param->objlist,
|
||||
to_user_ptr(param->objlist),
|
||||
param->objsize, param->numobjs);
|
||||
if (result)
|
||||
goto done;
|
||||
|
||||
result = kgsl_cmdbatch_add_synclist(device, cmdbatch,
|
||||
(void __user *) (uintptr_t) param->synclist,
|
||||
to_user_ptr(param->synclist),
|
||||
param->syncsize, param->numsyncs);
|
||||
if (result)
|
||||
goto done;
|
||||
|
@ -1912,7 +1912,7 @@ static long gpuobj_free_on_timestamp(struct kgsl_device_private *dev_priv,
|
|||
|
||||
memset(&event, 0, sizeof(event));
|
||||
|
||||
ret = _copy_from_user(&event, (void __user *) (uintptr_t) param->priv,
|
||||
ret = _copy_from_user(&event, to_user_ptr(param->priv),
|
||||
sizeof(event), param->len);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -1946,7 +1946,7 @@ static long gpuobj_free_on_fence(struct kgsl_device_private *dev_priv,
|
|||
|
||||
memset(&event, 0, sizeof(event));
|
||||
|
||||
ret = _copy_from_user(&event, (void __user *) (uintptr_t) param->priv,
|
||||
ret = _copy_from_user(&event, to_user_ptr(param->priv),
|
||||
sizeof(event), param->len);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -2254,7 +2254,7 @@ static long _gpuobj_map_useraddr(struct kgsl_device *device,
|
|||
return -ENOTSUPP;
|
||||
|
||||
ret = _copy_from_user(&useraddr,
|
||||
(void __user *) (uintptr_t) param->priv, sizeof(useraddr),
|
||||
to_user_ptr(param->priv), sizeof(useraddr),
|
||||
param->priv_len);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -2292,7 +2292,7 @@ static long _gpuobj_map_dma_buf(struct kgsl_device *device,
|
|||
entry->memdesc.priv |= KGSL_MEMDESC_SECURE;
|
||||
}
|
||||
|
||||
ret = _copy_from_user(&buf, (void __user *) (uintptr_t) param->priv,
|
||||
ret = _copy_from_user(&buf, to_user_ptr(param->priv),
|
||||
sizeof(buf), param->priv_len);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -2901,7 +2901,7 @@ long kgsl_ioctl_gpuobj_sync(struct kgsl_device_private *dev_priv,
|
|||
goto out;
|
||||
}
|
||||
|
||||
ptr = (void __user *) (uintptr_t) param->objs;
|
||||
ptr = to_user_ptr(param->objs);
|
||||
|
||||
for (i = 0; i < param->count; i++) {
|
||||
ret = _copy_from_user(&objs[i], ptr, sizeof(*objs),
|
||||
|
@ -3893,20 +3893,13 @@ static irqreturn_t kgsl_irq_handler(int irq, void *data)
|
|||
|
||||
}
|
||||
|
||||
#define KGSL_READ_MESSAGE "OH HAI GPU"
|
||||
#define KGSL_READ_MESSAGE "OH HAI GPU\n"
|
||||
|
||||
static ssize_t kgsl_read(struct file *filep, char __user *buf, size_t count,
|
||||
loff_t *pos)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (*pos >= strlen(KGSL_READ_MESSAGE) + 1)
|
||||
return 0;
|
||||
|
||||
ret = snprintf(buf, count, "%s\n", KGSL_READ_MESSAGE);
|
||||
*pos += ret;
|
||||
|
||||
return ret;
|
||||
return simple_read_from_buffer(buf, count, pos,
|
||||
KGSL_READ_MESSAGE, strlen(KGSL_READ_MESSAGE) + 1);
|
||||
}
|
||||
|
||||
static const struct file_operations kgsl_fops = {
|
||||
|
|
|
@ -472,4 +472,9 @@ static inline int _copy_from_user(void *dest, void __user *src,
|
|||
return copy_from_user(dest, src, copy) ? -EFAULT : 0;
|
||||
}
|
||||
|
||||
static inline void __user *to_user_ptr(uint64_t address)
|
||||
{
|
||||
return (void __user *)(uintptr_t)address;
|
||||
}
|
||||
|
||||
#endif /* __KGSL_H */
|
||||
|
|
|
@ -1022,7 +1022,7 @@ int kgsl_cmdbatch_add_synclist(struct kgsl_device *device,
|
|||
return ret;
|
||||
|
||||
sync.type = syncpoint.type;
|
||||
sync.priv = (void __user *) (uintptr_t) syncpoint.priv;
|
||||
sync.priv = to_user_ptr(syncpoint.priv);
|
||||
sync.size = syncpoint.size;
|
||||
|
||||
ret = kgsl_cmdbatch_add_sync(device, cmdbatch, &sync);
|
||||
|
|
|
@ -168,7 +168,7 @@ kgsl_ioctl_gpumem_sync_cache_bulk_compat(struct kgsl_device_private *dev_priv,
|
|||
struct kgsl_gpumem_sync_cache_bulk_compat *param32 = data;
|
||||
struct kgsl_gpumem_sync_cache_bulk param;
|
||||
|
||||
param.id_list = (unsigned int __user *)(uintptr_t)param32->id_list;
|
||||
param.id_list = to_user_ptr(param32->id_list);
|
||||
param.count = param32->count;
|
||||
param.op = param32->op;
|
||||
|
||||
|
|
|
@ -248,7 +248,7 @@ void kgsl_process_init_debugfs(struct kgsl_process_private *private)
|
|||
|
||||
void kgsl_core_debugfs_init(void)
|
||||
{
|
||||
kgsl_debugfs_dir = debugfs_create_dir("kgsl", 0);
|
||||
kgsl_debugfs_dir = debugfs_create_dir("kgsl", NULL);
|
||||
proc_d_debugfs = debugfs_create_dir("proc", kgsl_debugfs_dir);
|
||||
}
|
||||
|
||||
|
|
|
@ -223,13 +223,13 @@ struct kgsl_device {
|
|||
unsigned long reg_phys;
|
||||
|
||||
/* Starting Kernel virtual address for GPU registers */
|
||||
void *reg_virt;
|
||||
void __iomem *reg_virt;
|
||||
|
||||
/* Total memory size for all GPU registers */
|
||||
unsigned int reg_len;
|
||||
|
||||
/* Kernel virtual address for GPU shader memory */
|
||||
void *shader_mem_virt;
|
||||
void __iomem *shader_mem_virt;
|
||||
|
||||
/* Starting physical address for GPU shader memory */
|
||||
unsigned long shader_mem_phys;
|
||||
|
|
|
@ -705,7 +705,7 @@ _kgsl_sharedmem_page_alloc(struct kgsl_memdesc *memdesc,
|
|||
|
||||
while (len > 0) {
|
||||
struct page *page;
|
||||
unsigned int gfp_mask = __GFP_HIGHMEM;
|
||||
gfp_t gfp_mask = __GFP_HIGHMEM;
|
||||
int j;
|
||||
|
||||
/* don't waste space at the end of the allocation*/
|
||||
|
|
Loading…
Reference in New Issue