Skip to content

Commit

Permalink
can: m_can: remove support for custom bit timing, take ljalves#2
Browse files Browse the repository at this point in the history
Now when Intel Elkhart Lake uses again common bit timing and there are
no other users for custom bit timing, we can bring back the changes
done by the commit 0ddd83f ("can: m_can: remove support for
custom bit timing").

This effectively reverts commit ea768b2 ("Revert "can: m_can:
remove support for custom bit timing"") while taking into account
commit ea22ba4 ("can: m_can: make custom bittiming fields const")
and commit 7d4a101 ("can: dev: add sanity check in
can_set_static_ctrlmode()").

Link: https://lore.kernel.org/all/20220512124144.536850-2-jarkko.nikula@linux.intel.com
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
  • Loading branch information
jhnikula authored and marckleinebudde committed May 14, 2022
1 parent 14ea4a4 commit d6da788
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 21 deletions.
24 changes: 6 additions & 18 deletions drivers/net/can/m_can/m_can.c
Expand Up @@ -1495,34 +1495,22 @@ static int m_can_dev_setup(struct m_can_classdev *cdev)
err = can_set_static_ctrlmode(dev, CAN_CTRLMODE_FD_NON_ISO);
if (err)
return err;
cdev->can.bittiming_const = cdev->bit_timing ?
cdev->bit_timing : &m_can_bittiming_const_30X;

cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_30X;
cdev->can.bittiming_const = &m_can_bittiming_const_30X;
cdev->can.data_bittiming_const = &m_can_data_bittiming_const_30X;
break;
case 31:
/* CAN_CTRLMODE_FD_NON_ISO is fixed with M_CAN IP v3.1.x */
err = can_set_static_ctrlmode(dev, CAN_CTRLMODE_FD_NON_ISO);
if (err)
return err;
cdev->can.bittiming_const = cdev->bit_timing ?
cdev->bit_timing : &m_can_bittiming_const_31X;

cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_31X;
cdev->can.bittiming_const = &m_can_bittiming_const_31X;
cdev->can.data_bittiming_const = &m_can_data_bittiming_const_31X;
break;
case 32:
case 33:
/* Support both MCAN version v3.2.x and v3.3.0 */
cdev->can.bittiming_const = cdev->bit_timing ?
cdev->bit_timing : &m_can_bittiming_const_31X;

cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_31X;
cdev->can.bittiming_const = &m_can_bittiming_const_31X;
cdev->can.data_bittiming_const = &m_can_data_bittiming_const_31X;

cdev->can.ctrlmode_supported |=
(m_can_niso_supported(cdev) ?
Expand Down
3 changes: 0 additions & 3 deletions drivers/net/can/m_can/m_can.h
Expand Up @@ -85,9 +85,6 @@ struct m_can_classdev {
struct sk_buff *tx_skb;
struct phy *transceiver;

const struct can_bittiming_const *bit_timing;
const struct can_bittiming_const *data_timing;

struct m_can_ops *ops;

int version;
Expand Down

0 comments on commit d6da788

Please sign in to comment.