[PATCH v3 RESEND 0/6] Add support for QMC HDLC

From: Herve Codina
Date: Mon Feb 12 2024 - 02:57:19 EST


Note: Resent this v3 series with missing maintainers added in CC.

This series introduces the QMC HDLC support.

Patches were previously sent as part of a full feature series and were
previously reviewed in that context:
"Add support for QMC HDLC, framer infrastructure and PEF2256 framer" [1]

In order to ease the merge, the full feature series has been split and
needed parts were merged in v6.8-rc1:
- "Prepare the PowerQUICC QMC and TSA for the HDLC QMC driver" [2]
- "Add support for framer infrastructure and PEF2256 framer" [3]

This series contains patches related to the QMC HDLC part (QMC HDLC
- Introduce the QMC HDLC driver (patches 1 and 2)
- Add timeslots change support in QMC HDLC (patch 3)
- Add framer support as a framer consumer in QMC HDLC (patch 4)

Compare to the original full feature series, a modification was done on
patch 3 in order to use a coherent prefix in the commit title.

I kept the patches unsquashed as they were previously sent and reviewed.
Of course, I can squash them if needed.

Compared to the previous iteration:
this v3 series:
- Remove 'inline' function specifier from .c file.
- Fixed a bug introduced in the previous iteration.
- Remove one lock/unlock sequence in the QMC HDCL xmit path.
- Use bitmap_from_u64().

Best regards,

[1]: https://lore.kernel.org/linux-kernel/20231115144007.478111-1-herve.codina@xxxxxxxxxxx/
[2]: https://lore.kernel.org/linux-kernel/20231205152116.122512-1-herve.codina@xxxxxxxxxxx/
[3]: https://lore.kernel.org/linux-kernel/20231128132534.258459-1-herve.codina@xxxxxxxxxxx/

Changes v2 -> v3
- Patch 1
Remove 'inline' function specifier from .c file.
Fix a bug introduced when added WARN_ONCE(). The warn condition must
be desc->skb (descriptor used) instead of !desc->skb.
Remove a lock/unlock section locking the entire qmc_hdlc_xmit()

- Patch 5
Use bitmap_from_u64() everywhere instead of bitmap_from_arr32() and

Changes v1 -> v2
- Patch 1
Use the same qmc_hdlc initialisation in qmc_hcld_recv_complete()
than the one present in qmc_hcld_xmit_complete().

- Patch 3 (new patch in v2)
Make bitmap_onto() available to users

- Patch 4 (new patch in v2)
Introduce bitmap_off()

- Patch 5 (patch 3 in v1)
Use bitmap_*() functions

- Patch 6 (patch 4 in v1)
No changes

Changes compare to the full feature series:
- Patch 3
Use 'net: wan: fsl_qmc_hdlc:' as commit title prefix

Patches extracted:
- Patch 1 : full feature series patch 7
- Patch 2 : full feature series patch 8
- Patch 3 : full feature series patch 20
- Patch 4 : full feature series patch 27

Herve Codina (6):
net: wan: Add support for QMC HDLC
MAINTAINERS: Add the Freescale QMC HDLC driver entry
bitmap: Make bitmap_onto() available to users
bitmap: Introduce bitmap_off()
net: wan: fsl_qmc_hdlc: Add runtime timeslots changes support
net: wan: fsl_qmc_hdlc: Add framer support

drivers/net/wan/Kconfig | 12 +
drivers/net/wan/Makefile | 1 +
drivers/net/wan/fsl_qmc_hdlc.c | 807 +++++++++++++++++++++++++++++++++
include/linux/bitmap.h | 3 +
lib/bitmap.c | 45 +-
6 files changed, 874 insertions(+), 1 deletion(-)
create mode 100644 drivers/net/wan/fsl_qmc_hdlc.c