<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/soc/fsl/qe, branch linux-6.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-10-04T14:33:26Z</updated>
<entry>
<title>soc: fsl: cpm1: tsa: Fix tsa_write8()</title>
<updated>2024-10-04T14:33:26Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2024-08-08T07:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2485d2d8ce636825571a94051d18840159aa1e7a'/>
<id>urn:sha1:2485d2d8ce636825571a94051d18840159aa1e7a</id>
<content type='text'>
commit 47a347bae9a491b467ab3543e4725a3e4fbe30f5 upstream.

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: stable@vger.kernel.org
Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20240808071132.149251-4-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Update TRNSYNC only in transparent mode</title>
<updated>2024-10-04T14:33:26Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2024-08-08T07:10:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=531704571a7ea18e8d94ab95b8ae9f51a3f87b46'/>
<id>urn:sha1:531704571a7ea18e8d94ab95b8ae9f51a3f87b46</id>
<content type='text'>
commit c3cc3e69b33fee3d276895e0e2d1a8fb37ea5d0e upstream.

The TRNSYNC feature is available (and enabled) only in transparent mode.

Since commit 7cc9bda9c163 ("soc: fsl: cpm1: qmc: Handle timeslot entries
at channel start() and stop()") TRNSYNC register is updated in
transparent and hdlc mode. In hdlc mode, the address of the TRNSYNC
register is used by the QMC for other internal purpose. Even if no weird
results were observed in hdlc mode, touching this register in this mode
is wrong.

Update TRNSYNC only in transparent mode.

Fixes: 7cc9bda9c163 ("soc: fsl: cpm1: qmc: Handle timeslot entries at channel start() and stop()")
Cc: stable@vger.kernel.org
Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20240808071132.149251-2-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Introduce functions to change timeslots at runtime</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a2ee1576dcc6bbe017a8283fba237b05b13fd15'/>
<id>urn:sha1:7a2ee1576dcc6bbe017a8283fba237b05b13fd15</id>
<content type='text'>
Introduce qmc_chan_{get,set}_ts_info() function to allow timeslots
modification at runtime.

The modification is provided using qmc_chan_set_ts_info() and will be
applied on next qmc_chan_start().
qmc_chan_set_ts_info() must be called with the channel rx and/or tx
stopped.

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-18-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Remove timeslots handling from setup_chan()</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d75119d08448cb94583467c01adb212b0728502'/>
<id>urn:sha1:0d75119d08448cb94583467c01adb212b0728502</id>
<content type='text'>
Timeslots setting is done at channel start() and stop().
There is no more need to do that during setup_chan().

Simply remove timeslot setting from setup_chan().

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-17-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Handle timeslot entries at channel start() and stop()</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7cc9bda9c163877255a61a052987ce6b85da1263'/>
<id>urn:sha1:7cc9bda9c163877255a61a052987ce6b85da1263</id>
<content type='text'>
In order to support runtime timeslot route changes, enable the
channel timeslot entries at channel start() and disable them at
channel stop().

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-16-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Introduce is_tsa_64rxtx flag</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e85feacc8156b230285040d82537c922cc15fe6'/>
<id>urn:sha1:0e85feacc8156b230285040d82537c922cc15fe6</id>
<content type='text'>
In order to support runtime timeslot route changes, some operations will
be different according the routing table used (common Rx and Tx table or
one table for Rx and one for Tx).

The is_tsa_64rxtx flag is introduced to avoid extra computation to
determine the table format each time we need it.
It is set once at initialization.

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-15-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Split Tx and Rx TSA entries setup</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32881b253c945ea1493abc18e25928808331f5df'/>
<id>urn:sha1:32881b253c945ea1493abc18e25928808331f5df</id>
<content type='text'>
The Tx and Rx entries for a given channel are set in one function.

In order to modify Rx entries and Tx entries independently of one other,
split this function in one for the Rx part and one for the Tx part.

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-14-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Add support for disabling channel TSA entries</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9217161115bfb76ae7b3b9e5a803f554a1c5e76a'/>
<id>urn:sha1:9217161115bfb76ae7b3b9e5a803f554a1c5e76a</id>
<content type='text'>
In order to allow runtime timeslot route changes, disabling channel TSA
entries needs to be supported.

Add support for this new feature.

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-13-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Check available timeslots in qmc_check_chans()</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2deea16bf187ad6e1f2a7b0d2fd0b1a4db0b1b7'/>
<id>urn:sha1:f2deea16bf187ad6e1f2a7b0d2fd0b1a4db0b1b7</id>
<content type='text'>
The timeslots checked in qmc_check_chans() are the timeslots used.
With the introduction of the available timeslots, the used timeslots
are a subset of the available timeslots. The timeslots checked during
the qmc_check_chans() call should be the available ones.

Simply update and check the available timeslots instead of the used
timeslots in qmc_check_chans().

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-12-herve.codina@bootlin.com
</content>
</entry>
<entry>
<title>soc: fsl: cpm1: qmc: Remove no more needed checks from qmc_check_chans()</title>
<updated>2023-12-12T09:29:20Z</updated>
<author>
<name>Herve Codina</name>
</author>
<published>2023-12-05T15:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1891c13645b67c9cd2c661a693b9b6b56b87e80'/>
<id>urn:sha1:b1891c13645b67c9cd2c661a693b9b6b56b87e80</id>
<content type='text'>
The newly introduced qmc_chan_setup_tsa* functions check that the
channel entries are not already used.
These checks are also performed by qmc_check_chans() and are no more
needed.

Remove them from qmc_check_chans().

Signed-off-by: Herve Codina &lt;herve.codina@bootlin.com&gt;
Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Link: https://lore.kernel.org/r/20231205152116.122512-11-herve.codina@bootlin.com
</content>
</entry>
</feed>
