diff options
Diffstat (limited to 'drivers/staging/gasket/gasket_page_table.c')
-rw-r--r-- | drivers/staging/gasket/gasket_page_table.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c index 26755d9ca41d..d35c4fb19e28 100644 --- a/drivers/staging/gasket/gasket_page_table.c +++ b/drivers/staging/gasket/gasket_page_table.c @@ -486,8 +486,8 @@ static int gasket_perform_mapping(struct gasket_page_table *pg_tbl, ptes[i].dma_addr = pg_tbl->coherent_pages[0].paddr + off + i * PAGE_SIZE; } else { - ret = get_user_pages_fast(page_addr - offset, 1, 1, - &page); + ret = get_user_pages_fast(page_addr - offset, 1, + FOLL_WRITE, &page); if (ret <= 0) { dev_err(pg_tbl->device, @@ -768,8 +768,7 @@ static bool gasket_is_extended_dev_addr_bad(struct gasket_page_table *pg_tbl, page_lvl0_idx = gasket_extended_lvl0_page_idx(pg_tbl, dev_addr); /* Get the count of affected level 0 pages. */ - num_lvl0_pages = (num_pages + GASKET_PAGES_PER_SUBTABLE - 1) / - GASKET_PAGES_PER_SUBTABLE; + num_lvl0_pages = DIV_ROUND_UP(num_pages, GASKET_PAGES_PER_SUBTABLE); if (gasket_components_to_dev_address(pg_tbl, 0, page_global_idx, page_offset) != dev_addr) { @@ -1258,7 +1257,7 @@ int gasket_alloc_coherent_memory(struct gasket_dev *gasket_dev, u64 size, dma_addr_t handle; void *mem; int j; - unsigned int num_pages = (size + PAGE_SIZE - 1) / PAGE_SIZE; + unsigned int num_pages = DIV_ROUND_UP(size, PAGE_SIZE); const struct gasket_driver_desc *driver_desc = gasket_get_driver_desc(gasket_dev); |