]> rtime.felk.cvut.cz Git - vajnamar/linux-xlnx.git/commitdiff
spi: zynqmp-gqspi direct read made word aligned.
authorHolden Sandlar <holden.sandlar@ultra-fei.com>
Tue, 7 Nov 2017 05:35:23 +0000 (11:05 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 7 Nov 2017 11:57:34 +0000 (12:57 +0100)
in gqspi driver direct read is updated with the word aligned read.
For reading file which is not page aligned word aligned read is
required in IO mode, DMA mode handles this by default.

Signed-off-by: Holden Sandlar <holden.sandlar@ultra-fei.com>
Signed-off-by: Tejas Prajapati Rameshchandra <tejaspra@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/spi/spi-zynqmp-gqspi.c

index 469b27fb4acbd65a466156960f78451ff48688c7..fe1c4a7823f2523b6e2b3aa8cc828b1f396ed9b3 100644 (file)
@@ -990,6 +990,12 @@ static int zynqmp_qspi_start_transfer(struct spi_master *master,
                if (imm_data != 0) {
                        genfifoentry &= ~GQSPI_GENFIFO_EXP;
                        genfifoentry &= ~GQSPI_GENFIFO_IMM_DATA_MASK;
+                       if (imm_data % 4 != 0) {
+                               if (((imm_data + 4 - (imm_data % 4)) & 0xFF) == 0x00)
+                                       imm_data = 0xFF;
+                               else
+                                       imm_data = imm_data + 4 - (imm_data % 4);
+                       }
                        genfifoentry |= (u8) (imm_data & 0xFF);
                        zynqmp_gqspi_write(xqspi,
                                           GQSPI_GEN_FIFO_OFST, genfifoentry);