History

remoteproc: Use size_t instead of int for rproc_mem_entry len

Now that rproc_da_to_va uses a size_t for length, use a size_t for len field of rproc_mem_entry. Function used to create such structures now takes a size_t instead of int to allow full size range to be handled.

Clement Leger committed 6 years ago

Commit 096ee781 parent 9ce3bf23 files · +12 −10Browse files

Unified · Split

3 files
  1. drivers/remoteproc/remoteproc_core.c +8 −6
  2. drivers/remoteproc/remoteproc_debugfs.c +1 −1
  3. include/linux/remoteproc.h +3 −3
drivers/remoteproc/remoteproc_core.c+8−6
@@ -319,8 +319,9 @@ int rproc_alloc_vring(struct rproc_vdev *rvdev, int i) · 318 unmodified lines
319319 struct device *dev = &rproc->dev;
320320 struct rproc_vring *rvring = &rvdev->vring[i];
321321 struct fw_rsc_vdev *rsc;
322− int ret, size, notifyid;
322+ int ret, notifyid;
323323 struct rproc_mem_entry *mem;
324+ size_t size;
324325
325326 /* actual size of vring (in bytes) */
326327 size = PAGE_ALIGN(vring_size(rvring->len, rvring->align));
@@ -750,11 +751,12 @@ static int rproc_alloc_carveout(struct rproc *rproc, · 423 unmodified lines
750751 va = dma_alloc_coherent(dev->parent, mem->len, &dma, GFP_KERNEL);
751752 if (!va) {
752753 dev_err(dev->parent,
753− "failed to allocate dma memory: len 0x%x\n", mem->len);
754+ "failed to allocate dma memory: len 0x%zx\n",
755+ mem->len);
754756 return -ENOMEM;
755757 }
756758
757− dev_dbg(dev, "carveout va %pK, dma %pad, len 0x%x\n",
759+ dev_dbg(dev, "carveout va %pK, dma %pad, len 0x%zx\n",
758760 va, &dma, mem->len);
759761
760762 if (mem->da != FW_RSC_ADDR_ANY && !rproc->domain) {
@@ -962,7 +964,7 @@ EXPORT_SYMBOL(rproc_add_carveout); · 201 unmodified lines
962964 */
963965 struct rproc_mem_entry *
964966 rproc_mem_entry_init(struct device *dev,
965− void *va, dma_addr_t dma, int len, u32 da,
967+ void *va, dma_addr_t dma, size_t len, u32 da,
966968 int (*alloc)(struct rproc *, struct rproc_mem_entry *),
967969 int (*release)(struct rproc *, struct rproc_mem_entry *),
968970 const char *name, ...)
@@ -1004,7 +1006,7 @@ EXPORT_SYMBOL(rproc_mem_entry_init); · 35 unmodified lines
10041006 * provided by client.
10051007 */
10061008 struct rproc_mem_entry *
1007−rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, int len,
1009+rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, size_t len,
10081010 u32 da, const char *name, ...)
10091011 {
10101012 struct rproc_mem_entry *mem;
@@ -1275,7 +1277,7 @@ static void rproc_resource_cleanup(struct rproc *rproc) · 264 unmodified lines
12751277 unmapped = iommu_unmap(rproc->domain, entry->da, entry->len);
12761278 if (unmapped != entry->len) {
12771279 /* nothing much to do besides complaining */
1278− dev_err(dev, "failed to unmap %u/%zu\n", entry->len,
1280+ dev_err(dev, "failed to unmap %zx/%zu\n", entry->len,
12791281 unmapped);
12801282 }
12811283
drivers/remoteproc/remoteproc_debugfs.c+1−1
@@ -293,7 +293,7 @@ static int rproc_carveouts_show(struct seq_file *seq, void *p) · 292 unmodified lines
293293 seq_printf(seq, "\tVirtual address: %pK\n", carveout->va);
294294 seq_printf(seq, "\tDMA address: %pad\n", &carveout->dma);
295295 seq_printf(seq, "\tDevice address: 0x%x\n", carveout->da);
296− seq_printf(seq, "\tLength: 0x%x Bytes\n\n", carveout->len);
296+ seq_printf(seq, "\tLength: 0x%zx Bytes\n\n", carveout->len);
297297 }
298298
299299 return 0;
include/linux/remoteproc.h+3−3
@@ -329,7 +329,7 @@ struct rproc; · 328 unmodified lines
329329 struct rproc_mem_entry {
330330 void *va;
331331 dma_addr_t dma;
332− int len;
332+ size_t len;
333333 u32 da;
334334 void *priv;
335335 char name[32];
@@ -599,13 +599,13 @@ void rproc_add_carveout(struct rproc *rproc, struct rproc_mem_entry *mem); · 263 unmodified lines
599599
600600 struct rproc_mem_entry *
601601 rproc_mem_entry_init(struct device *dev,
602− void *va, dma_addr_t dma, int len, u32 da,
602+ void *va, dma_addr_t dma, size_t len, u32 da,
603603 int (*alloc)(struct rproc *, struct rproc_mem_entry *),
604604 int (*release)(struct rproc *, struct rproc_mem_entry *),
605605 const char *name, ...);
606606
607607 struct rproc_mem_entry *
608−rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, int len,
608+rproc_of_resm_mem_entry_init(struct device *dev, u32 of_resm_idx, size_t len,
609609 u32 da, const char *name, ...);
610610
611611 int rproc_boot(struct rproc *rproc);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t