net: ethernet: oa_tc6: implement transmit path to transfer tx ethernet frames
authorParthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
Mon, 9 Sep 2024 08:25:09 +0000 (13:55 +0530)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 Sep 2024 03:53:44 +0000 (20:53 -0700)
commit53fbde8ab21e8c2c6187159cc17fc10cbf20900a
treebda77986f38ae701ee37f22dc9b51874477de338
parentf845a027de66d1efeb8cb22020e2c50baebdc441
net: ethernet: oa_tc6: implement transmit path to transfer tx ethernet frames

The transmit ethernet frame will be converted into multiple transmit data
chunks. Each transmit data chunk consists of a 4 bytes header followed by
a 64 bytes transmit data chunk payload. The 4 bytes data header occurs at
the beginning of each transmit data chunk on MOSI. The data header
contains the information needed to determine the validity and location of
the transmit frame data within the data chunk payload. The number of
transmit data chunks transmitted to mac-phy is limited to the number
transmit credits available in the mac-phy. Initially the transmit credits
will be updated from the buffer status register and then it will be
updated from the footer received on each spi data transfer. The received
footer will be examined for the transmit errors if any.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
Link: https://patch.msgid.link/20240909082514.262942-10-Parthiban.Veerasooran@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/oa_tc6.c
include/linux/oa_tc6.h