summaryrefslogtreecommitdiffstats
path: root/programmer.h
diff options
context:
space:
mode:
authorDaniel Thompson <daniel.thompson@linaro.org>2018-06-05 09:55:20 +0100
committerNico Huber <nico.h@gmx.de>2018-08-17 21:16:57 +0000
commit455a6fc86e833d1165c68d9dbaef8b0188875bc5 (patch)
treed362e9f7fe5096e83b1c3df9d3ee0d4c225017fc /programmer.h
parentb623f403a00a6ce796fe632d4c1ff3fc4f5a5e40 (diff)
downloadflashrom-455a6fc86e833d1165c68d9dbaef8b0188875bc5.tar.gz
flashrom-455a6fc86e833d1165c68d9dbaef8b0188875bc5.tar.bz2
flashrom-455a6fc86e833d1165c68d9dbaef8b0188875bc5.zip
bitbang_spi: Add half-duplex optimizations
Currently, the core of bitbang_spi is a full-duplex SPI loop but in practice this code is only ever used half-duplex. Spliting this code into two half duplex loops allows us to optimize performance by reducing communications and/or CPU pipeline stalls. The speed up varies depending on how much the overhead of getting/setting pins dominates execution time. For a USB bit bang driver running on a 7th generation Core i5, the time to probe drops from ~7.7 seconds to ~6.7 seconds when this patch is applied. Change-Id: I33b9f363716f651146c09113bda5fffe53b16738 Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Reviewed-on: https://review.coreboot.org/26947 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'programmer.h')
0 files changed, 0 insertions, 0 deletions