linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V4 00/15 net-next] qca_spi: collection of improvements
@ 2024-01-28 20:10 Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 01/15 net-next] qca_spi: Add check for kthread_stop Stefan Wahren
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel, Stefan Wahren

This series contains a wild collection of improvements for the
qca_spi driver. This is a follow-up series to the recent bugfixes [1].

Patch 1, 2 & 3 in this series is the initially intended rework of
netdev_open/close. Patch 4 & 10 are minor functional improvements and
the rest is clean-up.

Changes in V4:
- keep thread handling in netdev_open, but improve this by two
  separate patches ( 1 & 2 )
- add missing link to bugfix series

Changes in V3:
- rebase on net-next-20240124
- improve commit message in Patch 8
- add Reviewed-by's from Jacob Keller
- add Patch 13 for mailmap as suggested by Jacob
- add Patch 14 for MAINTAINERS entry

Changes in V2:
- rebase on net-next-20231218
- improve cover letter

[1] - https://lore.kernel.org/netdev/20231206141222.52029-1-wahrenst@gmx.net/

Stefan Wahren (15):
  qca_spi: Add check for kthread_stop
  qca_spi: Improve SPI thread creation
  qca_spi: Improve SPI IRQ handling
  qca_spi: Avoid skb_copy_expand in TX path
  qca_7k_common: Drop unnecessary function description
  qca_7k_common: Drop unused len from qcafrm_handle
  qca_spi: Add QCASPI prefix to ring defines
  qca_spi: Introduce QCASPI_RX_MAX_FRAMES
  qca_spi: Improve calculation of RX buffer size
  qca_spi: Log expected signature in error case
  qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA
  qca_7k: Replace BSD boilerplate with SPDX
  qca_7k: Replace old mail address
  mailmap: add entry for Stefan Wahren
  MAINTAINERS: add entry for qca7k driver(s)

 .mailmap                                      |  1 +
 MAINTAINERS                                   |  7 ++
 drivers/net/ethernet/qualcomm/qca_7k.c        | 17 +----
 drivers/net/ethernet/qualcomm/qca_7k.h        | 16 +----
 drivers/net/ethernet/qualcomm/qca_7k_common.c | 17 +----
 drivers/net/ethernet/qualcomm/qca_7k_common.h | 29 +-------
 drivers/net/ethernet/qualcomm/qca_debug.c     | 21 ++----
 drivers/net/ethernet/qualcomm/qca_debug.h     | 15 +---
 drivers/net/ethernet/qualcomm/qca_spi.c       | 71 +++++++++----------
 drivers/net/ethernet/qualcomm/qca_spi.h       | 22 ++----
 drivers/net/ethernet/qualcomm/qca_uart.c      | 17 +----
 11 files changed, 58 insertions(+), 175 deletions(-)

--
2.34.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH V4 01/15 net-next] qca_spi: Add check for kthread_stop
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 02/15 net-next] qca_spi: Improve SPI thread creation Stefan Wahren
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel, Stefan Wahren

We better not rely on that spi_thread points to a running
thread. So add an check for this.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 5f3c11fb3fa2..77bab8bf5203 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -730,8 +730,10 @@ qcaspi_netdev_close(struct net_device *dev)
 	qcaspi_write_register(qca, SPI_REG_INTR_ENABLE, 0, wr_verify);
 	free_irq(qca->spi_dev->irq, qca);

-	kthread_stop(qca->spi_thread);
-	qca->spi_thread = NULL;
+	if (qca->spi_thread) {
+		kthread_stop(qca->spi_thread);
+		qca->spi_thread = NULL;
+	}
 	qcaspi_flush_tx_ring(qca);

 	return 0;
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 02/15 net-next] qca_spi: Improve SPI thread creation
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 01/15 net-next] qca_spi: Add check for kthread_stop Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 03/15 net-next] qca_spi: Improve SPI IRQ handling Stefan Wahren
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel, Stefan Wahren

Directly storing the result of kthread_run within the private
driver data makes it harder to identify if the pointer has a
running thread or not. So better use a local variable for
the result check and we don't have to care about error pointer
in the rest of the code.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 77bab8bf5203..fe50c2dd7cc8 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -687,6 +687,7 @@ static int
 qcaspi_netdev_open(struct net_device *dev)
 {
 	struct qcaspi *qca = netdev_priv(dev);
+	struct task_struct *thread;
 	int ret = 0;

 	if (!qca)
@@ -697,15 +698,17 @@ qcaspi_netdev_open(struct net_device *dev)
 	qca->sync = QCASPI_SYNC_UNKNOWN;
 	qcafrm_fsm_init_spi(&qca->frm_handle);

-	qca->spi_thread = kthread_run((void *)qcaspi_spi_thread,
-				      qca, "%s", dev->name);
+	thread = kthread_run((void *)qcaspi_spi_thread,
+			     qca, "%s", dev->name);

-	if (IS_ERR(qca->spi_thread)) {
+	if (IS_ERR(thread)) {
 		netdev_err(dev, "%s: unable to start kernel thread.\n",
 			   QCASPI_DRV_NAME);
-		return PTR_ERR(qca->spi_thread);
+		return PTR_ERR(thread);
 	}

+	qca->spi_thread = thread;
+
 	ret = request_irq(qca->spi_dev->irq, qcaspi_intr_handler, 0,
 			  dev->name, qca);
 	if (ret) {
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 03/15 net-next] qca_spi: Improve SPI IRQ handling
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 01/15 net-next] qca_spi: Add check for kthread_stop Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 02/15 net-next] qca_spi: Improve SPI thread creation Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 04/15 net-next] qca_spi: Avoid skb_copy_expand in TX path Stefan Wahren
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

The functions qcaspi_netdev_open/close are responsible of request &
free of the SPI interrupt, which wasn't the best choice because
allocation problems are discovered not during probe. So let us split
IRQ allocation & enabling, so we can take advantage of a device
managed IRQ.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index fe50c2dd7cc8..3f7e38a11ba0 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -688,7 +688,6 @@ qcaspi_netdev_open(struct net_device *dev)
 {
 	struct qcaspi *qca = netdev_priv(dev);
 	struct task_struct *thread;
-	int ret = 0;

 	if (!qca)
 		return -EINVAL;
@@ -709,14 +708,7 @@ qcaspi_netdev_open(struct net_device *dev)

 	qca->spi_thread = thread;

-	ret = request_irq(qca->spi_dev->irq, qcaspi_intr_handler, 0,
-			  dev->name, qca);
-	if (ret) {
-		netdev_err(dev, "%s: unable to get IRQ %d (irqval=%d).\n",
-			   QCASPI_DRV_NAME, qca->spi_dev->irq, ret);
-		kthread_stop(qca->spi_thread);
-		return ret;
-	}
+	enable_irq(qca->spi_dev->irq);

 	/* SPI thread takes care of TX queue */

@@ -731,7 +723,7 @@ qcaspi_netdev_close(struct net_device *dev)
 	netif_stop_queue(dev);

 	qcaspi_write_register(qca, SPI_REG_INTR_ENABLE, 0, wr_verify);
-	free_irq(qca->spi_dev->irq, qca);
+	disable_irq(qca->spi_dev->irq);

 	if (qca->spi_thread) {
 		kthread_stop(qca->spi_thread);
@@ -989,6 +981,15 @@ qca_spi_probe(struct spi_device *spi)

 	spi_set_drvdata(spi, qcaspi_devs);

+	ret = devm_request_irq(&spi->dev, spi->irq, qcaspi_intr_handler,
+			       IRQF_NO_AUTOEN, qca->net_dev->name, qca);
+	if (ret) {
+		dev_err(&spi->dev, "Unable to get IRQ %d (irqval=%d).\n",
+			spi->irq, ret);
+		free_netdev(qcaspi_devs);
+		return ret;
+	}
+
 	ret = of_get_ethdev_address(spi->dev.of_node, qca->net_dev);
 	if (ret) {
 		eth_hw_addr_random(qca->net_dev);
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 04/15 net-next] qca_spi: Avoid skb_copy_expand in TX path
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (2 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 03/15 net-next] qca_spi: Improve SPI IRQ handling Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 05/15 net-next] qca_7k_common: Drop unnecessary function description Stefan Wahren
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

The skb spare room needs to be expanded for SPI header, footer
and possible padding within the TX path. So announce the necessary
space in order to avoid expensive skb_copy_expand calls.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 3f7e38a11ba0..5fabb40cca05 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -878,6 +878,8 @@ qcaspi_netdev_setup(struct net_device *dev)
 	qcaspi_set_ethtool_ops(dev);
 	dev->watchdog_timeo = QCASPI_TX_TIMEOUT;
 	dev->priv_flags &= ~IFF_TX_SKB_SHARING;
+	dev->needed_tailroom = ALIGN(QCAFRM_FOOTER_LEN + QCAFRM_MIN_LEN, 4);
+	dev->needed_headroom = ALIGN(QCAFRM_HEADER_LEN, 4);
 	dev->tx_queue_len = 100;

 	/* MTU range: 46 - 1500 */
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 05/15 net-next] qca_7k_common: Drop unnecessary function description
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (3 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 04/15 net-next] qca_spi: Avoid skb_copy_expand in TX path Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 06/15 net-next] qca_7k_common: Drop unused len from qcafrm_handle Stefan Wahren
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

qcafrm_fsm_decode has the almost the same function description in
qca_7k_common.c. So drop the comment here.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_7k_common.h | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_7k_common.h b/drivers/net/ethernet/qualcomm/qca_7k_common.h
index 928554f11e35..71bdf5d9f8d7 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k_common.h
+++ b/drivers/net/ethernet/qualcomm/qca_7k_common.h
@@ -128,17 +128,6 @@ static inline void qcafrm_fsm_init_uart(struct qcafrm_handle *handle)
 	handle->state = handle->init;
 }

-/*   Gather received bytes and try to extract a full Ethernet frame
- *   by following a simple state machine.
- *
- * Return:   QCAFRM_GATHER       No Ethernet frame fully received yet.
- *           QCAFRM_NOHEAD       Header expected but not found.
- *           QCAFRM_INVLEN       QCA7K frame length is invalid
- *           QCAFRM_NOTAIL       Footer expected but not found.
- *           > 0                 Number of byte in the fully received
- *                               Ethernet frame
- */
-
 s32 qcafrm_fsm_decode(struct qcafrm_handle *handle, u8 *buf, u16 buf_len, u8 recv_byte);

 #endif /* _QCA_FRAMING_H */
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 06/15 net-next] qca_7k_common: Drop unused len from qcafrm_handle
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (4 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 05/15 net-next] qca_7k_common: Drop unnecessary function description Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 07/15 net-next] qca_spi: Add QCASPI prefix to ring defines Stefan Wahren
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

This member is never used. So drop it.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_7k_common.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_7k_common.h b/drivers/net/ethernet/qualcomm/qca_7k_common.h
index 71bdf5d9f8d7..088cca7f61db 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k_common.h
+++ b/drivers/net/ethernet/qualcomm/qca_7k_common.h
@@ -107,9 +107,6 @@ struct qcafrm_handle {

 	/* Offset in buffer (borrowed for length too) */
 	u16 offset;
-
-	/* Frame length as kept by this module */
-	u16 len;
 };

 u16 qcafrm_create_header(u8 *buf, u16 len);
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 07/15 net-next] qca_spi: Add QCASPI prefix to ring defines
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (5 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 06/15 net-next] qca_7k_common: Drop unused len from qcafrm_handle Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 08/15 net-next] qca_spi: Introduce QCASPI_RX_MAX_FRAMES Stefan Wahren
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

All defines in qca_spi.h except of the two ring limit defines have
a QCASPI prefix. Since the name is quite generic add the QCASPI prefix
to avoid possible name conflicts.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_debug.c | 6 +++---
 drivers/net/ethernet/qualcomm/qca_spi.c   | 4 ++--
 drivers/net/ethernet/qualcomm/qca_spi.h   | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_debug.c b/drivers/net/ethernet/qualcomm/qca_debug.c
index 1822f2ad8f0d..857883d0b5ed 100644
--- a/drivers/net/ethernet/qualcomm/qca_debug.c
+++ b/drivers/net/ethernet/qualcomm/qca_debug.c
@@ -255,7 +255,7 @@ qcaspi_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ring,
 	struct qcaspi *qca = netdev_priv(dev);

 	ring->rx_max_pending = QCASPI_RX_MAX_FRAMES;
-	ring->tx_max_pending = TX_RING_MAX_LEN;
+	ring->tx_max_pending = QCASPI_TX_RING_MAX_LEN;
 	ring->rx_pending = QCASPI_RX_MAX_FRAMES;
 	ring->tx_pending = qca->txr.count;
 }
@@ -275,8 +275,8 @@ qcaspi_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ring,
 	if (qca->spi_thread)
 		kthread_park(qca->spi_thread);

-	qca->txr.count = max_t(u32, ring->tx_pending, TX_RING_MIN_LEN);
-	qca->txr.count = min_t(u16, qca->txr.count, TX_RING_MAX_LEN);
+	qca->txr.count = max_t(u32, ring->tx_pending, QCASPI_TX_RING_MIN_LEN);
+	qca->txr.count = min_t(u16, qca->txr.count, QCASPI_TX_RING_MAX_LEN);

 	if (qca->spi_thread)
 		kthread_unpark(qca->spi_thread);
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 5fabb40cca05..f53438c4aea2 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -476,7 +476,7 @@ qcaspi_flush_tx_ring(struct qcaspi *qca)
 	 * has been replaced by netif_tx_lock_bh() and so on.
 	 */
 	netif_tx_lock_bh(qca->net_dev);
-	for (i = 0; i < TX_RING_MAX_LEN; i++) {
+	for (i = 0; i < QCASPI_TX_RING_MAX_LEN; i++) {
 		if (qca->txr.skb[i]) {
 			dev_kfree_skb(qca->txr.skb[i]);
 			qca->txr.skb[i] = NULL;
@@ -890,7 +890,7 @@ qcaspi_netdev_setup(struct net_device *dev)
 	memset(qca, 0, sizeof(struct qcaspi));

 	memset(&qca->txr, 0, sizeof(qca->txr));
-	qca->txr.count = TX_RING_MAX_LEN;
+	qca->txr.count = QCASPI_TX_RING_MAX_LEN;
 }

 static const struct of_device_id qca_spi_of_match[] = {
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h
index 3067356106f0..dcecb072b8eb 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.h
+++ b/drivers/net/ethernet/qualcomm/qca_spi.h
@@ -39,8 +39,8 @@

 #define QCASPI_GOOD_SIGNATURE 0xAA55

-#define TX_RING_MAX_LEN 10
-#define TX_RING_MIN_LEN 2
+#define QCASPI_TX_RING_MAX_LEN 10
+#define QCASPI_TX_RING_MIN_LEN 2

 /* sync related constants */
 #define QCASPI_SYNC_UNKNOWN 0
@@ -54,7 +54,7 @@
 #define QCASPI_EVENT_CPUON  1

 struct tx_ring {
-	struct sk_buff *skb[TX_RING_MAX_LEN];
+	struct sk_buff *skb[QCASPI_TX_RING_MAX_LEN];
 	u16 head;
 	u16 tail;
 	u16 size;
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 08/15 net-next] qca_spi: Introduce QCASPI_RX_MAX_FRAMES
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (6 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 07/15 net-next] qca_spi: Add QCASPI prefix to ring defines Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 09/15 net-next] qca_spi: Improve calculation of RX buffer size Stefan Wahren
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

Currently qca_spi reserves enough space for 4 complete Ethernet over SPI
frames in the receive buffer. Unfortunately this is hidden under a magic
number. So replace it with a more self explaining define.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 2 +-
 drivers/net/ethernet/qualcomm/qca_spi.h | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index f53438c4aea2..c0f6bd3d331a 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -829,7 +829,7 @@ qcaspi_netdev_init(struct net_device *dev)
 	qca->burst_len = qcaspi_burst_len;
 	qca->spi_thread = NULL;
 	qca->buffer_size = (dev->mtu + VLAN_ETH_HLEN + QCAFRM_HEADER_LEN +
-		QCAFRM_FOOTER_LEN + 4) * 4;
+		QCAFRM_FOOTER_LEN + 4) * QCASPI_RX_MAX_FRAMES;

 	memset(&qca->stats, 0, sizeof(struct qcaspi_stats));

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h
index dcecb072b8eb..f735ad77402f 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.h
+++ b/drivers/net/ethernet/qualcomm/qca_spi.h
@@ -41,6 +41,7 @@

 #define QCASPI_TX_RING_MAX_LEN 10
 #define QCASPI_TX_RING_MIN_LEN 2
+#define QCASPI_RX_MAX_FRAMES 4

 /* sync related constants */
 #define QCASPI_SYNC_UNKNOWN 0
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 09/15 net-next] qca_spi: Improve calculation of RX buffer size
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (7 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 08/15 net-next] qca_spi: Introduce QCASPI_RX_MAX_FRAMES Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 10/15 net-next] qca_spi: Log expected signature in error case Stefan Wahren
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

There are two points with the calculation of RX buffer size which are
not optimal:
1. dev->mtu is a mutual parameter and it's currently initialized with
   QCAFRM_MAX_MTU. But for RX buffer size calculation we always need the
   maximum possible MTU. So better use the define directly.
2. This magic number 4 represent the hardware generated frame length
   which is specific to SPI. We better replace this with the suitable
   define.

There is no functional change.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index c0f6bd3d331a..b35fabcd488b 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -828,8 +828,8 @@ qcaspi_netdev_init(struct net_device *dev)
 	qca->clkspeed = qcaspi_clkspeed;
 	qca->burst_len = qcaspi_burst_len;
 	qca->spi_thread = NULL;
-	qca->buffer_size = (dev->mtu + VLAN_ETH_HLEN + QCAFRM_HEADER_LEN +
-		QCAFRM_FOOTER_LEN + 4) * QCASPI_RX_MAX_FRAMES;
+	qca->buffer_size = (QCAFRM_MAX_MTU + VLAN_ETH_HLEN + QCAFRM_HEADER_LEN +
+		QCAFRM_FOOTER_LEN + QCASPI_HW_PKT_LEN) * QCASPI_RX_MAX_FRAMES;

 	memset(&qca->stats, 0, sizeof(struct qcaspi_stats));

--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 10/15 net-next] qca_spi: Log expected signature in error case
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (8 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 09/15 net-next] qca_spi: Improve calculation of RX buffer size Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 11/15 net-next] qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA Stefan Wahren
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

Most of the users doesn't know the expected signature of the QCA700x.
So provide it within the error message. Btw use lowercase for hex as
in the rest of the driver.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index b35fabcd488b..d2d68c20b32c 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -1006,8 +1006,8 @@ qca_spi_probe(struct spi_device *spi)
 		qcaspi_read_register(qca, SPI_REG_SIGNATURE, &signature);

 		if (signature != QCASPI_GOOD_SIGNATURE) {
-			dev_err(&spi->dev, "Invalid signature (0x%04X)\n",
-				signature);
+			dev_err(&spi->dev, "Invalid signature (expected 0x%04x, read 0x%04x)\n",
+				QCASPI_GOOD_SIGNATURE, signature);
 			free_netdev(qcaspi_devs);
 			return -EFAULT;
 		}
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 11/15 net-next] qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (9 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 10/15 net-next] qca_spi: Log expected signature in error case Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 12/15 net-next] qca_7k: Replace BSD boilerplate with SPDX Stefan Wahren
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Jacob Keller

All known SPI registers of the QCA700x are 16 bit long. So adjust
the formater width accordingly.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index d2d68c20b32c..ca8c0596a992 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -359,7 +359,7 @@ qcaspi_receive(struct qcaspi *qca)
 	/* Read the packet size. */
 	qcaspi_read_register(qca, SPI_REG_RDBUF_BYTE_AVA, &available);

-	netdev_dbg(net_dev, "qcaspi_receive: SPI_REG_RDBUF_BYTE_AVA: Value: %08x\n",
+	netdev_dbg(net_dev, "qcaspi_receive: SPI_REG_RDBUF_BYTE_AVA: Value: %04x\n",
 		   available);

 	if (available > QCASPI_HW_BUF_LEN + QCASPI_HW_PKT_LEN) {
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 12/15 net-next] qca_7k: Replace BSD boilerplate with SPDX
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (10 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 11/15 net-next] qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 13/15 net-next] qca_7k: Replace old mail address Stefan Wahren
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Stefan Wahren, Jacob Keller

From: Stefan Wahren <stefan.wahren@i2se.com>

According to MODULE_LICENSE the driver is under a dual license.
So replace the BSD license text with the proper SPDX tag.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_7k.c        | 17 +----------------
 drivers/net/ethernet/qualcomm/qca_7k.h        | 16 +---------------
 drivers/net/ethernet/qualcomm/qca_7k_common.c | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_7k_common.h | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_debug.c     | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_debug.h     | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_spi.c       | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_spi.h       | 15 +--------------
 drivers/net/ethernet/qualcomm/qca_uart.c      | 15 +--------------
 9 files changed, 9 insertions(+), 129 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_7k.c b/drivers/net/ethernet/qualcomm/qca_7k.c
index 4292c89bd35c..6263e4cf47fa 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k.c
+++ b/drivers/net/ethernet/qualcomm/qca_7k.c
@@ -1,22 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
- *
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
  */

 /*   This module implements the Qualcomm Atheros SPI protocol for
diff --git a/drivers/net/ethernet/qualcomm/qca_7k.h b/drivers/net/ethernet/qualcomm/qca_7k.h
index 356de8ec5d48..828ee9c27578 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k.h
+++ b/drivers/net/ethernet/qualcomm/qca_7k.h
@@ -1,21 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
  */

 /*   Qualcomm Atheros SPI register definition.
diff --git a/drivers/net/ethernet/qualcomm/qca_7k_common.c b/drivers/net/ethernet/qualcomm/qca_7k_common.c
index 6b511f05df61..be2f754efd21 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k_common.c
+++ b/drivers/net/ethernet/qualcomm/qca_7k_common.c
@@ -1,20 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
  *   Copyright (c) 2011, 2012, Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   Atheros ethernet framing. Every Ethernet frame is surrounded
diff --git a/drivers/net/ethernet/qualcomm/qca_7k_common.h b/drivers/net/ethernet/qualcomm/qca_7k_common.h
index 088cca7f61db..44ed66fdb407 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k_common.h
+++ b/drivers/net/ethernet/qualcomm/qca_7k_common.h
@@ -1,20 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
 /*
  *   Copyright (c) 2011, 2012, Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   Atheros Ethernet framing. Every Ethernet frame is surrounded by an atheros
diff --git a/drivers/net/ethernet/qualcomm/qca_debug.c b/drivers/net/ethernet/qualcomm/qca_debug.c
index 857883d0b5ed..ff3b89e9028e 100644
--- a/drivers/net/ethernet/qualcomm/qca_debug.c
+++ b/drivers/net/ethernet/qualcomm/qca_debug.c
@@ -1,20 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   This file contains debugging routines for use in the QCA7K driver.
diff --git a/drivers/net/ethernet/qualcomm/qca_debug.h b/drivers/net/ethernet/qualcomm/qca_debug.h
index 46a785844421..0d98cef3abc4 100644
--- a/drivers/net/ethernet/qualcomm/qca_debug.h
+++ b/drivers/net/ethernet/qualcomm/qca_debug.h
@@ -1,20 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   This file contains debugging routines for use in the QCA7K driver.
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index ca8c0596a992..ed6d20be19bb 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -1,20 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   This module implements the Qualcomm Atheros SPI protocol for
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h
index f735ad77402f..d59cb2352cee 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.h
+++ b/drivers/net/ethernet/qualcomm/qca_spi.h
@@ -1,20 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2014, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   Qualcomm Atheros SPI register definition.
diff --git a/drivers/net/ethernet/qualcomm/qca_uart.c b/drivers/net/ethernet/qualcomm/qca_uart.c
index 223321897b96..d0db9d0adad7 100644
--- a/drivers/net/ethernet/qualcomm/qca_uart.c
+++ b/drivers/net/ethernet/qualcomm/qca_uart.c
@@ -1,20 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
 /*
  *   Copyright (c) 2011, 2012, Qualcomm Atheros Communications Inc.
  *   Copyright (c) 2017, I2SE GmbH
- *
- *   Permission to use, copy, modify, and/or distribute this software
- *   for any purpose with or without fee is hereby granted, provided
- *   that the above copyright notice and this permission notice appear
- *   in all copies.
- *
- *   THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- *   WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- *   WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- *   THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
- *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- *   LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- *   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- *   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */

 /*   This module implements the Qualcomm Atheros UART protocol for
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 13/15 net-next] qca_7k: Replace old mail address
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (11 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 12/15 net-next] qca_7k: Replace BSD boilerplate with SPDX Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 14/15 net-next] mailmap: add entry for Stefan Wahren Stefan Wahren
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel,
	Stefan Wahren, Stefan Wahren, Jacob Keller

From: Stefan Wahren <stefan.wahren@i2se.com>

The company I2SE has been acquired a long time ago. Switch to
my private mail address before the I2SE account is deactivated.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/qualcomm/qca_7k_common.c | 2 +-
 drivers/net/ethernet/qualcomm/qca_spi.c       | 2 +-
 drivers/net/ethernet/qualcomm/qca_uart.c      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_7k_common.c b/drivers/net/ethernet/qualcomm/qca_7k_common.c
index be2f754efd21..5302da587620 100644
--- a/drivers/net/ethernet/qualcomm/qca_7k_common.c
+++ b/drivers/net/ethernet/qualcomm/qca_7k_common.c
@@ -149,5 +149,5 @@ EXPORT_SYMBOL_GPL(qcafrm_fsm_decode);

 MODULE_DESCRIPTION("Qualcomm Atheros QCA7000 common");
 MODULE_AUTHOR("Qualcomm Atheros Communications");
-MODULE_AUTHOR("Stefan Wahren <stefan.wahren@i2se.com>");
+MODULE_AUTHOR("Stefan Wahren <wahrenst@gmx.net>");
 MODULE_LICENSE("Dual BSD/GPL");
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index ed6d20be19bb..5799ecc88a87 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -1043,6 +1043,6 @@ module_spi_driver(qca_spi_driver);

 MODULE_DESCRIPTION("Qualcomm Atheros QCA7000 SPI Driver");
 MODULE_AUTHOR("Qualcomm Atheros Communications");
-MODULE_AUTHOR("Stefan Wahren <stefan.wahren@i2se.com>");
+MODULE_AUTHOR("Stefan Wahren <wahrenst@gmx.net>");
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_VERSION(QCASPI_DRV_VERSION);
diff --git a/drivers/net/ethernet/qualcomm/qca_uart.c b/drivers/net/ethernet/qualcomm/qca_uart.c
index d0db9d0adad7..321fd8d00730 100644
--- a/drivers/net/ethernet/qualcomm/qca_uart.c
+++ b/drivers/net/ethernet/qualcomm/qca_uart.c
@@ -397,6 +397,6 @@ module_serdev_device_driver(qca_uart_driver);

 MODULE_DESCRIPTION("Qualcomm Atheros QCA7000 UART Driver");
 MODULE_AUTHOR("Qualcomm Atheros Communications");
-MODULE_AUTHOR("Stefan Wahren <stefan.wahren@i2se.com>");
+MODULE_AUTHOR("Stefan Wahren <wahrenst@gmx.net>");
 MODULE_LICENSE("Dual BSD/GPL");
 MODULE_VERSION(QCAUART_DRV_VERSION);
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 14/15 net-next] mailmap: add entry for Stefan Wahren
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (12 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 13/15 net-next] qca_7k: Replace old mail address Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-28 20:10 ` [PATCH V4 15/15 net-next] MAINTAINERS: add entry for qca7k driver(s) Stefan Wahren
  2024-01-31 13:40 ` [PATCH V4 00/15 net-next] qca_spi: collection of improvements patchwork-bot+netdevbpf
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel, Stefan Wahren

Add a .mailmap entry because my old i2se.com address will be
deactivated in the near future.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 .mailmap | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.mailmap b/.mailmap
index 04998f7bda81..95b4fe465cc6 100644
--- a/.mailmap
+++ b/.mailmap
@@ -568,6 +568,7 @@ Simon Kelley <simon@thekelleys.org.uk>
 Sricharan Ramabadhran <quic_srichara@quicinc.com> <sricharan@codeaurora.org>
 Srinivas Ramana <quic_sramana@quicinc.com> <sramana@codeaurora.org>
 Sriram R <quic_srirrama@quicinc.com> <srirrama@codeaurora.org>
+Stefan Wahren <wahrenst@gmx.net> <stefan.wahren@i2se.com>
 Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
 Stephen Hemminger <stephen@networkplumber.org> <shemminger@linux-foundation.org>
 Stephen Hemminger <stephen@networkplumber.org> <shemminger@osdl.org>
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 15/15 net-next] MAINTAINERS: add entry for qca7k driver(s)
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (13 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 14/15 net-next] mailmap: add entry for Stefan Wahren Stefan Wahren
@ 2024-01-28 20:10 ` Stefan Wahren
  2024-01-31 13:40 ` [PATCH V4 00/15 net-next] qca_spi: collection of improvements patchwork-bot+netdevbpf
  15 siblings, 0 replies; 17+ messages in thread
From: Stefan Wahren @ 2024-01-28 20:10 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Lino Sanfilippo, Florian Fainelli, netdev, linux-kernel, Stefan Wahren

Since upstreaming i contributed a lot to this driver(s),
so add myself as a maintainer.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
---
 MAINTAINERS | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8709c7cd3656..9768f1130522 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17990,6 +17990,13 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
 F:	Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
 F:	drivers/net/wireless/ath/ath9k/

+QUALCOMM ATHEROS QCA7K ETHERNET DRIVER
+M:	Stefan Wahren <wahrenst@gmx.net>
+L:	netdev@vger.kernel.org
+S:	Maintained
+F:	Documentation/devicetree/bindings/net/qca,qca7000.txt
+F:	drivers/net/ethernet/qualcomm/qca*
+
 QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
 M:	Stephan Gerhold <stephan@gerhold.net>
 L:	netdev@vger.kernel.org
--
2.34.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 00/15 net-next] qca_spi: collection of improvements
  2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
                   ` (14 preceding siblings ...)
  2024-01-28 20:10 ` [PATCH V4 15/15 net-next] MAINTAINERS: add entry for qca7k driver(s) Stefan Wahren
@ 2024-01-31 13:40 ` patchwork-bot+netdevbpf
  15 siblings, 0 replies; 17+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-01-31 13:40 UTC (permalink / raw)
  To: Stefan Wahren
  Cc: davem, edumazet, kuba, pabeni, LinoSanfilippo, f.fainelli,
	netdev, linux-kernel

Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Sun, 28 Jan 2024 21:10:44 +0100 you wrote:
> This series contains a wild collection of improvements for the
> qca_spi driver. This is a follow-up series to the recent bugfixes [1].
> 
> Patch 1, 2 & 3 in this series is the initially intended rework of
> netdev_open/close. Patch 4 & 10 are minor functional improvements and
> the rest is clean-up.
> 
> [...]

Here is the summary with links:
  - [V4,01/15,net-next] qca_spi: Add check for kthread_stop
    (no matching commit)
  - [V4,02/15,net-next] qca_spi: Improve SPI thread creation
    (no matching commit)
  - [V4,03/15,net-next] qca_spi: Improve SPI IRQ handling
    (no matching commit)
  - [V4,04/15,net-next] qca_spi: Avoid skb_copy_expand in TX path
    (no matching commit)
  - [V4,05/15,net-next] qca_7k_common: Drop unnecessary function description
    (no matching commit)
  - [V4,06/15,net-next] qca_7k_common: Drop unused len from qcafrm_handle
    (no matching commit)
  - [V4,07/15,net-next] qca_spi: Add QCASPI prefix to ring defines
    (no matching commit)
  - [V4,08/15,net-next] qca_spi: Introduce QCASPI_RX_MAX_FRAMES
    (no matching commit)
  - [V4,09/15,net-next] qca_spi: Improve calculation of RX buffer size
    (no matching commit)
  - [V4,10/15,net-next] qca_spi: Log expected signature in error case
    (no matching commit)
  - [V4,11/15,net-next] qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA
    (no matching commit)
  - [V4,12/15,net-next] qca_7k: Replace BSD boilerplate with SPDX
    (no matching commit)
  - [V4,13/15,net-next] qca_7k: Replace old mail address
    (no matching commit)
  - [V4,14/15,net-next] mailmap: add entry for Stefan Wahren
    https://git.kernel.org/netdev/net-next/c/a47996ebbe40
  - [V4,15/15,net-next] MAINTAINERS: add entry for qca7k driver(s)
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-01-31 13:40 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-28 20:10 [PATCH V4 00/15 net-next] qca_spi: collection of improvements Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 01/15 net-next] qca_spi: Add check for kthread_stop Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 02/15 net-next] qca_spi: Improve SPI thread creation Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 03/15 net-next] qca_spi: Improve SPI IRQ handling Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 04/15 net-next] qca_spi: Avoid skb_copy_expand in TX path Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 05/15 net-next] qca_7k_common: Drop unnecessary function description Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 06/15 net-next] qca_7k_common: Drop unused len from qcafrm_handle Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 07/15 net-next] qca_spi: Add QCASPI prefix to ring defines Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 08/15 net-next] qca_spi: Introduce QCASPI_RX_MAX_FRAMES Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 09/15 net-next] qca_spi: Improve calculation of RX buffer size Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 10/15 net-next] qca_spi: Log expected signature in error case Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 11/15 net-next] qca_spi: Adjust log of SPI_REG_RDBUF_BYTE_AVA Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 12/15 net-next] qca_7k: Replace BSD boilerplate with SPDX Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 13/15 net-next] qca_7k: Replace old mail address Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 14/15 net-next] mailmap: add entry for Stefan Wahren Stefan Wahren
2024-01-28 20:10 ` [PATCH V4 15/15 net-next] MAINTAINERS: add entry for qca7k driver(s) Stefan Wahren
2024-01-31 13:40 ` [PATCH V4 00/15 net-next] qca_spi: collection of improvements patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).