aboutsummaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8173
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2018-04-19 16:58:13 -0600
committerPatrick Georgi <pgeorgi@google.com>2018-04-23 09:13:16 +0000
commit9a1bb36137921c751173d6726a06019c84b171f5 (patch)
tree0ea747dfa24ed8f59e84286a9c537aa50932ba9a /src/soc/mediatek/mt8173
parent2a466cc283185b9fc3af853df3bd3d2c583ad409 (diff)
soc{broadcom,imgtec,mediatek,qualcomm}: stop using spi_xfer_two_vectors
On a second look broadcom/cygnus and imgtec/pistachio appear to support full duplex. Therefore, remove the use of spi_xfer_two_vectors(). For mediatek/mt8173 and qualcomm/ipq40xx, the driver is written in such a way that it does not support full duplex. Remove the use of spi_xfer_two_vectors() and explicitly error out when a full duplex transaction is requested. Change-Id: I8689bc9bb2b27563d25e9f165487d38881c0b059 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/25742 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/mediatek/mt8173')
-rw-r--r--src/soc/mediatek/mt8173/spi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/soc/mediatek/mt8173/spi.c b/src/soc/mediatek/mt8173/spi.c
index ae6dc3b911..f70f4d991e 100644
--- a/src/soc/mediatek/mt8173/spi.c
+++ b/src/soc/mediatek/mt8173/spi.c
@@ -253,6 +253,10 @@ static int spi_ctrlr_xfer(const struct spi_slave *slave, const void *dout,
size_t min_size = 0;
int ret;
+ /* Driver implementation does not support full duplex. */
+ if (bytes_in && bytes_out)
+ return -1;
+
while (bytes_out || bytes_in) {
if (bytes_in && bytes_out)
min_size = MIN(MIN(bytes_out, bytes_in), MTK_FIFO_DEPTH);
@@ -307,7 +311,6 @@ static const struct spi_ctrlr spi_ctrlr = {
.claim_bus = spi_ctrlr_claim_bus,
.release_bus = spi_ctrlr_release_bus,
.xfer = spi_ctrlr_xfer,
- .xfer_vector = spi_xfer_two_vectors,
.max_xfer_size = 65535,
};