diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
commit | abf7dba7c4f77d781f6df50fefb19a64c5dc331f (patch) | |
tree | 38648731b502d5aec508f3b33f6616190e598eb6 /Documentation/driver-api/fpga/intro.rst | |
parent | 07c4dd3435aa387d3b58f4e941dc516513f14507 (diff) | |
parent | b23220fe054e92f616b82450fae8cd3ab176cc60 (diff) |
Merge tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here is the "big" char and misc driver patches for 4.18-rc1.
It's not a lot of stuff here, but there are some highlights:
- coreboot driver updates
- soundwire driver updates
- android binder updates
- fpga big sync, mostly documentation
- lots of minor driver updates
All of these have been in linux-next for a while with no reported
issues"
* tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
vmw_balloon: fixing double free when batching mode is off
MAINTAINERS: Add driver-api/fpga path
fpga: clarify that unregister functions also free
documentation: fpga: move fpga-region.txt to driver-api
documentation: fpga: add bridge document to driver-api
documentation: fpga: move fpga-mgr.txt to driver-api
Documentation: fpga: move fpga overview to driver-api
fpga: region: kernel-doc fixes
fpga: bridge: kernel-doc fixes
fpga: mgr: kernel-doc fixes
fpga: use SPDX
fpga: region: change api, add fpga_region_create/free
fpga: bridge: change api, don't use drvdata
fpga: manager: change api, don't use drvdata
fpga: region: don't use drvdata in common fpga code
Drivers: hv: vmbus: Removed an unnecessary cast from void *
ver_linux: Drop redundant calls to system() to test if file is readable
ver_linux: Move stderr redirection from function parameter to function body
misc: IBM Virtual Management Channel Driver (VMC)
rpmsg: Correct support for MODULE_DEVICE_TABLE()
...
Diffstat (limited to 'Documentation/driver-api/fpga/intro.rst')
-rw-r--r-- | Documentation/driver-api/fpga/intro.rst | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Documentation/driver-api/fpga/intro.rst b/Documentation/driver-api/fpga/intro.rst new file mode 100644 index 000000000000..51cd81dbb4dc --- /dev/null +++ b/Documentation/driver-api/fpga/intro.rst | |||
@@ -0,0 +1,54 @@ | |||
1 | Introduction | ||
2 | ============ | ||
3 | |||
4 | The FPGA subsystem supports reprogramming FPGAs dynamically under | ||
5 | Linux. Some of the core intentions of the FPGA subsystems are: | ||
6 | |||
7 | * The FPGA subsystem is vendor agnostic. | ||
8 | |||
9 | * The FPGA subsystem separates upper layers (userspace interfaces and | ||
10 | enumeration) from lower layers that know how to program a specific | ||
11 | FPGA. | ||
12 | |||
13 | * Code should not be shared between upper and lower layers. This | ||
14 | should go without saying. If that seems necessary, there's probably | ||
15 | framework functionality that that can be added that will benefit | ||
16 | other users. Write the linux-fpga mailing list and maintainers and | ||
17 | seek out a solution that expands the framework for broad reuse. | ||
18 | |||
19 | * Generally, when adding code, think of the future. Plan for re-use. | ||
20 | |||
21 | The framework in the kernel is divided into: | ||
22 | |||
23 | FPGA Manager | ||
24 | ------------ | ||
25 | |||
26 | If you are adding a new FPGA or a new method of programming a FPGA, | ||
27 | this is the subsystem for you. Low level FPGA manager drivers contain | ||
28 | the knowledge of how to program a specific device. This subsystem | ||
29 | includes the framework in fpga-mgr.c and the low level drivers that | ||
30 | are registered with it. | ||
31 | |||
32 | FPGA Bridge | ||
33 | ----------- | ||
34 | |||
35 | FPGA Bridges prevent spurious signals from going out of a FPGA or a | ||
36 | region of a FPGA during programming. They are disabled before | ||
37 | programming begins and re-enabled afterwards. An FPGA bridge may be | ||
38 | actual hard hardware that gates a bus to a cpu or a soft ("freeze") | ||
39 | bridge in FPGA fabric that surrounds a partial reconfiguration region | ||
40 | of an FPGA. This subsystem includes fpga-bridge.c and the low level | ||
41 | drivers that are registered with it. | ||
42 | |||
43 | FPGA Region | ||
44 | ----------- | ||
45 | |||
46 | If you are adding a new interface to the FPGA framework, add it on top | ||
47 | of a FPGA region to allow the most reuse of your interface. | ||
48 | |||
49 | The FPGA Region framework (fpga-region.c) associates managers and | ||
50 | bridges as reconfigurable regions. A region may refer to the whole | ||
51 | FPGA in full reconfiguration or to a partial reconfiguration region. | ||
52 | |||
53 | The Device Tree FPGA Region support (of-fpga-region.c) handles | ||
54 | reprogramming FPGAs when device tree overlays are applied. | ||