Le 16/04/2021 à 01:49, Alexei Starovoitov a écrit :
On Thu, Apr 15, 2021 at 8:41 AM Quentin Monnet wrote:
2021-04-15 16:37 UTC+0200 ~ Daniel Borkmann
On 4/15/21 11:32 AM, Jianlin Lv wrote:
For debugging JITs, dumping the JITed image to kernel log is discouraged,
"bpftool prog dump jited"
Re-implement BPF_ALU64 | BPF_{LSH/RSH/ARSH} | BPF_X with branchless
implementation copied from misc_32.S.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit_comp32.c | 39 +++
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/arch/powerpc/net
Replace <<== by <<=
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit_comp32.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/net/bpf_jit_comp32.c
b/arch/powerpc/net/bpf_jit_comp32.c
index 003843273b43..ca6fe1583460 100644
--- a/arch
calculate the amount of memory to allocate for the EBPF code, so
assume the 4 instructions sequence is required, so that enough memory
is allocated.
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/ppc-opcode.h | 1 +
arch/powerpc/net/bpf_jit.h| 3 +++
arch/powerpc/
Le 11/04/2021 à 13:09, Paul Menzel a écrit :
Dear Linux folks,
Related to * [CVE-2021-29154] Linux kernel incorrect computation of branch displacements in BPF JIT
compiler can be abused to execute arbitrary code in Kernel mode* [1], on the POWER8 system IBM
S822LC with self-built Linux 5.1
Le 22/03/2021 à 18:53, Andrii Nakryiko a écrit :
On Mon, Mar 22, 2021 at 9:37 AM Christophe Leroy
wrote:
This series implements extended BPF on powerpc32. For the implementation
details, see the patch before the last.
The following operations are not implemented:
case
following operations are only implemented for power of two constants:
case BPF_ALU64 | BPF_MOD | BPF_K: /* dst %= imm */
case BPF_ALU64 | BPF_DIV | BPF_K: /* dst /= imm */
Signed-off-by: Christophe Leroy
---
v2:
- Simplify 16 bits swap
- Rework tailcall, use stack fo
38: 7d 83 63 78 mr r3,r12
3c: 38 21 00 50 addir1,r1,80
40: 4e 80 00 20 blr
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit.h| 16
arch/powerpc/net/bpf_jit64.h | 2 +-
arch/powerpc/net/bpf_jit_comp.c | 2 ++
arch/powerp
Move into bpf_jit_comp.c the functions that will remain common to
PPC64 and PPC32 when we add support of EBPF for PPC32.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/Makefile | 2 +-
arch/powerpc/net/bpf_jit.h| 6 +
arch/powerpc/net/bpf_jit_comp.c | 269
: Christophe Leroy
---
arch/powerpc/include/asm/ppc-opcode.h | 12
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/include/asm/ppc-opcode.h
b/arch/powerpc/include/asm/ppc-opcode.h
index ed161ef2b3ca..5b60020dc1f4 100644
--- a/arch/powerpc/include/asm/ppc-opcode.h
+++ b/arch
Because PPC32 will use more non volatile registers,
move SEEN_ flags to positions 0-2 which corresponds to special
registers.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/net/bpf_jit.h
Move functions bpf_flush_icache(), bpf_is_seen_register() and
bpf_set_seen_register() in order to reuse them in future
bpf_jit_comp32.c
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit.h| 35 +++
arch/powerpc/net/bpf_jit64.h | 19
!=
1305 FAIL (1 times)
test_bpf: Summary: 371 PASSED, 7 FAILED, [119/366 JIT'ed]
Fixing this is not worth the effort. Instead, remove support for
classical BPF and prepare for adding Extended BPF support instead.
Signed-off-by: Christophe Leroy
---
arch/powerpc/Kconfig
Instead of using BPF register number as input in functions
bpf_set_seen_register() and bpf_is_seen_register(), use
CPU register number directly.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit_comp64.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff
n calls (last patch - new)
Christophe Leroy (8):
powerpc/bpf: Remove classical BPF support for PPC32
powerpc/bpf: Change register numbering for bpf_set/is_seen_register()
powerpc/bpf: Move common helpers into bpf_jit.h
powerpc/bpf: Move common functions into bpf_jit_comp.c
powerpc/bpf: Cha
Commit 92c8c16f3457 ("powerpc/embedded6xx: Remove C2K board support")
removed the last selector of CONFIG_MV64X60.
Therefore CONFIG_MV64X60_WDT cannot be selected anymore and
can be removed.
Signed-off-by: Christophe Leroy
---
drivers/watchdog/Kconfig | 4 -
drivers/watchdo
Commit 92c8c16f3457 ("powerpc/embedded6xx: Remove C2K board support")
removed last selector of CONFIG_MV64X60.
As it is not a user selectable config item, all references to it
are stale. Remove them.
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/marvell/Kconfig
Le 05/03/2021 à 02:43, angkery a écrit :
From: Junlin Yang
ibmvnic_remove locks multiple spinlocks while disabling interrupts:
spin_lock_irqsave(&adapter->state_lock, flags);
spin_lock_irqsave(&adapter->rwi_lock, flags);
there is no need for the second irqsave,since interrupts are disabled
Le 20/01/2021 à 12:25, Rasmus Villemoes a écrit :
On 20/01/2021 08.02, Christophe Leroy wrote:
@@ -3715,25 +3713,23 @@ static int ucc_geth_probe(struct
platform_device* ofdev)
if ((ucc_num < 0) || (ucc_num > 7))
return -ENODEV;
- ug_info = &ugeth_in
Can you detail a bit the change ?
At least tell that the loop was a zeroising loop and that kcalloc() already zeroises the allocated
memory ?
Le 19/01/2021 à 16:07, Rasmus Villemoes a écrit :
Signed-off-by: Rasmus Villemoes
---
drivers/net/ethernet/freescale/ucc_geth.c | 14 --
Le 19/01/2021 à 16:07, Rasmus Villemoes a écrit :
The bd_mem_part member of ucc_geth_info always has the value
MEM_PART_SYSTEM, and AFAICT, there has never been any code setting it
to any other value. Moreover, muram is a somewhat precious resource,
so there's no point using that when normal m
Le 19/01/2021 à 16:07, Rasmus Villemoes a écrit :
struct ucc_geth_info is somewhat large, and on systems with only one
or two UCC instances, that just wastes a few KB of memory. So
allocate and populate a chunk of memory at probe time instead of
initializing them all during driver init.
Note
Le 19/01/2021 à 16:07, Rasmus Villemoes a écrit :
These fields are only used within ucc_geth_startup(), so they might as
well be local variables in that function rather than being stashed in
struct ucc_geth_private.
Aside from making that struct a tiny bit smaller, it also shortens
some lines
Le 15/01/2021 à 12:18, Lee Jones a écrit :
On Thu, 14 Jan 2021, Lee Jones wrote:
On Thu, 14 Jan 2021, Jakub Kicinski wrote:
On Thu, 14 Jan 2021 08:33:49 + Lee Jones wrote:
On Wed, 13 Jan 2021, Jakub Kicinski wrote:
On Wed, 13 Jan 2021 16:41:16 + Lee Jones wrote:
Resending the s
Le 17/12/2020 à 07:11, Alexei Starovoitov a écrit :
On Wed, Dec 16, 2020 at 10:07:37AM +, Christophe Leroy wrote:
Implement Extended Berkeley Packet Filter on Powerpc 32
Test result with test_bpf module:
test_bpf: Summary: 378 PASSED, 0 FAILED, [354/366 JIT'ed]
This series implements extended BPF on powerpc32. For the implementation
details, see the last patch.
Below are the results on a powerpc 885 at 132 MHz:
- with the patch, with and without bpf_jit_enable
- without the patch, with bpf_jit_enable (ie with CBPF)
With the patch, with bpf_jit_enable =
!=
1305 FAIL (1 times)
test_bpf: Summary: 371 PASSED, 7 FAILED, [119/366 JIT'ed]
Fixing this is not worth the effort. Instead, remove support for
classical BPF and prepare for adding Extended BPF support instead.
Signed-off-by: Christophe Leroy
---
arch/powerpc/Kconfig
BPF_ALU64 | BPF_DIV | BPF_K: /* dst /= imm */
Signed-off-by: Christophe Leroy
---
arch/powerpc/Kconfig |2 +-
arch/powerpc/net/Makefile |2 +-
arch/powerpc/net/bpf_jit.h|4 +
arch/powerpc/net/bpf_jit32.h | 58 ++
arch/powerpc/net/bpf_jit_comp3
Move into bpf_jit_comp.c the functions that will remain common to
PPC64 and PPC32 when we add support of EBPF for PPC32.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/Makefile | 2 +-
arch/powerpc/net/bpf_jit.h| 6 +
arch/powerpc/net/bpf_jit_comp.c | 269
: Christophe Leroy
---
arch/powerpc/include/asm/ppc-opcode.h | 12
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/include/asm/ppc-opcode.h
b/arch/powerpc/include/asm/ppc-opcode.h
index ed161ef2b3ca..5b60020dc1f4 100644
--- a/arch/powerpc/include/asm/ppc-opcode.h
+++ b/arch
Because PPC32 will use more non volatile registers,
move SEEN_ flags to positions 0-2 which corresponds to special
registers.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/net/bpf_jit.h
Instead of using BPF register number as input in functions
bpf_set_seen_register() and bpf_is_seen_register(), use
CPU register number directly.
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit_comp64.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff
Move functions bpf_flush_icache(), bpf_is_seen_register() and
bpf_set_seen_register() in order to reuse them in future
bpf_jit_comp32.c
Signed-off-by: Christophe Leroy
---
arch/powerpc/net/bpf_jit.h| 35 +++
arch/powerpc/net/bpf_jit64.h | 19
>>= imm */
case BPF_STX | BPF_XADD | BPF_DW: /* *(u64 *)(dst + off) += src
*/
Signed-off-by: Christophe Leroy
---
arch/powerpc/Kconfig |3 +-
arch/powerpc/include/asm/ppc-opcode.h | 11 +
arch/powerpc/net/Makefile |6 +-
arch/powe
Le 05/12/2020 à 20:17, Rasmus Villemoes a écrit :
The translation from the ucc_geth_num_of_threads enum value to the
actual count can be written somewhat more compactly with a small
lookup table, allowing us to replace the four switch statements.
Signed-off-by: Rasmus Villemoes
---
drivers
Le 05/12/2020 à 20:17, Rasmus Villemoes a écrit :
These macros both have the value 32, there's no point first
initializing align to a lower value.
If anything, one could throw in a
BUILD_BUG_ON(UCC_GETH_TX_BD_RING_ALIGNMENT < 4), but it's not worth it
- lots of code depends on named constants
Le 05/12/2020 à 20:17, Rasmus Villemoes a écrit :
struct ucc_geth_info is somewhat large, and on systems with only one
or two UCC instances, that just wastes a few KB of memory. So
allocate and populate a chunk of memory at probe time instead of
initializing them all during driver init.
Note
Le 01/12/2020 à 15:03, Christophe Leroy a écrit :
I've got the following KASAN error while running test_bpf module on a powerpc
8xx (32 bits).
That's reproductible, happens each time at the same test.
Can someone help me to investigate and fix that ?
[ 209.381037] test_bpf: #
I've got the following KASAN error while running test_bpf module on a powerpc
8xx (32 bits).
That's reproductible, happens each time at the same test.
Can someone help me to investigate and fix that ?
[ 209.381037] test_bpf: #298 LD_IND byte frag
[ 209.383041] Pass 1: shrink = 0, seen = 0x30
nough for an u32 calculation, so cast it as (u32) for the test, to
avoid the need for _umoddi3.
Fixes: adcfc3482fff ("sfc_ef100: read Design Parameters at probe time")
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/sfc/ef100_nic.c | 2 +-
1 file changed, 1 insertion(+), 1 dele
Hello
I'm looking for guidance for porting a home made audio driver to
ASoC/FSL on a custom board.
The board has an MPC8321 freescale/NXP cpu. The board has a TDM bus
connected to one of the cpu TDM port. On that TDM bus, there are three
IDT 821034 quad codecs (PCM G.711) and an E1 chip that
[-Wundef]
#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
^
Include linux/highmem.h so that asm/cacheflush.h will be included.
Reported-by: Christophe Leroy
Reported-by: kernel test robot
Cc: Chuck Lever
Fixes: ca07eda33e01 ("SUNRPC: Refactor svc_recvfrom()")
Signed-off-by: Christophe
Le 14/06/2020 à 20:57, Chuck Lever a écrit :
Hi Christophe -
On Jun 14, 2020, at 1:07 PM, Christophe Leroy
wrote:
Even if that's only a warning, not including asm/cacheflush.h
leads to svc_flush_bvec() being empty allthough powerpc defines
ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE.
[-Wundef]
#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
^
Fixes: ca07eda33e01 ("SUNRPC: Refactor svc_recvfrom()")
Signed-off-by: Christophe Leroy
---
I detected this on linux-next on June 4th and warned Chuck. Seems like it went
into mainline anyway.
net/sunrpc/svcsock.c | 1 +
1
<80e3005c> 80c30098 3107
7d083910
[ 70.081690] ---[ end trace be7ccd9c1e1a9f12 ]---
This patch forbids the modification of the number of buffers in the
ring while the interface is running.
Fixes: ac421852b3a0 ("ucc_geth: add ethtool support")
Cc: sta...@vger.kernel.org
Signed-of
Hi,
Le 28/01/2019 à 10:07, Mathias Thore a écrit :
After a timeout event caused by for example a broadcast storm, when
the MAC and PHY are reset, the BQL TX queue needs to be reset as
well. Otherwise, the device will exhibit severe performance issues
even after the storm has ended.
What are th
ping ?
Le 17/10/2018 à 14:08, Christophe LEROY a écrit :
Hi,
Could you please apply f8b39039cbf2a15f2b8c9f081e1cbd5dee00aaf5 to 4.9
and 4.14 ?
It fixes an Oops when Ethernet transmission times out.
As you can observe in the commit log, the Oops what initially observed
in 4.9.
The fix
Hi,
Could you please apply f8b39039cbf2a15f2b8c9f081e1cbd5dee00aaf5 to 4.9
and 4.14 ?
It fixes an Oops when Ethernet transmission times out.
As you can observe in the commit log, the Oops what initially observed
in 4.9.
The fix has been in mainline since 4.15
Thanks
Christophe
On 05/24/2018 06:20 AM, Christophe LEROY wrote:
Le 23/05/2018 à 20:34, Segher Boessenkool a écrit :
On Tue, May 22, 2018 at 08:57:01AM +0200, Christophe Leroy wrote:
The generic csum_ipv6_magic() generates a pretty bad result
Please try with a more recent compiler, what you used is
Le 23/05/2018 à 20:34, Segher Boessenkool a écrit :
On Tue, May 22, 2018 at 08:57:01AM +0200, Christophe Leroy wrote:
The generic csum_ipv6_magic() generates a pretty bad result
Please try with a more recent compiler, what you used is pretty ancient.
It's not like recent compile
rotlwi r3,r0,16
ec: 7c 03 02 14 add r0,r3,r0
f0: 7c 03 00 f8 not r3,r0
f4: 78 63 84 22 rldicl r3,r3,48,48
f8: 4e 80 00 20 blr
This patch implements it in assembly for both PPC32 and PPC64
Link: https://github.com/linuxppc/linux/issues/9
Signed-off-by: Chri
rotlwi r3,r0,16
ec: 7c 03 02 14 add r0,r3,r0
f0: 7c 03 00 f8 not r3,r0
f4: 78 63 84 22 rldicl r3,r3,48,48
f8: 4e 80 00 20 blr
This patch implements it in assembly for both PPC32 and PPC64
Link: https://github.com/linuxppc/linux/issues/9
Signed-off-by: Chri
rotlwi r10,r3,16
c4: 7c 63 52 14 add r3,r3,r10
c8: 7c 63 18 f8 not r3,r3
cc: 54 63 84 3e rlwinm r3,r3,16,16,31
d0: 4e 80 00 20 blr
This patch implements it in assembly for PPC32
Link: https://github.com/linuxppc/linux/issues/9
Signed-off-by: Christophe
This patch moves fs_timeout() actions into an async worker.
Fixes: commit 48257c4f168e5 ("Add fs_enet ethernet network driver, for several
embedded platforms")
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 16 +---
driv
Le 25/12/2017 à 02:34, Yisheng Xie a écrit :
On 2017/12/24 17:05, christophe leroy wrote:
Le 23/12/2017 à 14:48, Greg KH a écrit :
On Sat, Dec 23, 2017 at 06:55:25PM +0800, Yisheng Xie wrote:
Hi all,
When I tried to use devm_ioremap function and review related code, I found
Le 23/12/2017 à 14:48, Greg KH a écrit :
On Sat, Dec 23, 2017 at 06:55:25PM +0800, Yisheng Xie wrote:
Hi all,
When I tried to use devm_ioremap function and review related code, I found
devm_ioremap and devm_ioremap_nocache is almost the same with each other,
except one use ioremap while the o
Le 23/12/2017 à 16:57, Guenter Roeck a écrit :
On 12/23/2017 05:48 AM, Greg KH wrote:
On Sat, Dec 23, 2017 at 06:55:25PM +0800, Yisheng Xie wrote:
Hi all,
When I tried to use devm_ioremap function and review related code, I
found
devm_ioremap and devm_ioremap_nocache is almost the same with
Le 15/10/2017 à 11:20, Gilad Ben-Yossef a écrit :
The talitos driver starts several async crypto ops and waits for their
completions. Move it over to generic code doing the same.
Signed-off-by: Gilad Ben-Yossef
Tested-by: Christophe Leroy
---
drivers/crypto/talitos.c | 38
Hi,
Le 14/09/2017 à 14:05, Valentin Longchamp a écrit :
Simple printk format warning for the the ucc registers address.
Did you test your patch with mpc83xx_defconfig ?
I get a new warning with your patch:
CC drivers/net/ethernet/freescale/ucc_geth.o
In file included from ./include/li
several other drivers.
Signed-off-by: Christophe Leroy
---
drivers/isdn/hardware/mISDN/Kconfig | 6 +++---
drivers/isdn/hardware/mISDN/hfc_multi_8xx.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/isdn/hardware/mISDN/Kconfig
b/drivers/isdn/hardware/mISDN
CONFIG_8xx is being deprecated. Since the includes dependent on
CONFIG_8xx are useless, just drop them.
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/freescale/fs_enet/mac-fec.c | 6 --
drivers/net/ethernet/freescale/fs_enet/mac-scc.c | 6 --
2 files changed, 12 deletions
s allocated in the BSS, it is already set to 0
Fixes: 82de0be6862cd ("netfilter: Add helper array
register/unregister functions")
Cc: sta...@vger.kernel.org
Signed-off-by: Christophe Leroy
---
net/netfilter/nf_conntrack_sip.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/net/netf
Acked-by: David S. Miller
Le 07/02/2017 à 10:05, Christophe Leroy a écrit :
Since commit 5093bb965a163 ("powerpc/QE: switch to the cpm_muram
implementation"), muram area is not part of immrbar mapping anymore
so immrbar_virt_to_phys() is not usable anymore.
Fixes: 5093bb965a163 (&
ucc_geth ethernet driver is the only driver using immrbar_virt_to_phys() and it
uses it incorrectly.
This patch fixes ucc_geth driver then removes immrbar_virt_to_phys()
Christophe Leroy (2):
net: ethernet: ucc_geth: fix MEM_PART_MURAM mode
soc/fsl/qe: get rid of immrbar_virt_to_phys
immrbar_virt_to_phys() is not used anymore
Signed-off-by: Christophe Leroy
---
drivers/soc/fsl/qe/qe.c | 4 +---
include/soc/fsl/qe/immap_qe.h | 19 ---
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/drivers/soc/fsl/qe/qe.c b/drivers/soc/fsl/qe/qe.c
index
Since commit 5093bb965a163 ("powerpc/QE: switch to the cpm_muram
implementation"), muram area is not part of immrbar mapping anymore
so immrbar_virt_to_phys() is not usable anymore.
Fixes: 5093bb965a163 ("powerpc/QE: switch to the cpm_muram implementation)
Signed-off-by: C
Le 07/10/2016 à 22:58, Christophe JAILLET a écrit :
Size used with 'dma_alloc_coherent()' and 'dma_free_coherent()' should be
consistent.
Here, the size of a pointer is used in dma_alloc... and the size of the
pointed structure is used in dma_free...
This has been spotted with coccinelle, usin
eived
Signed-off-by: Christophe Leroy
---
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 36 --
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
make it configurable.
Signed-off-by: Christophe Leroy
---
v2: ethtool parameter instead of module parameter
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 40 ++
1 file changed, 40 insertions(+)
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
b
o call
netif_wake_queue() at every packet successfully transmitted.
Signed-off-by: Christophe Leroy
---
v2: Limitation of TX completion loop to the size of the TX ring to avoid
infinite loop.
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 268 +
drivers/net/ethernet/freescale/f
value configurable as the optimised value is not the
same on all targets
Christophe Leroy (3):
net: fs_enet: merge NAPI RX and NAPI TX
net: fs_enet: don't unmap DMA when packet len is below copybreak
net: fs_enet: make rx_copybreak value configurable
.../net/ethernet/freescale/fs_enet/fs
Le 26/08/2016 à 06:35, Florian Fainelli a écrit :
Le 24/08/2016 à 07:14, Christophe Leroy a écrit :
Le 23/08/2016 à 21:03, Florian Fainelli a écrit :
+others,
On 08/23/2016 04:13 AM, Christophe Leroy wrote:
In ERRATA DS8700A dated 05 May 2016, Microship recommends to
not use software
Le 24/08/2016 à 15:07, Eric Dumazet a écrit :
On Wed, 2016-08-24 at 12:36 +0200, Christophe Leroy wrote:
Initially, a NAPI TX routine has been implemented separately from
NAPI RX, as done on the freescale/gianfar driver.
By merging NAPI RX and NAPI TX, we reduce the amount of TX completion
Le 23/08/2016 à 21:03, Florian Fainelli a écrit :
+others,
On 08/23/2016 04:13 AM, Christophe Leroy wrote:
In ERRATA DS8700A dated 05 May 2016, Microship recommends to
not use software power down mode on KSZ8041 family.
s/Microship/Microchip/
They say they have no plan to fix this
eived
Signed-off-by: Christophe Leroy
---
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 36 --
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
make it configurable.
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 8 +---
include/linux/fs_enet_pd.h| 1 -
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet
ed-off-by: Christophe Leroy
---
.../net/ethernet/freescale/fs_enet/fs_enet-main.c | 259 +
drivers/net/ethernet/freescale/fs_enet/fs_enet.h | 16 +-
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c | 57 ++---
drivers/net/ethernet/freescale/fs_enet/mac-fec.c
This set optimises the freescale fs_enet ethernet driver:
1/ Merge of RX and TX NAPI functions in order to limit the amount of
interrupts
2/ Do not unmap DMA when packets len is below copybreak, otherwise there
is no benefit in copying the skb instead of allocating a new one
3/ Make copybreak value
Do not drop packet when CSeq is 0 as 0 is also a valid value for CSeq.
simple_strtoul() will return 0 either when all digits are 0
or if there are no digits at all. Therefore when simple_strtoul()
returns 0 we check if first character is digit 0 or not.
Signed-off-by: Christophe Leroy
---
v2
Le 04/07/2016 à 07:48, Liping Zhang a écrit :
2016-07-01 17:48 GMT+08:00 Christophe Leroy :
Do not drop packet when CSeq is 0 as 0 is also a valid value for CSeq.
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -1368,6 +1368,7 @@ static int
Do not drop packet when CSeq is 0 as 0 is also a valid value for CSeq.
In order to do so, we replace obsolete simple_strtoul() which
returns 0 on error by kstrtouint(). As kstrtouint() requires a
NULL terminated string, we need to use a temporary buffer
Signed-off-by: Christophe Leroy
---
net
Le 30/03/2016 10:50, Zhao Qiang a écrit :
The driver add hdlc support for Freescale QUICC Engine.
It support NMSI and TSA mode.
When using TSA, how does the TSA gets configured ? Especially how do you
describe which Timeslot is switched to HDLC channels ?
Is it possible to route some Timeslots t
Le 23/10/2015 05:30, Scott Wood a écrit :
On Tue, 2015-09-22 at 16:34 +0200, Christophe Leroy wrote:
r5 does contain the value to be updated, so lets use r5 all way long
for that. It makes the code more readable.
To avoid confusion, it is better to use adde instead of addc
The first
Le 23/09/2015 07:43, Denis Kirjanov a écrit :
On 9/22/15, Christophe Leroy wrote:
In several architectures, ip_fast_csum() is inlined
There are functions like ip_send_check() which do nothing
much more than calling ip_fast_csum().
Inlining ip_fast_csum() allows the compiler to optimise
Le 23/10/2015 05:33, Scott Wood a écrit :
On Tue, 2015-09-22 at 16:34 +0200, Christophe Leroy wrote:
Simplify csum_add(a, b) in case a or b is constant 0
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/checksum.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/arch
addc uses carry so xer is clobbered in csum_add()
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/checksum.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/checksum.h
b/arch/powerpc/include/asm/checksum.h
index e8d9ef4..d2ca07b 100644
In several architectures, ip_fast_csum() is inlined
There are functions like ip_send_check() which do nothing
much more than calling ip_fast_csum().
Inlining ip_fast_csum() allows the compiler to optimise better
Suggested-by: Eric Dumazet
Signed-off-by: Christophe Leroy
---
arch/powerpc
This patch serie gather patches related to checksum functions on powerpc.
Some of those patches have already been submitted individually.
Christophe Leroy (9):
powerpc: unexport csum_tcpudp_magic
powerpc: mark xer clobbered in csum_add()
powerpc32: checksum_wrappers_64 becomes
csum_tcpudp_magic is now an inline function, so there is
nothing to export
Signed-off-by: Christophe Leroy
---
arch/powerpc/lib/ppc_ksyms.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/powerpc/lib/ppc_ksyms.c b/arch/powerpc/lib/ppc_ksyms.c
index c7f8e95..f5e427e 100644
--- a/arch
also
exists on powerpc32
This patch renames arch/powerpc/lib/checksum_wrappers_64.c to
arch/powerpc/lib/checksum_wrappers.c and
makes it non-conditional to CONFIG_WORD_SIZE
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/checksum.h | 9 -
arch
for the
checksum r7 and r8 which contains pointers to error feedback are used,
so we stack them.
On a TCP benchmark using socklib on the loopback interface on which
checksum offload and scatter/gather have been deactivated, we get
about 20% performance increase.
Signed-off-by: Christophe Leroy
-
multiple constant length
* uses ip_fast_csum() for other 32bits multiple constant
* uses __csum_partial() in all other cases
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/checksum.h | 80 ++---
arch/powerpc/lib/checksum_32.S | 4 +-
arch/powerpc
n the value of bit 31 and bit 30 of r4 instead of anding r4 with 3
then proceding on comparisons and substractions.
Signed-off-by: Christophe Leroy
---
arch/powerpc/lib/checksum_32.S | 37 +
1 file changed, 17 insertions(+), 20 deletions(-)
diff --git a
h
and parallele execution)
Signed-off-by: Christophe Leroy
---
arch/powerpc/lib/checksum_32.S | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/lib/checksum_32.S b/arch/powerpc/lib/checksum_32.S
index 9c12602..0d34f47 100644
--- a/arch/powerpc/lib/checksum
Simplify csum_add(a, b) in case a or b is constant 0
Signed-off-by: Christophe Leroy
---
arch/powerpc/include/asm/checksum.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/arch/powerpc/include/asm/checksum.h
b/arch/powerpc/include/asm/checksum.h
index 56deea8..f8a9704 100644
--- a
lwz r31,12(r1)
c02d3e70: 7c 08 03 a6 mtlrr0
c02d3e74: 38 21 00 10 addir1,r1,16
c02d3e78: 4e 80 00 20 blr
Signed-off-by: Christophe Leroy
---
include/net/ip.h | 9 -
net/ipv4/ip_output.c | 8
2 files changed, 8 insertions(+), 9 deleti
We are not interested in interrupts for partially transmitted frames,
we have to clear BD_ENET_TX_INTR explicitly otherwise it may remain
from a previously used descriptor.
Signed-off-by: Christophe Leroy
---
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c | 3 ++-
1 file changed, 2
igned-off-by: Christophe Leroy
---
drivers/net/ethernet/freescale/fs_enet/mac-fec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
b/drivers/net/ethernet/freescale/fs_enet/mac-fec.c
index b34214e..016743e 100644
--- a/driver
Hello Herbert,
In commit "[NET]: Added GSO toggle"
37c3185a02d4b85fbe134bf5204535405dd2c957,
you force NETIF_F_HW_CSUM if GSO feature is selected.
By default, SW GSO is active as soon as a network board has NETIF_F_SG
feature.
This means that function sk_setup_caps() forces NETIF_F_HW_CSUM for
99 matches
Mail list logo