Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
1326fe64
Commit
1326fe64
authored
Jul 04, 2017
by
Vinod Koul
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/bcm' into for-linus
parents
99efdb3e
1fc63cb4
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1853 additions
and
3 deletions
+1853
-3
Documentation/devicetree/bindings/dma/brcm,iproc-sba.txt
Documentation/devicetree/bindings/dma/brcm,iproc-sba.txt
+29
-0
crypto/async_tx/async_pq.c
crypto/async_tx/async_pq.c
+2
-3
drivers/dma/Kconfig
drivers/dma/Kconfig
+15
-0
drivers/dma/Makefile
drivers/dma/Makefile
+1
-0
drivers/dma/bcm-sba-raid.c
drivers/dma/bcm-sba-raid.c
+1785
-0
include/linux/raid/pq.h
include/linux/raid/pq.h
+1
-0
lib/raid6/mktables.c
lib/raid6/mktables.c
+20
-0
No files found.
Documentation/devicetree/bindings/dma/brcm,iproc-sba.txt
0 → 100644
View file @
1326fe64
* Broadcom SBA RAID engine
Required properties:
- compatible: Should be one of the following
"brcm,iproc-sba"
"brcm,iproc-sba-v2"
The "brcm,iproc-sba" has support for only 6 PQ coefficients
The "brcm,iproc-sba-v2" has support for only 30 PQ coefficients
- mboxes: List of phandle and mailbox channel specifiers
Example:
raid_mbox: mbox@67400000 {
...
#mbox-cells = <3>;
...
};
raid0 {
compatible = "brcm,iproc-sba-v2";
mboxes = <&raid_mbox 0 0x1 0xffff>,
<&raid_mbox 1 0x1 0xffff>,
<&raid_mbox 2 0x1 0xffff>,
<&raid_mbox 3 0x1 0xffff>,
<&raid_mbox 4 0x1 0xffff>,
<&raid_mbox 5 0x1 0xffff>,
<&raid_mbox 6 0x1 0xffff>,
<&raid_mbox 7 0x1 0xffff>;
};
crypto/async_tx/async_pq.c
View file @
1326fe64
...
...
@@ -62,9 +62,6 @@ do_async_gen_syndrome(struct dma_chan *chan,
dma_addr_t
dma_dest
[
2
];
int
src_off
=
0
;
if
(
submit
->
flags
&
ASYNC_TX_FENCE
)
dma_flags
|=
DMA_PREP_FENCE
;
while
(
src_cnt
>
0
)
{
submit
->
flags
=
flags_orig
;
pq_src_cnt
=
min
(
src_cnt
,
dma_maxpq
(
dma
,
dma_flags
));
...
...
@@ -83,6 +80,8 @@ do_async_gen_syndrome(struct dma_chan *chan,
if
(
cb_fn_orig
)
dma_flags
|=
DMA_PREP_INTERRUPT
;
}
if
(
submit
->
flags
&
ASYNC_TX_FENCE
)
dma_flags
|=
DMA_PREP_FENCE
;
/* Drivers force forward progress in case they can not provide
* a descriptor
...
...
drivers/dma/Kconfig
View file @
1326fe64
...
...
@@ -99,6 +99,21 @@ config AXI_DMAC
controller is often used in Analog Device's reference designs for FPGA
platforms.
config BCM_SBA_RAID
tristate "Broadcom SBA RAID engine support"
depends on ARM64 || COMPILE_TEST
depends on MAILBOX && RAID6_PQ
select DMA_ENGINE
select DMA_ENGINE_RAID
select ASYNC_TX_DISABLE_XOR_VAL_DMA
select ASYNC_TX_DISABLE_PQ_VAL_DMA
default ARCH_BCM_IPROC
help
Enable support for Broadcom SBA RAID Engine. The SBA RAID
engine is available on most of the Broadcom iProc SoCs. It
has the capability to offload memcpy, xor and pq computation
for raid5/6.
config COH901318
bool "ST-Ericsson COH901318 DMA support"
select DMA_ENGINE
...
...
drivers/dma/Makefile
View file @
1326fe64
...
...
@@ -17,6 +17,7 @@ obj-$(CONFIG_AMCC_PPC440SPE_ADMA) += ppc4xx/
obj-$(CONFIG_AT_HDMAC)
+=
at_hdmac.o
obj-$(CONFIG_AT_XDMAC)
+=
at_xdmac.o
obj-$(CONFIG_AXI_DMAC)
+=
dma-axi-dmac.o
obj-$(CONFIG_BCM_SBA_RAID)
+=
bcm-sba-raid.o
obj-$(CONFIG_COH901318)
+=
coh901318.o coh901318_lli.o
obj-$(CONFIG_DMA_BCM2835)
+=
bcm2835-dma.o
obj-$(CONFIG_DMA_JZ4740)
+=
dma-jz4740.o
...
...
drivers/dma/bcm-sba-raid.c
0 → 100644
View file @
1326fe64
This diff is collapsed.
Click to expand it.
include/linux/raid/pq.h
View file @
1326fe64
...
...
@@ -142,6 +142,7 @@ int raid6_select_algo(void);
extern
const
u8
raid6_gfmul
[
256
][
256
]
__attribute__
((
aligned
(
256
)));
extern
const
u8
raid6_vgfmul
[
256
][
32
]
__attribute__
((
aligned
(
256
)));
extern
const
u8
raid6_gfexp
[
256
]
__attribute__
((
aligned
(
256
)));
extern
const
u8
raid6_gflog
[
256
]
__attribute__
((
aligned
(
256
)));
extern
const
u8
raid6_gfinv
[
256
]
__attribute__
((
aligned
(
256
)));
extern
const
u8
raid6_gfexi
[
256
]
__attribute__
((
aligned
(
256
)));
...
...
lib/raid6/mktables.c
View file @
1326fe64
...
...
@@ -125,6 +125,26 @@ int main(int argc, char *argv[])
printf
(
"EXPORT_SYMBOL(raid6_gfexp);
\n
"
);
printf
(
"#endif
\n
"
);
/* Compute log-of-2 table */
printf
(
"
\n
const u8 __attribute__((aligned(256)))
\n
"
"raid6_gflog[256] =
\n
"
"{
\n
"
);
for
(
i
=
0
;
i
<
256
;
i
+=
8
)
{
printf
(
"
\t
"
);
for
(
j
=
0
;
j
<
8
;
j
++
)
{
v
=
255
;
for
(
k
=
0
;
k
<
256
;
k
++
)
if
(
exptbl
[
k
]
==
(
i
+
j
))
{
v
=
k
;
break
;
}
printf
(
"0x%02x,%c"
,
v
,
(
j
==
7
)
?
'\n'
:
' '
);
}
}
printf
(
"};
\n
"
);
printf
(
"#ifdef __KERNEL__
\n
"
);
printf
(
"EXPORT_SYMBOL(raid6_gflog);
\n
"
);
printf
(
"#endif
\n
"
);
/* Compute inverse table x^-1 == x^254 */
printf
(
"
\n
const u8 __attribute__((aligned(256)))
\n
"
"raid6_gfinv[256] =
\n
"
"{
\n
"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment