lkml.org 
[lkml]   [2021]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 5/6] can: c_can: prepare to up the message objects number
From
Date
On 3/2/21 11:50 AM, Dario Binacchi wrote:
> Hi Marc,
>
>> Il 01/03/2021 20:45 Marc Kleine-Budde <mkl@pengutronix.de> ha scritto:
>>
>>
>> On 01.03.2021 18:21:42, Dario Binacchi wrote:
>>>>> @@ -730,7 +728,7 @@ static void c_can_do_tx(struct net_device *dev)
>>>>> while ((idx = ffs(pend))) {
>>>>> idx--;
>>>>> pend &= ~(1 << idx);
>>>>> - obj = idx + C_CAN_MSG_OBJ_TX_FIRST;
>>>>> + obj = idx + priv->msg_obj_tx_first;
>>>>> c_can_inval_tx_object(dev, IF_TX, obj);
>>>>> can_get_echo_skb(dev, idx, NULL);
>>>>> bytes += priv->dlc[idx];
>>>>> @@ -740,7 +738,7 @@ static void c_can_do_tx(struct net_device *dev)
>>>>> /* Clear the bits in the tx_active mask */
>>>>> atomic_sub(clr, &priv->tx_active);
>>>>>
>>>>> - if (clr & (1 << (C_CAN_MSG_OBJ_TX_NUM - 1)))
>>>>> + if (clr & (1 << (priv->msg_obj_tx_num - 1)))
>>>>
>>>> Do we need 1UL here, too?
>>>
>>> Do you agree if I use the BIT macro ?
>>
>> No, please use GENMASK(priv->msg_obj_tx_num, 0) here.
>
> In case of 64 message objects, msg_obj_tx_num = 32, and 1 << (priv->msg_obj_tx_num - 1) = 0x80000000.
> GENMASK(priv->msg_obj_tx_num, 0) = 0.
> BIT(priv->msg_obj_tx_num - 1) = 0x80000000.

Doh! I've misread where the -1 is places.

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 |

[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2021-03-02 17:10    [W:0.333 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site