Commit d6da7881 authored by Jarkko Nikula's avatar Jarkko Nikula Committed by Marc Kleine-Budde

can: m_can: remove support for custom bit timing, take #2

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 0ddd83fb ("can: m_can: remove support for
custom bit timing").

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

Link: https://lore.kernel.org/all/20220512124144.536850-2-jarkko.nikula@linux.intel.comSigned-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 14ea4a47
...@@ -1495,34 +1495,22 @@ static int m_can_dev_setup(struct m_can_classdev *cdev) ...@@ -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); err = can_set_static_ctrlmode(dev, CAN_CTRLMODE_FD_NON_ISO);
if (err) if (err)
return err; return err;
cdev->can.bittiming_const = cdev->bit_timing ? cdev->can.bittiming_const = &m_can_bittiming_const_30X;
cdev->bit_timing : &m_can_bittiming_const_30X; cdev->can.data_bittiming_const = &m_can_data_bittiming_const_30X;
cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_30X;
break; break;
case 31: case 31:
/* CAN_CTRLMODE_FD_NON_ISO is fixed with M_CAN IP v3.1.x */ /* 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); err = can_set_static_ctrlmode(dev, CAN_CTRLMODE_FD_NON_ISO);
if (err) if (err)
return err; return err;
cdev->can.bittiming_const = cdev->bit_timing ? cdev->can.bittiming_const = &m_can_bittiming_const_31X;
cdev->bit_timing : &m_can_bittiming_const_31X; cdev->can.data_bittiming_const = &m_can_data_bittiming_const_31X;
cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_31X;
break; break;
case 32: case 32:
case 33: case 33:
/* Support both MCAN version v3.2.x and v3.3.0 */ /* Support both MCAN version v3.2.x and v3.3.0 */
cdev->can.bittiming_const = cdev->bit_timing ? cdev->can.bittiming_const = &m_can_bittiming_const_31X;
cdev->bit_timing : &m_can_bittiming_const_31X; cdev->can.data_bittiming_const = &m_can_data_bittiming_const_31X;
cdev->can.data_bittiming_const = cdev->data_timing ?
cdev->data_timing :
&m_can_data_bittiming_const_31X;
cdev->can.ctrlmode_supported |= cdev->can.ctrlmode_supported |=
(m_can_niso_supported(cdev) ? (m_can_niso_supported(cdev) ?
......
...@@ -85,9 +85,6 @@ struct m_can_classdev { ...@@ -85,9 +85,6 @@ struct m_can_classdev {
struct sk_buff *tx_skb; struct sk_buff *tx_skb;
struct phy *transceiver; struct phy *transceiver;
const struct can_bittiming_const *bit_timing;
const struct can_bittiming_const *data_timing;
struct m_can_ops *ops; struct m_can_ops *ops;
int version; int version;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment