Re: [PATCH v3 1/4] soc: fsl: qmc: Only set completion interrupt when needed

2025-08-21 Thread Herve Codina
letion on submit for interruptless buffers. > > Signed-off-by: Christophe Leroy > --- > drivers/soc/fsl/qe/qmc.c | 44 ++-- > 1 file changed, 33 insertions(+), 11 deletions(-) > Acked-by: Herve Codina Best regards, Hervé

Re: [PATCH v3 2/4] ASoc: fsl: fsl_qmc_audio: Ensure audio channels are ordered in TDM bus

2025-08-21 Thread Herve Codina
o > frame, it is possible to re-order codecs on the TDM bus, no need to > mix up timeslots in channels. > > Signed-off-by: Christophe Leroy > --- > sound/soc/fsl/fsl_qmc_audio.c | 29 + > 1 file changed, 29 insertions(+) > Acked-by: Herve Codina Best regards, Hervé

Re: [PATCH v2 2/4] ASoc: fsl: fsl_qmc_audio: Ensure audio channels are ordered in TDM bus

2025-08-14 Thread Herve Codina
On Tue, 12 Aug 2025 12:50:56 +0200 Christophe Leroy wrote: > To reduce complexity of interrupt handling in following patch, ensure > audio channels are configured in the same order as timeslots on the > TDM bus. If we need a given ordering of audio sources in the audio > frame, it is possible to

Re: [PATCH v2 1/4] soc: fsl: qmc: Only set completion interrupt when needed

2025-08-14 Thread Herve Codina
Hi Christophe, On Wed, 13 Aug 2025 12:06:51 +0200 Herve Codina wrote: > Hi Christophe, > > On Tue, 12 Aug 2025 12:50:55 +0200 > Christophe Leroy wrote: > > > When no post-completion processing is expected, don't waste time > > handling useless interrupts. &

Re: [PATCH v2 2/4] ASoc: fsl: fsl_qmc_audio: Ensure audio channels are ordered in TDM bus

2025-08-13 Thread Herve Codina
Hi Christophe, On Tue, 12 Aug 2025 12:50:56 +0200 Christophe Leroy wrote: ... > @@ -879,6 +884,30 @@ static int qmc_audio_dai_parse(struct qmc_audio > *qmc_audio, struct device_node * > return -EINVAL; > } > } > + > +

Re: [PATCH v2 1/4] soc: fsl: qmc: Only set completion interrupt when needed

2025-08-13 Thread Herve Codina
Hi Christophe, On Tue, 12 Aug 2025 12:50:55 +0200 Christophe Leroy wrote: > When no post-completion processing is expected, don't waste time > handling useless interrupts. > > Only set QMC_BD_[R/T]X_I when a completion function is passed in, > and perform seamless completion on submit for inter

Re: [PATCH v2 3/4] ASoC: fsl: fsl_qmc_audio: Only request completion on last channel

2025-08-13 Thread Herve Codina
he QMC irq thread uses 16% CPU time with this > patch while it uses 26% CPU time without this patch. > > Signed-off-by: Christophe Leroy > --- > sound/soc/fsl/fsl_qmc_audio.c | 46 +------ > 1 file changed, 6 insertions(+), 40 deletions(-) > Acked-by:

Re: [PATCH v2 4/4] ASoc: fsl: fsl_qmc_audio: Drop struct qmc_dai_chan

2025-08-13 Thread Herve Codina
off-by: Christophe Leroy > --- > v2: New > --- > sound/soc/fsl/fsl_qmc_audio.c | 50 +-- > 1 file changed, 19 insertions(+), 31 deletions(-) Acked-by: Herve Codina Best regards, Hervé

Re: [PATCH 2/2] ASoC: fsl: fsl_qmc_audio: Only request completion on last channel

2025-05-09 Thread Herve Codina
On Fri, 9 May 2025 09:48:45 +0200 Christophe Leroy wrote: > In non-interleaved mode, several QMC channels are used in sync. > More details can be found in commit 188d9cae5438 ("ASoC: fsl: > fsl_qmc_audio: Add support for non-interleaved mode.") > At the time being, an interrupt is requested on e

Re: [PATCH 2/2] ASoC: fsl: fsl_qmc_audio: Only request completion on last channel

2025-05-09 Thread Herve Codina
Hi Christophe, On Fri, 9 May 2025 11:13:12 +0200 Christophe Leroy wrote: > Hi Hervé, > > Le 09/05/2025 à 10:45, Herve Codina a écrit : > > On Fri, 9 May 2025 09:48:45 +0200 > > Christophe Leroy wrote: > > > >> In non-interleaved mode, several QMC

Re: [PATCH 1/2] soc: fsl: qmc: Only set completion interrupt when needed

2025-05-09 Thread Herve Codina
Hi Christophe, On Fri, 9 May 2025 09:48:44 +0200 Christophe Leroy wrote: > When no post-completion processing is expected, don't waste time > handling useless interrupts. > > Only set QMC_BD_[R/T]X_I and QMC_BD_[R/T]X_UB when a completion > function is passed in. > > Signed-off-by: Christophe

[PATCH] ASoC: fsl: fsl_qmc_audio: Reset audio data pointers on TRIGGER_START event

2025-04-10 Thread Herve Codina
or the user-space and the driver are writing and reading the same area. Fix that resetting data pointers on each SNDRV_PCM_TRIGGER_START events. Fixes: 075c7125b11c ("ASoC: fsl: Add support for QMC audio") Cc: sta...@vger.kernel.org Signed-off-by: Herve Codina --- sound/soc/fsl/fsl_q

Re: [PATCH] ASoC: fsl: fsl_qmc_audio: Remove unnecessary bool conversions

2025-02-24 Thread Herve Codina
ff --git a/sound/soc/fsl/fsl_qmc_audio.c b/sound/soc/fsl/fsl_qmc_audio.c > index e257b8adafe0..b2979290c973 100644 > --- a/sound/soc/fsl/fsl_qmc_audio.c > +++ b/sound/soc/fsl/fsl_qmc_audio.c Acked-by: Herve Codina Best regards, Hervé

Re: [PATCH] soc: fsl: cpm1: qmc: Fix qmc_probe() warn missing error code ret

2024-11-20 Thread Herve Codina
Hi Pei, On Wed, 20 Nov 2024 17:38:20 +0800 Pei Xiao wrote: > platform_get_irq() may failed,but ret still equals to 0, > will cacuse qmc_probe() return 0 but fail. > > Reported-by: Dan Carpenter > Closes: https://lore.kernel.org/r/202411051350.kny6ziwa-...@intel.com/ > Fixes: 3178d58e0b97 ("soc

Re: [PATCH] soc: fsl: cpm1: tsa: switch to for_each_available_child_of_node_scoped()

2024-11-13 Thread Herve Codina
7;s refcount. > > Note that the device_node is declared within the macro, and its explicit > declaration can be dropped as well if it is not used anywhere else. > > Signed-off-by: Javier Carrasco > --- > drivers/soc/fsl/qe/tsa.c | 28 > 1 file ch

[PATCH] soc: fsl: cpm1: qmc: Set the ret error code on platform_get_irq() failure

2024-11-05 Thread Herve Codina
error code. Reported-by: kernel test robot Reported-by: Dan Carpenter Closes: https://lore.kernel.org/r/202411051350.kny6ziwa-...@intel.com/ Fixes: 3178d58e0b97 ("soc: fsl: cpm1: Add support for QMC") Cc: sta...@vger.kernel.org Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 +++

Re: [PATCH] soc: Switch back to struct platform_driver::remove()

2024-10-29 Thread Herve Codina
ace changes to make indention consistent. > > Signed-off-by: Uwe Kleine-König > --- ... > drivers/soc/fsl/qe/qmc.c| 2 +- > drivers/soc/fsl/qe/tsa.c| 2 +- Acked-by: Herve Codina # for fsl/qe/{qmc,tsa}.c Best regards, Hervé

[PATCH] ASoC: fsl: fsl_qmc_audio: Remove the logging when parsing channels

2024-10-03 Thread Herve Codina
On each channel parsing, a log message is issued. This log message is not needed and become annoying when many channels are used (up to 64 channel supported). Simply remove this unneeded log message. Signed-off-by: Herve Codina --- sound/soc/fsl/fsl_qmc_audio.c | 2 -- 1 file changed, 2

Re: Build regressions/improvements in v6.12-rc1

2024-09-30 Thread Herve Codina
Hi Geert, On Mon, 30 Sep 2024 17:11:09 +0200 (CEST) Geert Uytterhoeven wrote: > On Mon, 30 Sep 2024, Geert Uytterhoeven wrote: > > Below is the list of build error/warning regressions/improvements in > > v6.12-rc1[1] compared to v6.11[2]. ... powerpc-gcc13/ppc64_book3e_allmodconfig > > dri

Re: [PATCH] soc: fsl: cpm1: qmc: Do not use IS_ERR_VALUE() on error pointers

2024-09-30 Thread Herve Codina
3 insertions(+), 4 deletions(-) > Thanks for the patch. Works on my side, no regressions found on my MPC8321 system. Tested-by: Herve Codina And of course: Acked-by: Herve Codina Sorry for this mistake. Best regards, Hervé

[PATCH] soc: fsl: cpm1: qmc: Fix unused data compilation warning

2024-09-09 Thread Herve Codina
.ou2kfnko-...@intel.com/ Fixes: eb680d563089 ("soc: fsl: cpm1: qmc: Add support for QUICC Engine (QE) implementation") Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fs

[PATCH] soc: fsl: qe: ucc: Export ucc_mux_set_grant_tsa_bkpt

2024-09-05 Thread Herve Codina
es: https://lore.kernel.org/oe-kbuild-all/202409051409.fszn8reo-...@intel.com/ Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/ucc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/soc/fsl/qe/ucc.c b/drivers/soc/fsl/qe/ucc.c index 21dbcd787cd5..892aa5931d5b 100644 --- a/drivers/soc/fsl/qe/u

Re: [PATCH] soc: fsl: cpm1: qmc: Fix dependency on fsl_soc.h

2024-09-04 Thread Herve Codina
L_SOC. > > Reported-by: Stephen Rothwell > Closes: https://lore.kernel.org/lkml/20240904104859.020fe...@canb.auug.org.au/ > Fixes: 8655b76b7004 ("soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc > firmware") > Signed-off-by: Christophe Leroy Thanks for this patch! Acked-by: Herve Codina Best regards, Hervé

[PATCH v2 33/36] soc: fsl: qe: Add missing PUSHSCHED command

2024-08-08 Thread Herve Codina
that case. Simply add the missing command in the commands list available in the QE header file. Signed-off-by: Herve Codina --- include/soc/fsl/qe/qe.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/soc/fsl/qe/qe.h b/include/soc/fsl/qe/qe.h index 629835b6c71d..8f967d15e479 100644 --- a

[PATCH v2 32/36] soc: fsl: qe: Add resource-managed muram allocators

2024-08-08 Thread Herve Codina
be automatically freed on driver detach. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qe_common.c | 80 ++ include/soc/fsl/qe/qe.h| 22 +- 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/drivers/soc/fsl/qe/qe_common.c b

[PATCH v2 36/36] MAINTAINERS: Add QE files related to the Freescale QMC controller

2024-08-08 Thread Herve Codina
The Freescale QMC controller driver supports both QE and CPM1. Add the newly introduced QE files to the existing entry. Signed-off-by: Herve Codina --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 1d32d38f2247..1331bdeb7386 100644 --- a

[PATCH v2 27/36] soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version

2024-08-08 Thread Herve Codina
() for consistency to revert operations done in qmc_init_xcc(). Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 66 +++- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index

[PATCH v2 35/36] soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware

2024-08-08 Thread Herve Codina
The QUICC Engine (QE) QMC can use a firmware to have the QMC working in 'soft-qmc' mode. Handle this optional 'soft-qmc' firmware. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 67 1 file changed, 67 insertions(+) diff

[PATCH v2 34/36] soc: fsl: cpm1: qmc: Add support for QUICC Engine (QE) implementation

2024-08-08 Thread Herve Codina
, compared against the CPM QMC, this QE QMC does not use a fixed area for the UCC/SCC parameters area but it uses a dynamic area allocated and provided to the hardware at runtime. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/Kconfig | 9 +- drivers/soc/fsl/qe/qmc.c | 209

[PATCH v2 23/36] dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) QMC controller

2024-08-08 Thread Herve Codina
, compared against the CPM QMC, this QE QMC does not use a fixed area for the UCC/SCC parameters area but it uses a dynamic area allocated and provided to the hardware at runtime. Last point, the QE QMC can use a firmware to have the QMC working in 'soft-qmc' mode. Signed-off-by: He

[PATCH v2 31/36] soc: fsl: cpm1: qmc: Introduce qmc_version

2024-08-08 Thread Herve Codina
Current code handles the CPM1 version of QMC. In order to prepare the support for the QUICC Engine (QE) version of QMC, introduce qmc_version to identify versions. This will enable the code to make the distinction between several QMC implementations. Signed-off-by: Herve Codina --- drivers/soc

[PATCH v2 30/36] soc: fsl: cpm1: qmc: Rename SCC_GSMRL_MODE_QMC

2024-08-08 Thread Herve Codina
defined for the QMC mode is CPM1 specific. In order to prepare the support for the QE version, rename this bitfield value to clearly identify it as CPM1 specific. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH v2 29/36] soc: fsl: cpm1: qmc: Handle RPACK initialization

2024-08-08 Thread Herve Codina
initialization has no impact in the CPM1 version of QMC. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 272da250a763..63af2608c3cd 100644 --- a/drivers/soc/fsl/qe/qmc.c

[PATCH v2 28/36] soc: fsl: cpm1: qmc: Rename qmc_chan_command()

2024-08-08 Thread Herve Codina
Current code handles CPM1 version of QMC and qmc_chan_command() is clearly CPM1 specific. In order to prepare the support for the QUICC Engine (QE) version, rename qmc_chan_command() to reflect that point. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 6 +++--- 1 file changed, 3

[PATCH v2 26/36] soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version

2024-08-08 Thread Herve Codina
fined. In order to prepare the support for QE version, introduce qmc_init_resource() to initialize those resources and isolate the CPM1 specific operations in a specific function. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 47 ++-- 1 file c

[PATCH v2 25/36] soc: fsl: cpm1: qmc: Re-order probe() operations

2024-08-08 Thread Herve Codina
initializing resources. - Group SCC initialisation and do this initialization when it is really needed in the probe() sequence. Having the QE compatible sequence in the CPM1 version does not lead to any issue and works correctly without any regressions. Signed-off-by: Herve Codina --- drivers/soc

[PATCH v2 24/36] soc: fsl: cpm1: qmc: Introduce qmc_data structure

2024-08-08 Thread Herve Codina
, introduce the qmc_data structure to define these version specific values. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 69 ++-- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index

[PATCH v2 22/36] soc: fsl: cpm1: qmc: Add missing spinlock comment

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: spinlock_t definition without comment Add the missing comments. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c

[PATCH v2 21/36] soc: fsl: cpm1: qmc: Fix 'transmiter' typo

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: 'transmiter' may be misspelled - perhaps 'transmitter'? Indeed, fix it. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc

[PATCH v2 20/36] soc: fsl: cpm1: qmc: Remove unneeded parenthesis

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issue in several places CHECK: Unnecessary parenthesis around ... Remove them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe

[PATCH v2 19/36] soc: fsl: cpm1: qmc: Fix blank line and spaces

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issues CHECK: Please don't use multiple blank lines CHECK: Alignment should match open parenthesis Fix them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/dr

[PATCH v2 18/36] soc: fsl: cpm1: qmc: Use BIT(), GENMASK() and FIELD_PREP() macros

2024-08-08 Thread Herve Codina
checkpatch.pl signals the following improvement for qmc.c CHECK: Prefer using the BIT macro Follow its suggestion and convert the code to BIT() and related macros. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 132 +-- 1 file changed, 72

[PATCH v2 17/36] soc: fsl: cpm1: qmc: Rename QMC_TSA_MASK

2024-08-08 Thread Herve Codina
QMC_TSA_MASK is a bitfield. The value defined is a specific value of this bitfield and correspond to the use of 8bit resolution for the routing entry. Be accurate and rename the defined constant to reflect this point. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 8 1

[PATCH v2 16/36] soc: fsl: cpm1: tsa: Introduce tsa_serial_get_num()

2024-08-08 Thread Herve Codina
TSA consumers in CPM1 implementation don't need to know about the serial device number used by the TSA component. In QUICC Engine implementation, this information is needed. Improve the TSA API with tsa_serial_get_num() in order to provide this information. Signed-off-by: Herve C

[PATCH v2 15/36] MAINTAINERS: Add QE files related to the Freescale TSA controller

2024-08-08 Thread Herve Codina
The Freescale TSA controller driver supports both QE and CPM1. Add the newly introduced QE files to the existing entry. Signed-off-by: Herve Codina --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 42decde38320..1d32d38f2247 100644 --- a

[PATCH v2 14/36] soc: fsl: cpm1: tsa: Add support for QUICC Engine (QE) implementation

2024-08-08 Thread Herve Codina
against the CPM1 TSA, this QE TSA can handle up to 4 TDMs instead of 2 and allows to configure the logic level of sync signals. At a lower level, compared against CPM TSA implementation, some registers are slightly different even if same features are present. Signed-off-by: Herve Codina

[PATCH v2 13/36] soc: fsl: cpm1: tsa: Introduce tsa_version

2024-08-08 Thread Herve Codina
Current code handles CPM1 version of TSA. In order to prepare the support for the QUICC Engine (QE) version of TSA, introduce tsa_version to identify versions. This will enable the code to make the distinction between several TSA implementations. Signed-off-by: Herve Codina --- drivers/soc/fsl

[PATCH v2 12/36] soc: fsl: cpm1: tsa: Isolate specific CPM1 part from tsa_serial_{dis}connect()

2024-08-08 Thread Herve Codina
QE version, clearly identify SICR register as specific to CPM1 and isolate its handling done in connect and disconnect functions. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 103 --- 1 file changed, 43 insertions(+), 60 deletions(-) diff --git

[PATCH v2 11/36] soc: fsl: cpm1: tsa: Introduce tsa_setup() and its CPM1 compatible version

2024-08-08 Thread Herve Codina
as CPM1 compatible and isolate their handling in a CPM1 specific function. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 93 +++- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c

[PATCH v2 10/36] soc: fsl: cpm1: tsa: Make SIRAM entries specific to CPM1

2024-08-08 Thread Herve Codina
Current code handles the CPM1 version of TSA. Compared against QUICC Engine (QE) version of TSA, CPM1 SIRAM entries are slightly different. In order to prepare the support for the QE version, clearly identify these entries and functions handling them as CPM1 compatible. Signed-off-by: Herve

[PATCH v2 00/36] soc: fsl: Add support for QUICC Engine TSA and QMC

2024-08-08 Thread Herve Codina
ing device.h header for devres_* function declarations (issue detected by kernel test robots). - Other patches No changes Herve Codina (36): soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode soc: fsl: cpm1: qmc: Enable TRNSYNC only when needed soc: fsl: cpm1: tsa: Fix tsa_wr

[PATCH v2 02/36] soc: fsl: cpm1: qmc: Enable TRNSYNC only when needed

2024-08-08 Thread Herve Codina
The TRNSYNC feature is enabled whatever the number of time-slots used. The feature is needed only when more than one time-slot is used. Improve the driver enabling TRNSYNC only when it is needed. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 12 +++- 1 file changed, 11

[PATCH v2 06/36] soc: fsl: cpm1: tsa: Add missing spinlock comment

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: spinlock_t definition without comment Add the missing comment. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c

[PATCH v2 08/36] soc: fsl: cpm1: tsa: Remove unused registers offset definition

2024-08-08 Thread Herve Codina
SISTR, SICMR and SIRP registers offset definitions are not used. In order to avoid unneeded code, remove them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 9 - 1 file changed, 9 deletions(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c index

[PATCH v2 03/36] soc: fsl: cpm1: tsa: Fix tsa_write8()

2024-08-08 Thread Herve Codina
The tsa_write8() parameter is an u32 value. This is not consistent with the function itself. Indeed, tsa_write8() writes an 8bits value. Be consistent and use an u8 parameter value. Fixes: 1d4ba0b81c1c ("soc: fsl: cpm1: Add support for TSA") Cc: sta...@vger.kernel.org Signed-off-by: He

[PATCH v2 05/36] soc: fsl: cpm1: tsa: Fix blank line and spaces

2024-08-08 Thread Herve Codina
checkpatch.pl raises the following issues CHECK: Please don't use multiple blank lines CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) CHECK: spaces preferred around that '-' (ctx:VxV) Fix them. Signed

[PATCH v2 09/36] soc: fsl: cpm1: tsa: Use ARRAY_SIZE() instead of hardcoded integer values

2024-08-08 Thread Herve Codina
Loops handling the tdm array use hardcoded size and the initialization part uses hardcoded indexes to initialize the array. Use ARRAY_SIZE() to avoid the hardcoded size and initialize the array using a loop. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 8 1 file changed

[PATCH v2 07/36] dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) TSA controller

2024-08-08 Thread Herve Codina
against the CPM TSA, this QE TSA can handle up to 4 TDMs instead of 2 and allows to configure the logic level of sync signals. Signed-off-by: Herve Codina --- .../bindings/soc/fsl/cpm_qe/fsl,qe-tsa.yaml | 210 ++ include/dt-bindings/soc/qe-fsl,tsa.h | 13 ++ 2 files

[PATCH v2 01/36] soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode

2024-08-08 Thread Herve Codina
top()") Cc: sta...@vger.kernel.org Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 76bb496305a0..bacabf731dcb 100644 --- a/drivers/soc/fsl/qe/qmc

[PATCH v2 04/36] soc: fsl: cpm1: tsa: Use BIT(), GENMASK() and FIELD_PREP() macros

2024-08-08 Thread Herve Codina
checkpatch.pl signals the following improvement for tsa.c CHECK: Prefer using the BIT macro Follow its suggestion and convert the code to BIT() and related macros. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 127 +-- 1 file changed, 68

Re: [PATCH v1 23/36] dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) QMC controller

2024-08-04 Thread Herve Codina
Hi Rob, On Tue, 30 Jul 2024 13:36:35 -0600 Rob Herring wrote: ... > > + > > +patternProperties: > > + '^channel@([0-9]|[1-5][0-9]|6[0-3])$': > > Unit-addresses are typically in hex. I thought it was more related to the reg value. In our case, the reg value is just the channel number from 0

[PATCH net v1] net: wan: fsl_qmc_hdlc: Discard received CRC

2024-07-29 Thread Herve Codina
g Signed-off-by: Herve Codina --- drivers/net/wan/fsl_qmc_hdlc.c | 24 ++-- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/net/wan/fsl_qmc_hdlc.c b/drivers/net/wan/fsl_qmc_hdlc.c index 64b4bfa6fea7..8fcfbde31a1c 100644 --- a/drivers/net/wan/fsl_qmc_hdlc.

[PATCH net v1] net: wan: fsl_qmc_hdlc: Convert carrier_lock spinlock to a mutex

2024-07-29 Thread Herve Codina
er_set_carrier+0x30/0x98 Avoid the spinlock usage and convert carrier_lock to a mutex. Fixes: 54762918ca85 ("net: wan: fsl_qmc_hdlc: Add framer support") Cc: sta...@vger.kernel.org Signed-off-by: Herve Codina --- drivers/net/wan/fsl_qmc_hdlc.c | 7 --- 1 file changed, 4 insertions(

[PATCH v1 35/36] soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware

2024-07-29 Thread Herve Codina
The QUICC Engine (QE) QMC can use a firmware to have the QMC working in 'soft-qmc' mode. Handle this optional 'soft-qmc' firmware. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 67 1 file changed, 67 insertions(+) diff

[PATCH v1 22/36] soc: fsl: cpm1: qmc: Add missing spinlock comment

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: spinlock_t definition without comment Add the missing comments. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c

[PATCH v1 32/36] soc: fsl: qe: Add resource-managed muram allocators

2024-07-29 Thread Herve Codina
be automatically freed on driver detach. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qe_common.c | 79 ++ include/soc/fsl/qe/qe.h| 22 +- 2 files changed, 100 insertions(+), 1 deletion(-) diff --git a/drivers/soc/fsl/qe/qe_common.c b

[PATCH v1 18/36] soc: fsl: cpm1: qmc: Use BIT(), GENMASK() and FIELD_PREP() macros

2024-07-29 Thread Herve Codina
checkpatch.pl signals the following improvement for qmc.c CHECK: Prefer using the BIT macro Follow its suggestion and convert the code to BIT() and related macros. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 132 +-- 1 file changed, 72

[PATCH v1 29/36] soc: fsl: cpm1: qmc: Handle RPACK initialization

2024-07-29 Thread Herve Codina
initialization has no impact in the CPM1 version of QMC. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 272da250a763..63af2608c3cd 100644 --- a/drivers/soc/fsl/qe/qmc.c

[PATCH v1 27/36] soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version

2024-07-29 Thread Herve Codina
() for consistency to revert operations done in qmc_init_xcc(). Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 66 +++- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index

[PATCH v1 36/36] MAINTAINERS: Add QE files related to the Freescale QMC controller

2024-07-29 Thread Herve Codina
The Freescale QMC controller driver supports both QE and CPM1. Add the newly introduced QE files to the existing entry. Signed-off-by: Herve Codina --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 1d32d38f2247..1331bdeb7386 100644 --- a

[PATCH v1 34/36] soc: fsl: cpm1: qmc: Add support for QUICC Engine (QE) implementation

2024-07-29 Thread Herve Codina
, compared against the CPM QMC, this QE QMC does not use a fixed area for the UCC/SCC parameters area but it uses a dynamic area allocated and provided to the hardware at runtime. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/Kconfig | 9 +- drivers/soc/fsl/qe/qmc.c | 209

[PATCH v1 33/36] soc: fsl: qe: Add missing PUSHSCHED command

2024-07-29 Thread Herve Codina
that case. Simply add the missing command in the commands list available in the QE header file. Signed-off-by: Herve Codina --- include/soc/fsl/qe/qe.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/soc/fsl/qe/qe.h b/include/soc/fsl/qe/qe.h index 629835b6c71d..8f967d15e479 100644 --- a

[PATCH v1 31/36] soc: fsl: cpm1: qmc: Introduce qmc_version

2024-07-29 Thread Herve Codina
Current code handles the CPM1 version of QMC. In order to prepare the support for the QUICC Engine (QE) version of QMC, introduce qmc_version to identify versions. This will enable the code to make the distinction between several QMC implementations. Signed-off-by: Herve Codina --- drivers/soc

[PATCH v1 30/36] soc: fsl: cpm1: qmc: Rename SCC_GSMRL_MODE_QMC

2024-07-29 Thread Herve Codina
defined for the QMC mode is CPM1 specific. In order to prepare the support for the QE version, rename this bitfield value to clearly identify it as CPM1 specific. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH v1 28/36] soc: fsl: cpm1: qmc: Rename qmc_chan_command()

2024-07-29 Thread Herve Codina
Current code handles CPM1 version of QMC and qmc_chan_command() is clearly CPM1 specific. In order to prepare the support for the QUICC Engine (QE) version, rename qmc_chan_command() to reflect that point. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 6 +++--- 1 file changed, 3

[PATCH v1 25/36] soc: fsl: cpm1: qmc: Re-order probe() operations

2024-07-29 Thread Herve Codina
initializing resources. - Group SCC initialisation and do this initialization when it is really needed in the probe() sequence. Having the QE compatible sequence in the CPM1 version does not lead to any issue and works correctly without any regressions. Signed-off-by: Herve Codina --- drivers/soc

[PATCH v1 26/36] soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version

2024-07-29 Thread Herve Codina
fined. In order to prepare the support for QE version, introduce qmc_init_resource() to initialize those resources and isolate the CPM1 specific operations in a specific function. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 47 ++-- 1 file c

[PATCH v1 24/36] soc: fsl: cpm1: qmc: Introduce qmc_data structure

2024-07-29 Thread Herve Codina
, introduce the qmc_data structure to define these version specific values. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 69 ++-- 1 file changed, 46 insertions(+), 23 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index

[PATCH v1 23/36] dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) QMC controller

2024-07-29 Thread Herve Codina
, compared against the CPM QMC, this QE QMC does not use a fixed area for the UCC/SCC parameters area but it uses a dynamic area allocated and provided to the hardware at runtime. Last point, the QE QMC can use a firmware to have the QMC working in 'soft-qmc' mode. Signed-off-by: He

[PATCH v1 21/36] soc: fsl: cpm1: qmc: Fix 'transmiter' typo

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: 'transmiter' may be misspelled - perhaps 'transmitter'? Indeed, fix it. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc

[PATCH v1 20/36] soc: fsl: cpm1: qmc: Remove unneeded parenthesis

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issue in several places CHECK: Unnecessary parenthesis around ... Remove them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe

[PATCH v1 19/36] soc: fsl: cpm1: qmc: Fix blank line and spaces

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issues CHECK: Please don't use multiple blank lines CHECK: Alignment should match open parenthesis Fix them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/dr

[PATCH v1 17/36] soc: fsl: cpm1: qmc: Rename QMC_TSA_MASK

2024-07-29 Thread Herve Codina
QMC_TSA_MASK is a bitfield. The value defined is a specific value of this bitfield and correspond to the use of 8bit resolution for the routing entry. Be accurate and rename the defined constant to reflect this point. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 8 1

[PATCH v1 16/36] soc: fsl: cpm1: tsa: Introduce tsa_serial_get_num()

2024-07-29 Thread Herve Codina
TSA consumers in CPM1 implementation don't need to know about the serial device number used by the TSA component. In QUICC Engine implementation, this information is needed. Improve the TSA API with tsa_serial_get_num() in order to provide this information. Signed-off-by: Herve C

[PATCH v1 15/36] MAINTAINERS: Add QE files related to the Freescale TSA controller

2024-07-29 Thread Herve Codina
The Freescale TSA controller driver supports both QE and CPM1. Add the newly introduced QE files to the existing entry. Signed-off-by: Herve Codina --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 42decde38320..1d32d38f2247 100644 --- a

[PATCH v1 14/36] soc: fsl: cpm1: tsa: Add support for QUICC Engine (QE) implementation

2024-07-29 Thread Herve Codina
against the CPM1 TSA, this QE TSA can handle up to 4 TDMs instead of 2 and allows to configure the logic level of sync signals. At a lower level, compared against CPM TSA implementation, some registers are slightly different even if same features are present. Signed-off-by: Herve Codina

[PATCH v1 10/36] soc: fsl: cpm1: tsa: Make SIRAM entries specific to CPM1

2024-07-29 Thread Herve Codina
Current code handles the CPM1 version of TSA. Compared against QUICC Engine (QE) version of TSA, CPM1 SIRAM entries are slightly different. In order to prepare the support for the QE version, clearly identify these entries and functions handling them as CPM1 compatible. Signed-off-by: Herve

[PATCH v1 12/36] soc: fsl: cpm1: tsa: Isolate specific CPM1 part from tsa_serial_{dis}connect()

2024-07-29 Thread Herve Codina
QE version, clearly identify SICR register as specific to CPM1 and isolate its handling done in connect and disconnect functions. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 103 --- 1 file changed, 43 insertions(+), 60 deletions(-) diff --git

[PATCH v1 11/36] soc: fsl: cpm1: tsa: Introduce tsa_setup() and its CPM1 compatible version

2024-07-29 Thread Herve Codina
as CPM1 compatible and isolate their handling in a CPM1 specific function. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 93 +++- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c

[PATCH v1 13/36] soc: fsl: cpm1: tsa: Introduce tsa_version

2024-07-29 Thread Herve Codina
Current code handles CPM1 version of TSA. In order to prepare the support for the QUICC Engine (QE) version of TSA, introduce tsa_version to identify versions. This will enable the code to make the distinction between several TSA implementations. Signed-off-by: Herve Codina --- drivers/soc/fsl

[PATCH v1 09/36] soc: fsl: cpm1: tsa: Use ARRAY_SIZE() instead of hardcoded integer values

2024-07-29 Thread Herve Codina
Loops handling the tdm array use hardcoded size and the initialization part uses hardcoded indexes to initialize the array. Use ARRAY_SIZE() to avoid the hardcoded size and initialize the array using a loop. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 8 1 file changed

[PATCH v1 05/36] soc: fsl: cpm1: tsa: Fix blank line and spaces

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issues CHECK: Please don't use multiple blank lines CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) CHECK: spaces preferred around that '-' (ctx:VxV) Fix them. Signed

[PATCH v1 02/36] soc: fsl: cpm1: qmc: Enable TRNSYNC only when needed

2024-07-29 Thread Herve Codina
The TRNSYNC feature is enabled whatever the number of time-slots used. The feature is needed only when more than one time-slot is used. Improve the driver enabling TRNSYNC only when it is needed. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 12 +++- 1 file changed, 11

[PATCH v1 07/36] dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) TSA controller

2024-07-29 Thread Herve Codina
against the CPM TSA, this QE TSA can handle up to 4 TDMs instead of 2 and allows to configure the logic level of sync signals. Signed-off-by: Herve Codina --- .../bindings/soc/fsl/cpm_qe/fsl,qe-tsa.yaml | 212 ++ include/dt-bindings/soc/qe-fsl,tsa.h | 13 ++ 2 files

[PATCH v1 00/36] soc: fsl: Add support for QUICC Engine TSA and QMC

2024-07-29 Thread Herve Codina
+ MAINTAINERS update Best regards, Hervé Herve Codina (36): soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode soc: fsl: cpm1: qmc: Enable TRNSYNC only when needed soc: fsl: cpm1: tsa: Fix tsa_write8() soc: fsl: cpm1: tsa: Use BIT(), GENMASK() and FIELD_PREP() macros soc: fsl

[PATCH v1 08/36] soc: fsl: cpm1: tsa: Remove unused registers offset definition

2024-07-29 Thread Herve Codina
SISTR, SICMR and SIRP registers offset definitions are not used. In order to avoid unneeded code, remove them. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 9 - 1 file changed, 9 deletions(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c index

[PATCH v1 01/36] soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode

2024-07-29 Thread Herve Codina
top()") Cc: sta...@vger.kernel.org Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/qmc.c | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/soc/fsl/qe/qmc.c b/drivers/soc/fsl/qe/qmc.c index 76bb496305a0..bacabf731dcb 100644 --- a/drivers/soc/fsl/qe/qmc

[PATCH v1 06/36] soc: fsl: cpm1: tsa: Add missing spinlock comment

2024-07-29 Thread Herve Codina
checkpatch.pl raises the following issue CHECK: spinlock_t definition without comment Add the missing comment. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/fsl/qe/tsa.c b/drivers/soc/fsl/qe/tsa.c

[PATCH v1 03/36] soc: fsl: cpm1: tsa: Fix tsa_write8()

2024-07-29 Thread Herve Codina
The tsa_write8() parameter is an u32 value. This is not consistent with the function itself. Indeed, tsa_write8() writes an 8bits value. Be consistent and use an u8 parameter value. Fixes: 1d4ba0b81c1c ("soc: fsl: cpm1: Add support for TSA") Cc: sta...@vger.kernel.org Signed-off-by: He

[PATCH v1 04/36] soc: fsl: cpm1: tsa: Use BIT(), GENMASK() and FIELD_PREP() macros

2024-07-29 Thread Herve Codina
checkpatch.pl signals the following improvement for tsa.c CHECK: Prefer using the BIT macro Follow its suggestion and convert the code to BIT() and related macros. Signed-off-by: Herve Codina --- drivers/soc/fsl/qe/tsa.c | 127 +-- 1 file changed, 68

  1   2   3   4   5   6   7   >