Re: [PATCH 5/6] can: flexcan: add CAN wakeup function for i.MX8QM

From: Marc Kleine-Budde
Date: Fri Oct 16 2020 - 06:40:25 EST


On 10/16/20 12:00 PM, Joakim Zhang wrote:
>>>> +static int flexcan_stop_mode_enable_scfw(struct flexcan_priv *priv,
>>>> +bool enabled) {
>>>> + u8 idx = priv->can_idx;
>>>> + u32 rsrc_id, val;
>>>> +
>>>> + if (idx == 0)
>>>> + rsrc_id = IMX_SC_R_CAN_0;
>>>> + else if (idx == 1)
>>>> + rsrc_id = IMX_SC_R_CAN_1;
>>>> + else
>>>> + rsrc_id = IMX_SC_R_CAN_2;
>>>
>>> Can you introduce something like and make use of it:
>>>
>>> #define IMX_SC_R_CAN(x) (105 + (x))
>> OK.
>
> I thought it over again, from my point of view, use macro here directly could
> be more intuitive, and can achieve a direct jump.
> If change to above wrapper, on the contrary make confusion, and generate the
> magic number 105. ☹

The define should go into the rsrc.h, and probably be:

#define IMX_SC_R_CAN(x) (IMX_SC_R_CAN_0 + (x))

and if you change the firmware interface, you probably have more problems :)

>>>> +
>>>> + if (enabled)
>>>> + val = 1;
>>>> + else
>>>> + val = 0;
>>>> +
>>>> + /* stop mode request via scu firmware */
>>>> + return imx_sc_misc_set_control(priv->sc_ipc_handle, rsrc_id,
>>>> +IMX_SC_C_IPG_STOP, val); }
>
> We still need use IMX_SC_C_IPG_STOP, why not be consistent?

Sorry I don't get what you want to tell me here.

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

Attachment: signature.asc
Description: OpenPGP digital signature