Commit 5b1a01c1 authored by Mark Brown's avatar Mark Brown

spi: Merge AMD fix

Work around problems with large transfers.
parents 30554a1f 6ece49c5
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#define AMD_SPI_RX_COUNT_REG 0x4B #define AMD_SPI_RX_COUNT_REG 0x4B
#define AMD_SPI_STATUS_REG 0x4C #define AMD_SPI_STATUS_REG 0x4C
#define AMD_SPI_FIFO_SIZE 70
#define AMD_SPI_MEM_SIZE 200 #define AMD_SPI_MEM_SIZE 200
/* M_CMD OP codes for SPI */ /* M_CMD OP codes for SPI */
...@@ -270,6 +271,11 @@ static int amd_spi_master_transfer(struct spi_master *master, ...@@ -270,6 +271,11 @@ static int amd_spi_master_transfer(struct spi_master *master,
return 0; return 0;
} }
static size_t amd_spi_max_transfer_size(struct spi_device *spi)
{
return AMD_SPI_FIFO_SIZE;
}
static int amd_spi_probe(struct platform_device *pdev) static int amd_spi_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
...@@ -302,6 +308,8 @@ static int amd_spi_probe(struct platform_device *pdev) ...@@ -302,6 +308,8 @@ static int amd_spi_probe(struct platform_device *pdev)
master->flags = SPI_MASTER_HALF_DUPLEX; master->flags = SPI_MASTER_HALF_DUPLEX;
master->setup = amd_spi_master_setup; master->setup = amd_spi_master_setup;
master->transfer_one_message = amd_spi_master_transfer; master->transfer_one_message = amd_spi_master_transfer;
master->max_transfer_size = amd_spi_max_transfer_size;
master->max_message_size = amd_spi_max_transfer_size;
/* Register the controller with SPI framework */ /* Register the controller with SPI framework */
err = devm_spi_register_master(dev, master); err = devm_spi_register_master(dev, master);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment