the SPI_CMD register is 16-bits wide
SVN-Revision: 21162
This commit is contained in:
		@@ -649,10 +649,10 @@ Index: linux-2.6.32.10/drivers/spi/bcm63xx_spi.c
 | 
				
			|||||||
+	bcm_spi_writeb(msg_ctl, bs->regs, SPI_MSG_CTL);
 | 
					+	bcm_spi_writeb(msg_ctl, bs->regs, SPI_MSG_CTL);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	/* Issue the transfer */
 | 
					+	/* Issue the transfer */
 | 
				
			||||||
+	cmd = bcm_spi_readb(bs->regs, SPI_CMD);
 | 
					+	cmd = bcm_spi_readw(bs->regs, SPI_CMD);
 | 
				
			||||||
+	cmd |= SPI_CMD_START_IMMEDIATE;
 | 
					+	cmd |= SPI_CMD_START_IMMEDIATE;
 | 
				
			||||||
+	cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
					+	cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
				
			||||||
+	bcm_spi_writeb(cmd, bs->regs, SPI_CMD);
 | 
					+	bcm_spi_writew(cmd, bs->regs, SPI_CMD);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	wait_for_completion(&bs->done);
 | 
					+	wait_for_completion(&bs->done);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -697,10 +697,10 @@ Index: linux-2.6.32.10/drivers/spi/bcm63xx_spi.c
 | 
				
			|||||||
+			bcm63xx_spi_fill_tx_fifo(bs);
 | 
					+			bcm63xx_spi_fill_tx_fifo(bs);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+			/* Start the transfer */
 | 
					+			/* Start the transfer */
 | 
				
			||||||
+			cmd = bcm_spi_readb(bs->regs, SPI_CMD);
 | 
					+			cmd = bcm_spi_readw(bs->regs, SPI_CMD);
 | 
				
			||||||
+			cmd |= SPI_CMD_START_IMMEDIATE;
 | 
					+			cmd |= SPI_CMD_START_IMMEDIATE;
 | 
				
			||||||
+			cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
					+			cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
				
			||||||
+			bcm_spi_writeb(cmd, bs->regs, SPI_CMD);
 | 
					+			bcm_spi_writew(cmd, bs->regs, SPI_CMD);
 | 
				
			||||||
+		} else
 | 
					+		} else
 | 
				
			||||||
+			complete(&bs->done);
 | 
					+			complete(&bs->done);
 | 
				
			||||||
+	}
 | 
					+	}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -639,10 +639,10 @@
 | 
				
			|||||||
+	bcm_spi_writeb(msg_ctl, bs->regs, SPI_MSG_CTL);
 | 
					+	bcm_spi_writeb(msg_ctl, bs->regs, SPI_MSG_CTL);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	/* Issue the transfer */
 | 
					+	/* Issue the transfer */
 | 
				
			||||||
+	cmd = bcm_spi_readb(bs->regs, SPI_CMD);
 | 
					+	cmd = bcm_spi_readw(bs->regs, SPI_CMD);
 | 
				
			||||||
+	cmd |= SPI_CMD_START_IMMEDIATE;
 | 
					+	cmd |= SPI_CMD_START_IMMEDIATE;
 | 
				
			||||||
+	cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
					+	cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
				
			||||||
+	bcm_spi_writeb(cmd, bs->regs, SPI_CMD);
 | 
					+	bcm_spi_writew(cmd, bs->regs, SPI_CMD);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	wait_for_completion(&bs->done);
 | 
					+	wait_for_completion(&bs->done);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -687,10 +687,10 @@
 | 
				
			|||||||
+			bcm63xx_spi_fill_tx_fifo(bs);
 | 
					+			bcm63xx_spi_fill_tx_fifo(bs);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+			/* Start the transfer */
 | 
					+			/* Start the transfer */
 | 
				
			||||||
+			cmd = bcm_spi_readb(bs->regs, SPI_CMD);
 | 
					+			cmd = bcm_spi_readw(bs->regs, SPI_CMD);
 | 
				
			||||||
+			cmd |= SPI_CMD_START_IMMEDIATE;
 | 
					+			cmd |= SPI_CMD_START_IMMEDIATE;
 | 
				
			||||||
+			cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
					+			cmd |= (0 << SPI_CMD_PREPEND_BYTE_CNT_SHIFT);
 | 
				
			||||||
+			bcm_spi_writeb(cmd, bs->regs, SPI_CMD);
 | 
					+			bcm_spi_writew(cmd, bs->regs, SPI_CMD);
 | 
				
			||||||
+		} else
 | 
					+		} else
 | 
				
			||||||
+			complete(&bs->done);
 | 
					+			complete(&bs->done);
 | 
				
			||||||
+	}
 | 
					+	}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user