soc/amd/common: Move spi access functions into their own file
commit3b8b14dc27eceb9f40885d5e025095d06c4dedb7
authorMartin Roth <martin@coreboot.org>
Thu, 23 Jul 2020 19:50:11 +0000 (23 13:50 -0600)
committerFelix Held <felix-coreboot@felixheld.de>
Mon, 27 Jul 2020 21:10:21 +0000 (27 21:10 +0000)
treed8f57576d442465f0b9bdff6302d365593f9aaea
parent4b3c063afddb01b91226a19b6c8ce1e5451ecfc9
soc/amd/common: Move spi access functions into their own file

Because there was a lot of discussion about the size increase,
I also looked at the impact of calling the get_spi_bar() function
vs reading spi_base directly and just not worring about whether
or not spi_base was already set.

Using the spi_base variable directly is 77 bytes bytes for all 6
functions. it's roughly double the size to call the function at
153 bytes.  This was almost entirely due to setting up a call stack.
If we add an assert into each function to make sure that the spi_base
variable is set, it doubles from the size of the function call to
333 bytes.

For my money, the function call is the best bet, because it not only
protects us from using spi_base before it's set, it also gets the
value for us (at least on x86, on the PSP, it still just dies.)

BUG=b:161366241
TEST: Build

Signed-off-by: Martin Roth <martin@coreboot.org>
Change-Id: I0b0d005426ef90f09bf090789acb9d6383f17bd2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43772
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
src/soc/amd/common/block/include/amdblocks/spi.h
src/soc/amd/common/block/spi/Makefile.inc
src/soc/amd/common/block/spi/fch_spi.c
src/soc/amd/common/block/spi/fch_spi_ctrl.c
src/soc/amd/common/block/spi/fch_spi_util.c [new file with mode: 0644]