Merge branch 'master' of git://git.denx.de/u-boot-spi
authorTom Rini <trini@konsulko.com>
Thu, 22 Sep 2016 15:36:45 +0000 (11:36 -0400)
committerTom Rini <trini@konsulko.com>
Thu, 22 Sep 2016 15:36:45 +0000 (11:36 -0400)
1  2 
drivers/spi/zynq_spi.c

diff --combined drivers/spi/zynq_spi.c
index 7a176a2cd6dd2d1d1ebd694e83968c63aa4f7e17,dd3de2792d462ed32f91b3246a0f83e61c89f8bd..15ca271ea4a8c02886030b2022e8b11a2a29f8db
@@@ -92,8 -92,7 +92,8 @@@ static void zynq_spi_init_hw(struct zyn
        u32 confr;
  
        /* Disable SPI */
 -      writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, &regs->enr);
 +      confr = ZYNQ_SPI_ENR_SPI_EN_MASK;
 +      writel(~confr, &regs->enr);
  
        /* Disable Interrupts */
        writel(ZYNQ_SPI_IXR_ALL_MASK, &regs->idr);
@@@ -174,10 -173,8 +174,10 @@@ static int zynq_spi_release_bus(struct 
        struct udevice *bus = dev->parent;
        struct zynq_spi_priv *priv = dev_get_priv(bus);
        struct zynq_spi_regs *regs = priv->regs;
 +      u32 confr;
  
 -      writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, &regs->enr);
 +      confr = ZYNQ_SPI_ENR_SPI_EN_MASK;
 +      writel(~confr, &regs->enr);
  
        return 0;
  }
@@@ -233,7 -230,7 +233,7 @@@ static int zynq_spi_xfer(struct udevic
  
                /* Read the data from RX FIFO */
                status = readl(&regs->isr);
-               while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) {
+               while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) {
                        buf = readl(&regs->rxdr);
                        if (rx_buf)
                                *rx_buf++ = buf;