Re: [PATCH v6 01/24] x86/mm: Define CONFIG_SPF

2018-01-15 Thread Laurent Dufour
Hi Thomas, Thanks for reviewing this series. On 12/01/2018 19:57, Thomas Gleixner wrote: > On Fri, 12 Jan 2018, Laurent Dufour wrote: > >> Introduce CONFIG_SPF which turns on the Speculative Page Fault handler when >> building for 64bits with SMP. >> >> Signed-off-by: Laurent Dufour

Re: DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread Joakim Tjernlund
On Thu, 1970-01-01 at 00:00 +, Madalin-cristian Bucur wrote: > CAUTION: This email originated from outside of the organization. Do not click > links or open attachments unless you recognize the sender and know the > content is safe. > > > > -Original Message- > > From: Linuxppc-dev

Re: [PATCH V2] powerpc/kernel: Add 'ibm, thread-groups' property for CPU allocation

2018-01-15 Thread Michael Bringmann
On 01/12/2018 08:33 PM, Michael Ellerman wrote: > Nathan Fontenot writes: ... >> >> One thing I don't see addressed in the comments or in the code is >> migration support. I think we need to update the thread group mask >> post-migration to reflect the threads per core

RE: DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread Madalin-cristian Bucur
> -Original Message- > From: Linuxppc-dev [mailto:linuxppc-dev- > bounces+madalin.bucur=nxp@lists.ozlabs.org] On Behalf Of mad skateman > Sent: Wednesday, January 10, 2018 10:39 PM > To: linuxppc-dev@lists.ozlabs.org > Subject: DPAA Ethernet traffice troubles with Linux kernel > > Hi

[PATCH for 4.16 02/10] powerpc: membarrier: Skip memory barrier in switch_mm() (v7)

2018-01-15 Thread Mathieu Desnoyers
Allow PowerPC to skip the full memory barrier in switch_mm(), and only issue the barrier when scheduling into a task belonging to a process that has registered to use expedited private. Threads targeting the same VM but which belong to different thread groups is a tricky case. It has a few

Re: [PATCH v3 16/17] ASoC: fsl_ssi: Move DT related code to a separate probe()

2018-01-15 Thread Maciej S. Szmigiero
On 15.01.2018 05:21, Nicolin Chen wrote: > This patch cleans up probe() function by moving all Device Tree > related code into a separate function. It allows the probe() to > be Device Tree independent. This will be very useful for future > integration of imx-ssi driver which has similar

DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread Christian Zigotzky
Hi All, I compiled the RC8 of kernel 4.15 with Joakim's patch for the AmigaOne X5000 today. Many thanks to Joakim for the mdio patch. Please test it on your X5000. Thanks, Christian On 15 January 2018 at 5:59PM, Joakim Tjernlund wrote: Hi, Please use text logs instead of pictures next

Re: DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread mad skateman
Hi All, I have been testing with the rc8 kernel as Christian sugested. At this moment still the same issues.. Here some of my finding... A dump of dmesg regarding the FSL_DPAA: [4.597949] libphy: Fixed MDIO Bus: probed [4.599095] libphy: Freescale PowerQUICC MII Bus: probed [

Re: [PATCH v3 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()

2018-01-15 Thread Maciej S. Szmigiero
On 15.01.2018 05:21, Nicolin Chen wrote: > The _fsl_ssi_set_dai_fmt() is a helper function being called from > fsl_ssi_set_dai_fmt() as an ASoC operation and fsl_ssi_hw_init() > mainly for AC97 format initialization. > > This patch cleans the _fsl_ssi_set_dai_fmt() in following ways: > * Removing

Re: [PATCH v6 16/24] mm: Protect mm_rb tree with a rwlock

2018-01-15 Thread Laurent Dufour
Hi Matthew, Thanks for reviewing this series. On 12/01/2018 19:48, Matthew Wilcox wrote: > On Fri, Jan 12, 2018 at 06:26:00PM +0100, Laurent Dufour wrote: >> -static void __vma_rb_erase(struct vm_area_struct *vma, struct rb_root *root) >> +static void __vma_rb_erase(struct vm_area_struct *vma,

Re: [PATCH v6 01/24] x86/mm: Define CONFIG_SPF

2018-01-15 Thread Laurent Dufour
On 15/01/2018 18:49, Thomas Gleixner wrote: > On Mon, 15 Jan 2018, Laurent Dufour wrote: >> On 12/01/2018 19:57, Thomas Gleixner wrote: >>> On Fri, 12 Jan 2018, Laurent Dufour wrote: >>> Introduce CONFIG_SPF which turns on the Speculative Page Fault handler when building for 64bits with

Re: [PATCH v3 00/17] ASoC: fsl_ssi: Clean up - program flow level

2018-01-15 Thread Caleb Crome
On Sun, Jan 14, 2018 at 8:21 PM, Nicolin Chen wrote: > ==Change log== > v3 > * Reworked the series by taking suggestions from Maciej > + Added PATCH-01 to make RX and TX more clearly defined > + Replaced "bool dir" with "int dir" in PATCH-04 > + Replaced "!dir" with

DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread Christian Zigotzky
Sorry, I have forgotten the download link. Please test it with the DPAA Ethernet. Hi All, I compiled the RC8 of kernel 4.15 with Joakim's patch for the AmigaOne X5000 today. Many thanks to Joakim for the mdio patch. Download: http://www.xenosoft.de/uImage-4.15-rc8_with_mdio_patch.tar.gz

Re: [PATCH v3 16/17] ASoC: fsl_ssi: Move DT related code to a separate probe()

2018-01-15 Thread Nicolin Chen
On Mon, Jan 15, 2018 at 10:16:39PM +0100, Maciej S. Szmigiero wrote: > > /* Check if being used in AC97 mode */ > > sprop = of_get_property(np, "fsl,mode", NULL); > > - if (sprop) { > > - if (!strcmp(sprop, "ac97-slave")) > > - ssi->dai_fmt =

Re: DPAA Ethernet traffice troubles with Linux kernel

2018-01-15 Thread mad skateman
Some extra info: When Ubuntu boots, Eth0 (192.168.22.44) is not brought up automaticly.. When i bring up eth0 by hand, its still not active.. root@X5000LNX:/home/skateman# ifconfig eth0 up root@X5000LNX:/home/skateman# ping 192.168.22.44 connect: Network is unreachable When i use mii-tool too

Re: [PATCH v6 01/24] x86/mm: Define CONFIG_SPF

2018-01-15 Thread Thomas Gleixner
On Mon, 15 Jan 2018, Laurent Dufour wrote: > On 12/01/2018 19:57, Thomas Gleixner wrote: > > On Fri, 12 Jan 2018, Laurent Dufour wrote: > > > >> Introduce CONFIG_SPF which turns on the Speculative Page Fault handler when > >> building for 64bits with SMP. > >> > >> Signed-off-by: Laurent Dufour

Re: [PATCH v3 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()

2018-01-15 Thread Nicolin Chen
On Mon, Jan 15, 2018 at 10:16:28PM +0100, Maciej S. Szmigiero wrote: > > * Removing TXBIT0 configurations since this bit is set to 1 as its > > reset value and there is no use case so far to unset it. And it > > is safe to remove since regmap_update_bits() won't touch it. > > I didn't get

Re: [PATCH] EDAC, mv64x60: Remove some code duplication

2018-01-15 Thread Christophe JAILLET
Le 15/01/2018 à 23:31, Michael Ellerman a écrit : Chris Packham writes: On 14/01/18 06:17, Christophe JAILLET wrote: Le 13/01/2018 à 15:22, Borislav Petkov a écrit : + Chris Packham who's been fixing some stuff in here too. On Sat, Jan 13, 2018 at

[PATCH] powerpc/8xx: do not select CONFIG_PPC_LIB_RHEAP

2018-01-15 Thread Christophe Leroy
Since commit 0e6e01ff694ee ("CPM/QE: use genalloc to manage CPM/QE muram"), rheap is not used anymore. Signed-off-by: Christophe Leroy --- arch/powerpc/platforms/Kconfig.cputype | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/powerpc/platforms/Kconfig.cputype

Re: consolidate direct dma mapping V4

2018-01-15 Thread Christoph Hellwig
I've pulled this into the dma-mapping for-next branch so that we get a few days exposure before then end of the merge window. If there is anything important (e.g. the powerpc naming issue) please send incremental patches.

Re: [PATCH v2] powerpc/npu: Cleanup MMIO ATSD flushing

2018-01-15 Thread Alistair Popple
Thanks Balbir, one question below. I have no way of testing this at present but it looks ok to me. Thanks! On Thursday, 14 December 2017 12:10:08 PM AEDT Balbir Singh wrote: > While reviewing the code I found that the flush assumes all > pages are of mmu_linear_psize, which is not correct. The

Re: [PATCH] powerpc/pseries: include linux/types.h in asm/hvcall.h

2018-01-15 Thread David Gibson
On Tue, Jan 16, 2018 at 02:16:58PM +1100, Michael Ellerman wrote: > Michal Suchanek writes: > > > Commit 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush > > settings") uses u64 in asm/hvcall.h without including linux/types.h > > > > This breaks hvcall.h users

Re: consolidate swiotlb dma_map implementations

2018-01-15 Thread Christoph Hellwig
I've pulled this into the dma-mapping for-next tree, including the missing free_pages noted. I'd be fine to rebase another day or two for additional reviews or important fixes.

[PATCH v4 03/17] ASoC: fsl_ssi: Clean up set_dai_tdm_slot()

2018-01-15 Thread Nicolin Chen
This patch replaces the register read with ssi->i2s_net for simplification. It also removes masking SSIEN from scr value since it's handled later by regmap_update_bits() to set this scr value back. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome ---

[PATCH v4 07/17] ASoC: fsl_ssi: Clean up helper functions of trigger()

2018-01-15 Thread Nicolin Chen
The trigger() calls fsl_ssi_tx_config() and fsl_ssi_rx_config(), and both of them jump to fsl_ssi_config(). And fsl_ssi_config() later calls another fsl_ssi_rxtx_config(). However, the whole routine, especially fsl_ssi_config() function, is too complicated because of the folowing reasons: 1) It

[PATCH v4 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()

2018-01-15 Thread Nicolin Chen
The _fsl_ssi_set_dai_fmt() is a helper function being called from fsl_ssi_set_dai_fmt() as an ASoC operation and fsl_ssi_hw_init() mainly for AC97 format initialization. This patch cleans the _fsl_ssi_set_dai_fmt() in following ways: * Removing *dev pointer in the parameters as it's included in

[PATCH v4 17/17] ASoC: fsl_ssi: Use ssi->streams instead of reading register

2018-01-15 Thread Nicolin Chen
Since ssi->streams is being updated along with SCR register and its SSIEN bit, it's simpler to use it instead. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- sound/soc/fsl/fsl_ssi.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-)

[PATCH v4 04/17] ASoC: fsl_ssi: Maintain a mask of active streams

2018-01-15 Thread Nicolin Chen
Checking TE and RE bits in SCR register doesn't work for AC97 mode which enables SSIEN, TE and RE in the fsl_ssi_setup_ac97() that's called during probe(). So when running into the trigger(), it will always get the result of both TE and RE being enabled already, even if actually there is no

[PATCH v4 08/17] ASoC: fsl_ssi: Add DAIFMT define for AC97

2018-01-15 Thread Nicolin Chen
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97 mode. However, it's not really necessary if AC97 has its complete format defined. So this patch adds a DAIFMT macro of complete format including a clock direction and polarity. Signed-off-by: Nicolin Chen

Re: DPAA Ethernet problems with mainstream Linux kernels

2018-01-15 Thread Darren Stevens
Hello Madalin-cristian On 15/01/2018, Madalin-cristian Bucur wrote: >> > The device tree that you mention, cyrus_p5020.eth.dts is not found in >> > the Linux kernel sources. The cyrus_p5020.dts file from the fsl ppc >> > device tree folder does not include the PHY information for the DPAA >> >

[PATCH v4 12/17] ASoC: fsl_ssi: Move one-time configurations to probe()

2018-01-15 Thread Nicolin Chen
The probe() could handle some one-time configurations since they will not be changed once being configured. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- Changelog v2 * Moved all to fsl_ssi_hw_init() in platform probe()

[PATCH v4 00/17] ASoC: fsl_ssi: Clean up - program flow level

2018-01-15 Thread Nicolin Chen
==Change log== v4 * Reworked the series by taking suggestions from Maciej + Added TXBIT0 bit back to play safe in PATCH-14 + Made bool synchronous exclusive with AC97 mode in PATCH-16 v3 * Reworked the series by taking suggestions from Maciej + Added PATCH-01 to make RX and TX more clearly

[PATCH v4 05/17] ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro

2018-01-15 Thread Nicolin Chen
The define of fsl_ssi_disable_val is not so clear as it mixes two steps of calculations together. And those parameter names are also a bit long to read. Since it just tries to exclude the shared bits from the regvals of current stream while the opposite stream is active, it's better to use

[PATCH v4 09/17] ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals()

2018-01-15 Thread Nicolin Chen
This patch cleans fsl_ssi_setup_regvals() by following changes: 1) Moving DBG bits to the first lines. 2) Setting SSIE, RE/TE as default and cleaning it for AC97 Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- sound/soc/fsl/fsl_ssi.c | 17

[PATCH v4 11/17] ASoC: fsl_ssi: Use snd_soc_init_dma_data instead

2018-01-15 Thread Nicolin Chen
Since there is a helper function, use it to help readability. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- sound/soc/fsl/fsl_ssi.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sound/soc/fsl/fsl_ssi.c

[PATCH v4 16/17] ASoC: fsl_ssi: Move DT related code to a separate probe()

2018-01-15 Thread Nicolin Chen
This patch cleans up probe() function by moving all Device Tree related code into a separate function. It allows the probe() to be Device Tree independent. This will be very useful for future integration of imx-ssi driver which has similar functionalities while exists only because it supports

[PATCH v3 00/10] posix_clocks: Prepare syscalls for 64 bit time_t conversion

2018-01-15 Thread Deepa Dinamani
The series is a preparation series for individual architectures to use 64 bit time_t syscalls in compat and 32 bit emulation modes. This is a follow up to the series Arnd Bergmann posted: https://sourceware.org/ml/libc-alpha/2015-05/msg00070.html [1] Big picture is as per the lwn article:

Re: [PATCH] EDAC, mv64x60: Remove some code duplication

2018-01-15 Thread Michael Ellerman
Chris Packham writes: > On 14/01/18 06:17, Christophe JAILLET wrote: >> Le 13/01/2018 à 15:22, Borislav Petkov a écrit : >>> + Chris Packham who's been fixing some stuff in here too. >>> >>> On Sat, Jan 13, 2018 at 08:28:21AM +0100, Christophe JAILLET wrote:

[PATCH v4 01/17] ASoC: fsl_ssi: Redefine RX and TX macros

2018-01-15 Thread Nicolin Chen
The RX and TX macros were defined implicitly and there was a potential risk if someone changes their values. Since they were defined to index the array ssi->regvals[2], this patch moves these two macros to fsl_ssi.c, closer to its owner ssi->regvals. And it also puts some comments here to limit

[PATCH v4 06/17] ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config()

2018-01-15 Thread Nicolin Chen
The FIFO clear helper function is just one line of code now. So it could be cleaned up by removing it and calling regmap directly. Meanwhile, FIFO clear could be applied to all use cases, not confined to AC97. So this patch also moves FIFO clear in the trigger() to fsl_ssi_config() and removes

[PATCH v4 13/17] ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init()

2018-01-15 Thread Nicolin Chen
AC97 configures most of registers earlier to start a communication with CODECs in order to successfully initialize CODEC. Currently, _fsl_ssi_set_dai_fmt() and fsl_ssi_setup_ac97() are called to get all SSI registers properly set. Since now the driver has a fsl_ssi_hw_init() to handle all

Re: [PATCH] powerpc/pseries: include linux/types.h in asm/hvcall.h

2018-01-15 Thread Michael Ellerman
Michal Suchanek writes: > Commit 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush > settings") uses u64 in asm/hvcall.h without including linux/types.h > > This breaks hvcall.h users that do not include the header themselves. > > Fixes: 6e032b350cd1

[PATCH v4 10/17] ASoC: fsl_ssi: Set xFEN0 and xFEN1 together

2018-01-15 Thread Nicolin Chen
It'd be safer to enable both FIFOs for TX or RX at the same time. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- sound/soc/fsl/fsl_ssi.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/fsl/fsl_ssi.c

[PATCH v4 15/17] ASoC: fsl_ssi: Add bool synchronous to mark synchronous mode

2018-01-15 Thread Nicolin Chen
Using symmetric_rates in the cpu_dai_drv is a bit implicit, so this patch adds a bool synchronous instead. Signed-off-by: Nicolin Chen Tested-by: Caleb Crome --- Changelog v3 * Removed all cpu_dai_drv changes in PATCH-15 sound/soc/fsl/fsl_ssi.c | 13

Re: [PATCH 3/5] powerpc: Reduce log level of "OPAL detected !" message

2018-01-15 Thread Stewart Smith
Benjamin Herrenschmidt writes: > This message isn't terribly useful. > > Signed-off-by: Benjamin Herrenschmidt Acked-by: Stewart Smith > --- a/arch/powerpc/platforms/powernv/opal.c > +++

[PATCH v4 02/17] ASoC: fsl_ssi: Keep ssi->i2s_net updated

2018-01-15 Thread Nicolin Chen
The hw_params() overwrites i2s_net settings for special cases like mono-channel support, however, it doesn't update ssi->i2s_net as set_dai_fmt() does. This patch removes the local i2s_net variable and directly updates ssi->i2s_net in the hw_params() so that the driver can simply look up the

[PATCH v3 02/10] include: Move compat_timespec/ timeval to compat_time.h

2018-01-15 Thread Deepa Dinamani
All the current architecture specific defines for these are the same. Refactor these common defines to a common header file. The new common linux/compat_time.h is also useful as it will eventually be used to hold all the defines that are needed for compat time types that support non y2038 safe

Re: [PATCH v10 13/17] powerpc/64s: Add support to mask perf interrupts and replay them

2018-01-15 Thread Nicholas Piggin
On Wed, 20 Dec 2017 09:25:53 +0530 Madhavan Srinivasan wrote: > Two new bit mask field "IRQ_DISABLE_MASK_PMU" is introduced to support > the masking of PMI and "IRQ_DISABLE_MASK_ALL" to aid interrupt masking > checking. > > Couple of new irq #defs "PACA_IRQ_PMI" and

[PATCH] powerpc/pseries: include linux/types.h in asm/hvcall.h

2018-01-15 Thread Michal Suchanek
Commit 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush settings") uses u64 in asm/hvcall.h without including linux/types.h This breaks hvcall.h users that do not include the header themselves. Fixes: 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush settings")

[PATCH v7 1/2] powerpc/powernv: Enable tunneled operations

2018-01-15 Thread Philippe Bergheaud
P9 supports PCI tunneled operations (atomics and as_notify). This patch adds support for tunneled operations on powernv, with a new API, to be called by device drivers: pnv_pci_get_tunnel_ind() Tell driver the 16-bit ASN indication used by kernel. pnv_pci_set_tunnel_bar() Tell kernel the

[PATCH v7 2/2] cxl: read PHB indications from the device tree

2018-01-15 Thread Philippe Bergheaud
Configure the P9 XSL_DSNCTL register with PHB indications found in the device tree, or else use legacy hard-coded values. Signed-off-by: Philippe Bergheaud --- Changelog: v2: New patch. Use the new device tree property "ibm,phb-indications". v3: No change. v4: No

Re: [PATCH] powerpc/xive: Properly use static keyword for inline function

2018-01-15 Thread Cédric Le Goater
On 12/26/2017 02:00 PM, Mathieu Malaterre wrote: > Fix fatal warning during compilation: > > In file included from arch/powerpc/xmon/xmon.c:54:0: > ./arch/powerpc/include/asm/xive.h:157:20: error: no previous prototype for > ‘xive_smp_prepare_cpu’ [-Werror=missing-prototypes] > extern inline

Re: [1/3] powerpc: Don't preempt_disable() in show_cpuinfo()

2018-01-15 Thread Michael Ellerman
On Wed, 2018-01-10 at 06:10:12 UTC, Benjamin Herrenschmidt wrote: > This causes warnings from cpufreq mutex code. This is also > rather unnecessary and ineffective. If we really want to > prevent concurrent unplug, we could take the unplug read > lock but I don't see this being critical. > >

Re: powerpc/xmon: Add RFI flush related fields to paca dump

2018-01-15 Thread Michael Ellerman
On Wed, 2018-01-10 at 13:28:56 UTC, Michael Ellerman wrote: > Signed-off-by: Michael Ellerman Applied to powerpc fixes. https://git.kernel.org/powerpc/c/274920a3ecd5f43af0cc380bc0a9ee cheers

Re: [1/2] powerpc/xive: Move definition of ESB bits

2018-01-15 Thread Michael Ellerman
On Fri, 2018-01-12 at 02:39:27 UTC, Benjamin Herrenschmidt wrote: > >From xive.h to xive-regs.h since it's a HW register definition > and it can be used from assembly > > Signed-off-by: Benjamin Herrenschmidt Series applied to topics/ppc-kvm, thanks.

Re: [PATCH 10/22] swiotlb: refactor coherent buffer allocation

2018-01-15 Thread Christoph Hellwig
On Wed, Jan 10, 2018 at 05:02:30PM +, Robin Murphy wrote: >>> >>> Aren't we leaking the pages here? >> >> Yes, that free_pages got lost somewhere in the rebases, I've added >> it back. > > Cool. FYI, here is the fixed version, I don't want to re-send the whole series for this fix:

Re: revamp vmem_altmap / dev_pagemap handling V3

2018-01-15 Thread Christoph Hellwig
On Mon, Jan 08, 2018 at 11:44:02AM -0800, Dan Williams wrote: > On Mon, Jan 8, 2018 at 3:26 AM, Christoph Hellwig wrote: > > Any chance to get this fully reviewed and picked up before the > > end of the merge window? > > I'm fine carrying these through the nvdimm tree, but I'd need

Re: powerpc/xmon: Don't print hashed pointers in paca dump

2018-01-15 Thread Michael Ellerman
On Wed, 2018-01-10 at 14:19:46 UTC, Michael Ellerman wrote: > Remember when the biggest problem we had to worry about was hashed > pointers, those were the days. > > These were missed in my earlier patch because they don't match "%p", > but the macro is hiding a "%p", so these all end up being

RE: DPAA Ethernet problems with mainstream Linux kernels

2018-01-15 Thread Madalin-cristian Bucur
> -Original Message- > From: Jamie Krueger [mailto:ja...@bitbybitsoftwaregroup.com] > Sent: Friday, January 12, 2018 6:36 PM > To: Madalin-cristian Bucur ; linuxppc- > d...@lists.ozlabs.org > Cc: net...@vger.kernel.org > Subject: Re: DPAA Ethernet problems with