media: ipu3-cio2: Use macros from mm.h
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 28 Oct 2020 15:55:20 +0000 (16:55 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 25 Nov 2020 08:49:57 +0000 (09:49 +0100)
There are few nice macros in mm.h, some of which we may use here.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/pci/intel/ipu3/ipu3-cio2.c

index d060cfe..4fc36b5 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/delay.h>
 #include <linux/interrupt.h>
 #include <linux/iopoll.h>
+#include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/pfn.h>
@@ -194,9 +195,8 @@ static void cio2_fbpt_entry_init_buf(struct cio2_device *cio2,
         * 4095 (PAGE_SIZE - 1) means every single byte in the last page
         * is available for DMA transfer.
         */
-       entry[1].second_entry.last_page_available_bytes =
-                       (remaining & ~PAGE_MASK) ?
-                               (remaining & ~PAGE_MASK) - 1 : PAGE_SIZE - 1;
+       remaining = offset_in_page(remaining) ?: PAGE_SIZE;
+       entry[1].second_entry.last_page_available_bytes = remaining - 1;
        /* Fill FBPT */
        remaining = length;
        i = 0;