On 12.12.2024 16:34 CET, Michal Schmidt <[email protected]> wrote: > The E810 is connected to the u-blox GNSS module over I2C. The ice driver > periodically (every ~20ms) sends AdminQ commands to poll the u-blox for > available data. Most of the time, there's no data. When the u-blox > finally responds that data is available, usually it's around 800 bytes. > It can be more or less, depending on how many NMEA messages were > configured using ubxtool. ice then proceeds to read all the data. > AdminQ and I2C are slow. The reading is performed in chunks of 15 bytes. > ice reads all of the data before passing it to the kernel GNSS subsystem > and onwards to userspace. > > Improve the NMEA message receiving latency. Pass each 15-bytes chunk to > userspace as soon as it's received. > > Tested-by: Miroslav Lichvar <[email protected]> > Signed-off-by: Michal Schmidt <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_gnss.c | 29 +++++++---------------- > drivers/net/ethernet/intel/ice/ice_gnss.h | 6 ++++- > 2 files changed, 14 insertions(+), 21 deletions(-)
Reviewed-by: Karol Kolacinski <[email protected]>
