• Marc Kleine-Budde's avatar
    can: mcp251xfd: simplify UINC handling · eb94b74c
    Marc Kleine-Budde authored
    In the patches:
    
    | 1f652bb6 can: mcp25xxfd: rx-path: reduce number of SPI core requests to set UINC bit
    | 68c0c1c7 can: mcp251xfd: tef-path: reduce number of SPI core requests to set UINC bit
    
    the setting of the UINC bit in the TEF and RX FIFO was batched into a
    single SPI message consisting of several transfers. All transfers but
    the last need to have the cs_change set to 1.
    
    In the original patches the array of prepared transfers is send from
    the beginning with the length depending on the number of read TEF/RX
    objects. The cs_change of the last transfer is temporarily set to
    0 during send.
    
    This patch removes the modification of cs_change by preparing the last
    transfer with cs_change to 0 and all other to 1. When sending the SPI
    message the driver now starts with an offset into the array, so that
    it always ends on the last entry in the array, which has the cs_change
    set to 0.
    
    Link: https://lore.kernel.org/r/20210304160328.2752293-3-mkl@pengutronix.deSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    eb94b74c
mcp251xfd-core.c 75.4 KB