Skip to content

Commit 6f38f99

Browse files
Merge pull request #5 from gardenlinux/feat/intel-dfl
Feat/intel dfl
2 parents 218f622 + fc86813 commit 6f38f99

File tree

91 files changed

+17346
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+17346
-0
lines changed

prepare_source

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ cp -r config "$dir/src/debian/"
2727

2828
rm "$dir/src/debian/patches/debian/Revert-docs-kernel_feat.py-fix-potential-command-inj.patch"
2929
sed -i '/debian\/Revert-docs-kernel_feat\.py-fix-potential-command-inj\.patch/d' "$dir/src/debian/patches/series"
30+
31+
import_upstream_patches
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
From 15acf7e9d055c32ec1f87643340febb9ea2fa7e6 Mon Sep 17 00:00:00 2001
2+
From: Peter Colberg <peter.colberg@intel.com>
3+
Date: Mon, 19 Jun 2023 15:56:34 -0400
4+
Subject: [PATCH] fpga: dfl: afu: use PFN_DOWN() and PFN_PHYS() helper macros
5+
6+
Replace all shifts by PAGE_SHIFT with PFN_DOWN() and PFN_PHYS() helper
7+
macros to convert between physical addresses and page frame numbers.
8+
9+
These changes are cosmetic only; no functional changes.
10+
11+
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
12+
Signed-off-by: Peter Colberg <peter.colberg@intel.com>
13+
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
14+
---
15+
drivers/fpga/dfl-afu-dma-region.c | 7 ++++---
16+
drivers/fpga/dfl-afu-main.c | 5 +++--
17+
2 files changed, 7 insertions(+), 5 deletions(-)
18+
19+
diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
20+
index 02b60fde0430..e8d54cfbb301 100644
21+
--- a/drivers/fpga/dfl-afu-dma-region.c
22+
+++ b/drivers/fpga/dfl-afu-dma-region.c
23+
@@ -10,6 +10,7 @@
24+
*/
25+
26+
#include <linux/dma-mapping.h>
27+
+#include <linux/pfn.h>
28+
#include <linux/sched/signal.h>
29+
#include <linux/uaccess.h>
30+
#include <linux/mm.h>
31+
@@ -34,7 +35,7 @@ void afu_dma_region_init(struct dfl_feature_platform_data *pdata)
32+
static int afu_dma_pin_pages(struct dfl_feature_platform_data *pdata,
33+
struct dfl_afu_dma_region *region)
34+
{
35+
- int npages = region->length >> PAGE_SHIFT;
36+
+ int npages = PFN_DOWN(region->length);
37+
struct device *dev = &pdata->dev->dev;
38+
int ret, pinned;
39+
40+
@@ -82,7 +83,7 @@ static int afu_dma_pin_pages(struct dfl_feature_platform_data *pdata,
41+
static void afu_dma_unpin_pages(struct dfl_feature_platform_data *pdata,
42+
struct dfl_afu_dma_region *region)
43+
{
44+
- long npages = region->length >> PAGE_SHIFT;
45+
+ long npages = PFN_DOWN(region->length);
46+
struct device *dev = &pdata->dev->dev;
47+
48+
unpin_user_pages(region->pages, npages);
49+
@@ -101,7 +102,7 @@ static void afu_dma_unpin_pages(struct dfl_feature_platform_data *pdata,
50+
*/
51+
static bool afu_dma_check_continuous_pages(struct dfl_afu_dma_region *region)
52+
{
53+
- int npages = region->length >> PAGE_SHIFT;
54+
+ int npages = PFN_DOWN(region->length);
55+
int i;
56+
57+
for (i = 0; i < npages - 1; i++)
58+
diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c
59+
index 7f621e96d3b8..048c9b418c8b 100644
60+
--- a/drivers/fpga/dfl-afu-main.c
61+
+++ b/drivers/fpga/dfl-afu-main.c
62+
@@ -16,6 +16,7 @@
63+
64+
#include <linux/kernel.h>
65+
#include <linux/module.h>
66+
+#include <linux/pfn.h>
67+
#include <linux/uaccess.h>
68+
#include <linux/fpga-dfl.h>
69+
70+
@@ -816,7 +817,7 @@ static int afu_mmap(struct file *filp, struct vm_area_struct *vma)
71+
72+
pdata = dev_get_platdata(&pdev->dev);
73+
74+
- offset = vma->vm_pgoff << PAGE_SHIFT;
75+
+ offset = PFN_PHYS(vma->vm_pgoff);
76+
ret = afu_mmio_region_get_by_offset(pdata, offset, size, &region);
77+
if (ret)
78+
return ret;
79+
@@ -837,7 +838,7 @@ static int afu_mmap(struct file *filp, struct vm_area_struct *vma)
80+
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
81+
82+
return remap_pfn_range(vma, vma->vm_start,
83+
- (region.phys + (offset - region.offset)) >> PAGE_SHIFT,
84+
+ PFN_DOWN(region.phys + (offset - region.offset)),
85+
size, vma->vm_page_prot);
86+
}
87+

0 commit comments

Comments
 (0)