pistachio: Make kernel 5.10 patches apply

Make the patches apply on kernel 5.10 and refresh the patches and the
kernel configuration on top of kernel 5.10.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2021-10-24 20:59:54 +02:00
parent 9b96fcf9f6
commit ff504e6fd1
6 changed files with 37 additions and 94 deletions

View File

@ -1,22 +1,8 @@
CONFIG_ARCH_32BIT_OFF_T=y CONFIG_ARCH_32BIT_OFF_T=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y
CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
CONFIG_ARCH_HAS_UNCACHED_SEGMENT=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=15 CONFIG_ARCH_MMAP_RND_BITS_MAX=15
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_SCSI_REQUEST=y
@ -26,20 +12,20 @@ CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLKSRC_MIPS_GIC=y CONFIG_CLKSRC_MIPS_GIC=y
CONFIG_CLKSRC_PISTACHIO=y CONFIG_CLKSRC_PISTACHIO=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_CLONE_BACKWARDS=y CONFIG_CLONE_BACKWARDS=y
CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK=y
# CONFIG_COMMON_CLK_BOSTON is not set # CONFIG_COMMON_CLK_BOSTON is not set
CONFIG_COMPAT_32BIT_TIME=y CONFIG_COMPAT_32BIT_TIME=y
CONFIG_CONNECTOR=y CONFIG_CONNECTOR=y
CONFIG_CPU_GENERIC_DUMP_TLB=y CONFIG_CPU_GENERIC_DUMP_TLB=y
CONFIG_CPU_HAS_LOAD_STORE_LR=y CONFIG_CPU_HAS_DIEI=y
CONFIG_CPU_HAS_PREFETCH=y CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_RIXI=y CONFIG_CPU_HAS_RIXI=y
CONFIG_CPU_HAS_SYNC=y CONFIG_CPU_HAS_SYNC=y
CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPU_MIPS32=y CONFIG_CPU_MIPS32=y
CONFIG_CPU_MIPS32_R2=y CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPSR2=y CONFIG_CPU_MIPSR2=y
@ -54,21 +40,15 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_CPU_SUPPORTS_MSA=y CONFIG_CPU_SUPPORTS_MSA=y
CONFIG_CRC16=y CONFIG_CRC16=y
CONFIG_CRC_CCITT=y CONFIG_CRC_CCITT=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2
CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG2=y
@ -79,21 +59,16 @@ CONFIG_CSRC_R4K=y
CONFIG_DMADEVICES=y CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y CONFIG_DMA_ENGINE=y
CONFIG_DMA_NONCOHERENT=y CONFIG_DMA_NONCOHERENT=y
CONFIG_DMA_NONCOHERENT_CACHE_SYNC=y
CONFIG_DMA_OF=y CONFIG_DMA_OF=y
CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DTC=y CONFIG_DTC=y
CONFIG_DWMAC_GENERIC=y CONFIG_DWMAC_GENERIC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_8250=y CONFIG_EARLY_PRINTK_8250=y
CONFIG_EFI_EARLYCON=y
CONFIG_EXT4_FS=y CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS_SECURITY=y
CONFIG_FIXED_PHY=y CONFIG_FIXED_PHY=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_FONT_SUPPORT=y
CONFIG_FS_IOMAP=y CONFIG_FS_IOMAP=y
CONFIG_FS_MBCACHE=y CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y
@ -107,7 +82,6 @@ CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_IPI=y
CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_LIB_ASHLDI3=y CONFIG_GENERIC_LIB_ASHLDI3=y
CONFIG_GENERIC_LIB_ASHRDI3=y CONFIG_GENERIC_LIB_ASHRDI3=y
@ -129,41 +103,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAVE_ARCH_COMPILER_H=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_CBPF_JIT=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HOTPLUG_CPU=y CONFIG_HOTPLUG_CPU=y
CONFIG_I2C=y CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y CONFIG_I2C_BOARDINFO=y
@ -182,6 +121,7 @@ CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y CONFIG_LEDS_PWM=y
CONFIG_LIBFDT=y CONFIG_LIBFDT=y
CONFIG_LKDTM=y CONFIG_LKDTM=y
CONFIG_LLD_VERSION=0
CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_BUF_SHIFT=18
CONFIG_LZO_COMPRESS=y CONFIG_LZO_COMPRESS=y
@ -191,6 +131,7 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
CONFIG_MDIO_BUS=y CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_DEVRES=y
CONFIG_MEMFD_CREATE=y CONFIG_MEMFD_CREATE=y
CONFIG_MFD_SYSCON=y CONFIG_MFD_SYSCON=y
CONFIG_MICREL_PHY=y CONFIG_MICREL_PHY=y
@ -198,7 +139,6 @@ CONFIG_MIGRATION=y
CONFIG_MIPS=y CONFIG_MIPS=y
CONFIG_MIPS_ASID_BITS=8 CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0 CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CBPF_JIT=y
CONFIG_MIPS_CLOCK_VSYSCALL=y CONFIG_MIPS_CLOCK_VSYSCALL=y
CONFIG_MIPS_CM=y CONFIG_MIPS_CM=y
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set # CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
@ -210,10 +150,12 @@ CONFIG_MIPS_CPS=y
# CONFIG_MIPS_CPS_NS16550_BOOL is not set # CONFIG_MIPS_CPS_NS16550_BOOL is not set
CONFIG_MIPS_CPS_PM=y CONFIG_MIPS_CPS_PM=y
CONFIG_MIPS_CPU_SCACHE=y CONFIG_MIPS_CPU_SCACHE=y
CONFIG_MIPS_EBPF_JIT=y
# CONFIG_MIPS_ELF_APPENDED_DTB is not set # CONFIG_MIPS_ELF_APPENDED_DTB is not set
CONFIG_MIPS_EXTERNAL_TIMER=y CONFIG_MIPS_EXTERNAL_TIMER=y
CONFIG_MIPS_GIC=y CONFIG_MIPS_GIC=y
CONFIG_MIPS_L1_CACHE_SHIFT=5 CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_MIPS_LD_CAN_LINK_VDSO=y
CONFIG_MIPS_MT=y CONFIG_MIPS_MT=y
CONFIG_MIPS_MT_FPAFF=y CONFIG_MIPS_MT_FPAFF=y
CONFIG_MIPS_MT_SMP=y CONFIG_MIPS_MT_SMP=y
@ -266,9 +208,9 @@ CONFIG_OF_NET=y
CONFIG_PADATA=y CONFIG_PADATA=y
CONFIG_PAGE_POOL=y CONFIG_PAGE_POOL=y
CONFIG_PCI_DRIVERS_LEGACY=y CONFIG_PCI_DRIVERS_LEGACY=y
CONFIG_PCS_XPCS=y
CONFIG_PERF_USE_VMALLOC=y CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2 CONFIG_PGTABLE_LEVELS=2
# CONFIG_PGTABLE_MAPPING is not set
CONFIG_PHYLIB=y CONFIG_PHYLIB=y
CONFIG_PHYLINK=y CONFIG_PHYLINK=y
CONFIG_PHY_PISTACHIO_USB=y CONFIG_PHY_PISTACHIO_USB=y
@ -355,6 +297,7 @@ CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_HCD_PLATFORM is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
CONFIG_USB_SUPPORT=y CONFIG_USB_SUPPORT=y
CONFIG_USER_NS=y CONFIG_USER_NS=y

View File

@ -28,7 +28,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
--- a/drivers/spi/spi-img-spfi.c --- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c +++ b/drivers/spi/spi-img-spfi.c
@@ -37,7 +37,8 @@ @@ -36,7 +36,8 @@
#define SPFI_CONTROL_SOFT_RESET BIT(11) #define SPFI_CONTROL_SOFT_RESET BIT(11)
#define SPFI_CONTROL_SEND_DMA BIT(10) #define SPFI_CONTROL_SEND_DMA BIT(10)
#define SPFI_CONTROL_GET_DMA BIT(9) #define SPFI_CONTROL_GET_DMA BIT(9)
@ -38,7 +38,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
#define SPFI_CONTROL_TMODE_SHIFT 5 #define SPFI_CONTROL_TMODE_SHIFT 5
#define SPFI_CONTROL_TMODE_MASK 0x7 #define SPFI_CONTROL_TMODE_MASK 0x7
#define SPFI_CONTROL_TMODE_SINGLE 0 #define SPFI_CONTROL_TMODE_SINGLE 0
@@ -48,6 +49,10 @@ @@ -47,6 +48,10 @@
#define SPFI_TRANSACTION 0x18 #define SPFI_TRANSACTION 0x18
#define SPFI_TRANSACTION_TSIZE_SHIFT 16 #define SPFI_TRANSACTION_TSIZE_SHIFT 16
#define SPFI_TRANSACTION_TSIZE_MASK 0xffff #define SPFI_TRANSACTION_TSIZE_MASK 0xffff
@ -49,7 +49,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
#define SPFI_PORT_STATE 0x1c #define SPFI_PORT_STATE 0x1c
#define SPFI_PORT_STATE_DEV_SEL_SHIFT 20 #define SPFI_PORT_STATE_DEV_SEL_SHIFT 20
@@ -84,6 +89,7 @@ @@ -83,6 +88,7 @@
*/ */
#define SPFI_32BIT_FIFO_SIZE 64 #define SPFI_32BIT_FIFO_SIZE 64
#define SPFI_8BIT_FIFO_SIZE 16 #define SPFI_8BIT_FIFO_SIZE 16
@ -57,7 +57,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
struct img_spfi { struct img_spfi {
struct device *dev; struct device *dev;
@@ -100,6 +106,8 @@ struct img_spfi { @@ -99,6 +105,8 @@ struct img_spfi {
struct dma_chan *tx_ch; struct dma_chan *tx_ch;
bool tx_dma_busy; bool tx_dma_busy;
bool rx_dma_busy; bool rx_dma_busy;
@ -65,8 +65,8 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
+ bool complete; + bool complete;
}; };
struct img_spfi_device_data { static inline u32 spfi_readl(struct img_spfi *spfi, u32 reg)
@@ -120,9 +128,11 @@ static inline void spfi_start(struct img @@ -115,9 +123,11 @@ static inline void spfi_start(struct img
{ {
u32 val; u32 val;
@ -81,7 +81,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
} }
static inline void spfi_reset(struct img_spfi *spfi) static inline void spfi_reset(struct img_spfi *spfi)
@@ -135,12 +145,21 @@ static int spfi_wait_all_done(struct img @@ -130,12 +140,21 @@ static int spfi_wait_all_done(struct img
{ {
unsigned long timeout = jiffies + msecs_to_jiffies(50); unsigned long timeout = jiffies + msecs_to_jiffies(50);
@ -103,7 +103,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
return 0; return 0;
} }
cpu_relax(); cpu_relax();
@@ -494,9 +513,32 @@ static void img_spfi_config(struct spi_m @@ -441,9 +460,32 @@ static void img_spfi_config(struct spi_m
struct spi_transfer *xfer) struct spi_transfer *xfer)
{ {
struct img_spfi *spfi = spi_master_get_devdata(spi->master); struct img_spfi *spfi = spi_master_get_devdata(spi->master);
@ -137,7 +137,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
* output = spfi_clk * (BITCLK / 512), where BITCLK must be a * output = spfi_clk * (BITCLK / 512), where BITCLK must be a
* power of 2 up to 128 * power of 2 up to 128
*/ */
@@ -509,20 +551,52 @@ static void img_spfi_config(struct spi_m @@ -456,20 +498,52 @@ static void img_spfi_config(struct spi_m
val |= div << SPFI_DEVICE_PARAMETER_BITCLK_SHIFT; val |= div << SPFI_DEVICE_PARAMETER_BITCLK_SHIFT;
spfi_writel(spfi, val, SPFI_DEVICE_PARAMETER(spi->chip_select)); spfi_writel(spfi, val, SPFI_DEVICE_PARAMETER(spi->chip_select));

View File

@ -15,7 +15,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
--- a/drivers/spi/spi-img-spfi.c --- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c +++ b/drivers/spi/spi-img-spfi.c
@@ -434,18 +434,23 @@ static int img_spfi_prepare(struct spi_m @@ -429,18 +429,23 @@ static int img_spfi_prepare(struct spi_m
struct img_spfi *spfi = spi_master_get_devdata(master); struct img_spfi *spfi = spi_master_get_devdata(master);
u32 val; u32 val;
@ -44,7 +44,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
spfi_writel(spfi, val, SPFI_PORT_STATE); spfi_writel(spfi, val, SPFI_PORT_STATE);
return 0; return 0;
@@ -545,11 +550,15 @@ static void img_spfi_config(struct spi_m @@ -492,11 +497,15 @@ static void img_spfi_config(struct spi_m
div = DIV_ROUND_UP(clk_get_rate(spfi->spfi_clk), xfer->speed_hz); div = DIV_ROUND_UP(clk_get_rate(spfi->spfi_clk), xfer->speed_hz);
div = clamp(512 / (1 << get_count_order(div)), 1, 128); div = clamp(512 / (1 << get_count_order(div)), 1, 128);

View File

@ -29,7 +29,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
--- a/drivers/spi/spi-img-spfi.c --- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c +++ b/drivers/spi/spi-img-spfi.c
@@ -343,12 +343,11 @@ static int img_spfi_start_dma(struct spi @@ -338,12 +338,11 @@ static int img_spfi_start_dma(struct spi
if (xfer->len % 4 == 0) { if (xfer->len % 4 == 0) {
rxconf.src_addr = spfi->phys + SPFI_RX_32BIT_VALID_DATA; rxconf.src_addr = spfi->phys + SPFI_RX_32BIT_VALID_DATA;
rxconf.src_addr_width = 4; rxconf.src_addr_width = 4;
@ -43,7 +43,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
dmaengine_slave_config(spfi->rx_ch, &rxconf); dmaengine_slave_config(spfi->rx_ch, &rxconf);
rxdesc = dmaengine_prep_slave_sg(spfi->rx_ch, xfer->rx_sg.sgl, rxdesc = dmaengine_prep_slave_sg(spfi->rx_ch, xfer->rx_sg.sgl,
@@ -367,12 +366,11 @@ static int img_spfi_start_dma(struct spi @@ -362,12 +361,11 @@ static int img_spfi_start_dma(struct spi
if (xfer->len % 4 == 0) { if (xfer->len % 4 == 0) {
txconf.dst_addr = spfi->phys + SPFI_TX_32BIT_VALID_DATA; txconf.dst_addr = spfi->phys + SPFI_TX_32BIT_VALID_DATA;
txconf.dst_addr_width = 4; txconf.dst_addr_width = 4;

View File

@ -24,7 +24,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
--- a/drivers/spi/spi-img-spfi.c --- a/drivers/spi/spi-img-spfi.c
+++ b/drivers/spi/spi-img-spfi.c +++ b/drivers/spi/spi-img-spfi.c
@@ -80,6 +80,14 @@ @@ -79,6 +79,14 @@
#define SPFI_INTERRUPT_SDE BIT(1) #define SPFI_INTERRUPT_SDE BIT(1)
#define SPFI_INTERRUPT_SDTRIG BIT(0) #define SPFI_INTERRUPT_SDTRIG BIT(0)
@ -39,7 +39,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
/* /*
* There are four parallel FIFOs of 16 bytes each. The word buffer * There are four parallel FIFOs of 16 bytes each. The word buffer
* (*_32BIT_VALID_DATA) accesses all four FIFOs at once, resulting in an * (*_32BIT_VALID_DATA) accesses all four FIFOs at once, resulting in an
@@ -141,6 +149,23 @@ static inline void spfi_reset(struct img @@ -136,6 +144,23 @@ static inline void spfi_reset(struct img
spfi_writel(spfi, 0, SPFI_CONTROL); spfi_writel(spfi, 0, SPFI_CONTROL);
} }
@ -63,7 +63,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
static int spfi_wait_all_done(struct img_spfi *spfi) static int spfi_wait_all_done(struct img_spfi *spfi)
{ {
unsigned long timeout = jiffies + msecs_to_jiffies(50); unsigned long timeout = jiffies + msecs_to_jiffies(50);
@@ -149,19 +174,9 @@ static int spfi_wait_all_done(struct img @@ -144,19 +169,9 @@ static int spfi_wait_all_done(struct img
return 0; return 0;
while (time_before(jiffies, timeout)) { while (time_before(jiffies, timeout)) {
@ -85,7 +85,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
cpu_relax(); cpu_relax();
} }
@@ -293,6 +308,8 @@ static int img_spfi_start_pio(struct spi @@ -288,6 +303,8 @@ static int img_spfi_start_pio(struct spi
} }
ret = spfi_wait_all_done(spfi); ret = spfi_wait_all_done(spfi);
@ -94,7 +94,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
if (ret < 0) if (ret < 0)
return ret; return ret;
@@ -308,8 +325,10 @@ static void img_spfi_dma_rx_cb(void *dat @@ -303,8 +320,10 @@ static void img_spfi_dma_rx_cb(void *dat
spin_lock_irqsave(&spfi->lock, flags); spin_lock_irqsave(&spfi->lock, flags);
spfi->rx_dma_busy = false; spfi->rx_dma_busy = false;
@ -106,7 +106,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
spin_unlock_irqrestore(&spfi->lock, flags); spin_unlock_irqrestore(&spfi->lock, flags);
} }
@@ -322,8 +341,10 @@ static void img_spfi_dma_tx_cb(void *dat @@ -317,8 +336,10 @@ static void img_spfi_dma_tx_cb(void *dat
spin_lock_irqsave(&spfi->lock, flags); spin_lock_irqsave(&spfi->lock, flags);
spfi->tx_dma_busy = false; spfi->tx_dma_busy = false;

View File

@ -8,19 +8,19 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
drivers/mtd/spi-nor/spi-nor.c | 8 +++++++- drivers/mtd/spi-nor/spi-nor.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-) 1 file changed, 7 insertions(+), 1 deletion(-)
--- a/drivers/mtd/spi-nor/spi-nor.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/core.c
@@ -4938,6 +4938,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3183,6 +3183,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor); struct device_node *np = spi_nor_get_flash_node(nor);
struct spi_nor_flash_parameter *params = &nor->params;
+ const char __maybe_unused *of_mtd_name = NULL; + const char __maybe_unused *of_mtd_name = NULL;
int ret; int ret;
int i; int i;
@@ -5000,7 +5001,12 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3237,7 +3238,12 @@ int spi_nor_scan(struct spi_nor *nor, co
/* Init flash parameters based on flash_info struct and SFDP */ if (ret)
spi_nor_init_params(nor); return ret;
- if (!mtd->name) - if (!mtd->name)
+#ifdef CONFIG_MTD_OF_PARTS +#ifdef CONFIG_MTD_OF_PARTS
@ -34,7 +34,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
mtd->type = MTD_NORFLASH; mtd->type = MTD_NORFLASH;
--- a/drivers/mtd/mtdcore.c --- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c
@@ -779,6 +779,17 @@ out_error: @@ -778,6 +778,17 @@ out_error:
*/ */
static void mtd_set_dev_defaults(struct mtd_info *mtd) static void mtd_set_dev_defaults(struct mtd_info *mtd)
{ {