Skip to content

Commit

Permalink
Merge tag 'linux-can-next-for-5.19-20220502' of git://git.kernel.org/…
Browse files Browse the repository at this point in the history
…pub/scm/linux/kernel/git/mkl/linux-can-next

Marc Kleine-Budde says:

====================
pull-request: can-next 2022-05-02

this is a pull request of 9 patches for net-next/master.

The first patch is by Biju Das and documents renesas,r9a07g043-canfd
support in the renesas,rcar-canfd bindings document.

Jakub Kicinski's patch removes a copy of the NAPI_POLL_WEIGHT define
from the m_can driver.

The last 7 patches all target the ctucanfd driver. Pavel Pisa provides
2 patch which update the documentation. 2 patches by Jiapeng Chong
remove unneeded includes and error messages. And another 3 patches by
Pavel Pisa to further clean up the driver (remove inline keyword,
remove unneeded debug statements, and remove unneeded module parameters).

linux-can-next-for-5.19-20220502

* tag 'linux-can-next-for-5.19-20220502' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next:
  can: ctucanfd: remove PCI module debug parameters
  can: ctucanfd: remove debug statements
  can: ctucanfd: remove inline keyword from local static functions
  can: ctucanfd: ctucan_platform_probe(): remove unnecessary print function dev_err()
  can: ctucanfd: remove unused including <linux/version.h>
  docs: networking: device drivers: can: ctucanfd: update author e-mail
  docs: networking: device drivers: can: add ctucanfd to index
  can: m_can: remove a copy of the NAPI_POLL_WEIGHT define
  dt-bindings: can: renesas,rcar-canfd: Document RZ/G2UL support
====================

Link: https://lore.kernel.org/r/20220502075914.1905039-1-mkl@pengutronix.de
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  • Loading branch information
Paolo Abeni committed May 2, 2022
2 parents ae664d9 + 28b250e commit 2fc9f69
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:

- items:
- enum:
- renesas,r9a07g043-canfd # RZ/G2UL
- renesas,r9a07g044-canfd # RZ/G2{L,LC}
- renesas,r9a07g054-canfd # RZ/V2L
- const: renesas,rzg2l-canfd # RZ/G2L family
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ CTU CAN FD Driver Sources Reference
CTU CAN FD IP Core and Driver Development Acknowledgment
---------------------------------------------------------

* Odrej Ille <illeondr@fel.cvut.cz>
* Odrej Ille <ondrej.ille@gmail.com>

* started the project as student at Department of Measurement, FEE, CTU
* invested great amount of personal time and enthusiasm to the project over years
Expand Down
1 change: 1 addition & 0 deletions Documentation/networking/device_drivers/can/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Contents:
.. toctree::
:maxdepth: 2

ctu/ctucanfd-driver
freescale/flexcan

.. only:: subproject and html
Expand Down
34 changes: 3 additions & 31 deletions drivers/net/can/ctucanfd/ctucanfd_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
#include <linux/can/error.h>
#include <linux/can/led.h>
#include <linux/pm_runtime.h>
#include <linux/version.h>

#include "ctucanfd.h"
#include "ctucanfd_kregs.h"
Expand Down Expand Up @@ -133,13 +132,12 @@ static u32 ctucan_read32_be(struct ctucan_priv *priv,
return ioread32be(priv->mem_base + reg);
}

static inline void ctucan_write32(struct ctucan_priv *priv, enum ctu_can_fd_can_registers reg,
u32 val)
static void ctucan_write32(struct ctucan_priv *priv, enum ctu_can_fd_can_registers reg, u32 val)
{
priv->write_reg(priv, reg, val);
}

static inline u32 ctucan_read32(struct ctucan_priv *priv, enum ctu_can_fd_can_registers reg)
static u32 ctucan_read32(struct ctucan_priv *priv, enum ctu_can_fd_can_registers reg)
{
return priv->read_reg(priv, reg);
}
Expand Down Expand Up @@ -179,8 +177,6 @@ static int ctucan_reset(struct net_device *ndev)
struct ctucan_priv *priv = netdev_priv(ndev);
int i = 100;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

ctucan_write32(priv, CTUCANFD_MODE, REG_MODE_RST);
clear_bit(CTUCANFD_FLAG_RX_FFW_BUFFERED, &priv->drv_flags);

Expand Down Expand Up @@ -266,8 +262,6 @@ static int ctucan_set_bittiming(struct net_device *ndev)
struct ctucan_priv *priv = netdev_priv(ndev);
struct can_bittiming *bt = &priv->can.bittiming;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

/* Note that bt may be modified here */
return ctucan_set_btr(ndev, bt, true);
}
Expand All @@ -283,8 +277,6 @@ static int ctucan_set_data_bittiming(struct net_device *ndev)
struct ctucan_priv *priv = netdev_priv(ndev);
struct can_bittiming *dbt = &priv->can.data_bittiming;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

/* Note that dbt may be modified here */
return ctucan_set_btr(ndev, dbt, false);
}
Expand All @@ -302,8 +294,6 @@ static int ctucan_set_secondary_sample_point(struct net_device *ndev)
int ssp_offset = 0;
u32 ssp_cfg = 0; /* No SSP by default */

ctucan_netdev_dbg(ndev, "%s\n", __func__);

if (CTU_CAN_FD_ENABLED(priv)) {
netdev_err(ndev, "BUG! Cannot set SSP - CAN is enabled\n");
return -EPERM;
Expand Down Expand Up @@ -390,8 +380,6 @@ static int ctucan_chip_start(struct net_device *ndev)
int err;
struct can_ctrlmode mode;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

priv->txb_prio = 0x01234567;
priv->txb_head = 0;
priv->txb_tail = 0;
Expand Down Expand Up @@ -457,8 +445,6 @@ static int ctucan_do_set_mode(struct net_device *ndev, enum can_mode mode)
{
int ret;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

switch (mode) {
case CAN_MODE_START:
ret = ctucan_reset(ndev);
Expand Down Expand Up @@ -486,7 +472,7 @@ static int ctucan_do_set_mode(struct net_device *ndev, enum can_mode mode)
*
* Return: Status of TXT buffer
*/
static inline enum ctucan_txtb_status ctucan_get_tx_status(struct ctucan_priv *priv, u8 buf)
static enum ctucan_txtb_status ctucan_get_tx_status(struct ctucan_priv *priv, u8 buf)
{
u32 tx_status = ctucan_read32(priv, CTUCANFD_TX_STATUS);
enum ctucan_txtb_status status = (tx_status >> (buf * 4)) & 0x7;
Expand Down Expand Up @@ -1123,8 +1109,6 @@ static irqreturn_t ctucan_interrupt(int irq, void *dev_id)
u32 imask;
int irq_loops;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

for (irq_loops = 0; irq_loops < 10000; irq_loops++) {
/* Get the interrupt status */
isr = ctucan_read32(priv, CTUCANFD_INT_STAT);
Expand Down Expand Up @@ -1198,8 +1182,6 @@ static void ctucan_chip_stop(struct net_device *ndev)
u32 mask = 0xffffffff;
u32 mode;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

/* Disable interrupts and disable CAN */
ctucan_write32(priv, CTUCANFD_INT_ENA_CLR, mask);
ctucan_write32(priv, CTUCANFD_INT_MASK_SET, mask);
Expand All @@ -1222,8 +1204,6 @@ static int ctucan_open(struct net_device *ndev)
struct ctucan_priv *priv = netdev_priv(ndev);
int ret;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

ret = pm_runtime_get_sync(priv->dev);
if (ret < 0) {
netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n",
Expand Down Expand Up @@ -1283,8 +1263,6 @@ static int ctucan_close(struct net_device *ndev)
{
struct ctucan_priv *priv = netdev_priv(ndev);

ctucan_netdev_dbg(ndev, "%s\n", __func__);

netif_stop_queue(ndev);
napi_disable(&priv->napi);
ctucan_chip_stop(ndev);
Expand All @@ -1310,8 +1288,6 @@ static int ctucan_get_berr_counter(const struct net_device *ndev, struct can_ber
struct ctucan_priv *priv = netdev_priv(ndev);
int ret;

ctucan_netdev_dbg(ndev, "%s\n", __func__);

ret = pm_runtime_get_sync(priv->dev);
if (ret < 0) {
netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n", __func__, ret);
Expand All @@ -1337,8 +1313,6 @@ int ctucan_suspend(struct device *dev)
struct net_device *ndev = dev_get_drvdata(dev);
struct ctucan_priv *priv = netdev_priv(ndev);

ctucan_netdev_dbg(ndev, "%s\n", __func__);

if (netif_running(ndev)) {
netif_stop_queue(ndev);
netif_device_detach(ndev);
Expand All @@ -1355,8 +1329,6 @@ int ctucan_resume(struct device *dev)
struct net_device *ndev = dev_get_drvdata(dev);
struct ctucan_priv *priv = netdev_priv(ndev);

ctucan_netdev_dbg(ndev, "%s\n", __func__);

priv->can.state = CAN_STATE_ERROR_ACTIVE;

if (netif_running(ndev)) {
Expand Down
22 changes: 6 additions & 16 deletions drivers/net/can/ctucanfd/ctucanfd_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,6 @@
#define CTUCAN_WITHOUT_CTUCAN_ID 0
#define CTUCAN_WITH_CTUCAN_ID 1

static bool use_msi = true;
module_param(use_msi, bool, 0444);
MODULE_PARM_DESC(use_msi, "PCIe implementation use MSI interrupts. Default: 1 (yes)");

static bool pci_use_second = true;
module_param(pci_use_second, bool, 0444);
MODULE_PARM_DESC(pci_use_second, "Use the second CAN core on PCIe card. Default: 1 (yes)");

struct ctucan_pci_board_data {
void __iomem *bar0_base;
void __iomem *cra_base;
Expand Down Expand Up @@ -117,13 +109,11 @@ static int ctucan_pci_probe(struct pci_dev *pdev,
goto err_disable_device;
}

if (use_msi) {
ret = pci_enable_msi(pdev);
if (!ret) {
dev_info(dev, "MSI enabled\n");
pci_set_master(pdev);
msi_ok = 1;
}
ret = pci_enable_msi(pdev);
if (!ret) {
dev_info(dev, "MSI enabled\n");
pci_set_master(pdev);
msi_ok = 1;
}

dev_info(dev, "ctucan BAR0 0x%08llx 0x%08llx\n",
Expand Down Expand Up @@ -184,7 +174,7 @@ static int ctucan_pci_probe(struct pci_dev *pdev,

core_i++;

while (pci_use_second && (core_i < num_cores)) {
while (core_i < num_cores) {
addr += 0x4000;
ret = ctucan_probe_common(dev, addr, irq, ntxbufs, 100000000,
0, ctucan_pci_set_drvdata);
Expand Down
1 change: 0 additions & 1 deletion drivers/net/can/ctucanfd/ctucanfd_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ static int ctucan_platform_probe(struct platform_device *pdev)
}
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
dev_err(dev, "Cannot find interrupt.\n");
ret = irq;
goto err;
}
Expand Down
9 changes: 3 additions & 6 deletions drivers/net/can/m_can/m_can.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,6 @@ enum m_can_reg {
M_CAN_TXEFA = 0xf8,
};

/* napi related */
#define M_CAN_NAPI_WEIGHT 64

/* message ram configuration data length */
#define MRAM_CFG_LEN 8

Expand Down Expand Up @@ -951,7 +948,7 @@ static int m_can_rx_peripheral(struct net_device *dev)
struct m_can_classdev *cdev = netdev_priv(dev);
int work_done;

work_done = m_can_rx_handler(dev, M_CAN_NAPI_WEIGHT);
work_done = m_can_rx_handler(dev, NAPI_POLL_WEIGHT);

/* Don't re-enable interrupts if the driver had a fatal error
* (e.g., FIFO read failure).
Expand Down Expand Up @@ -1474,7 +1471,7 @@ static int m_can_dev_setup(struct m_can_classdev *cdev)

if (!cdev->is_peripheral)
netif_napi_add(dev, &cdev->napi,
m_can_poll, M_CAN_NAPI_WEIGHT);
m_can_poll, NAPI_POLL_WEIGHT);

/* Shared properties of all M_CAN versions */
cdev->version = m_can_version;
Expand Down Expand Up @@ -1994,7 +1991,7 @@ int m_can_class_register(struct m_can_classdev *cdev)

if (cdev->is_peripheral) {
ret = can_rx_offload_add_manual(cdev->net, &cdev->offload,
M_CAN_NAPI_WEIGHT);
NAPI_POLL_WEIGHT);
if (ret)
goto clk_disable;
}
Expand Down

0 comments on commit 2fc9f69

Please sign in to comment.