pistachio: Update to kernel 6.6
authorHauke Mehrtens <hauke@hauke-m.de>
Tue, 28 May 2024 21:28:40 +0000 (23:28 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 30 Jun 2024 22:46:16 +0000 (00:46 +0200)
Refresh the patches and the configuration for kernel 6.6 and make
directly use of it.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/pistachio/Makefile
target/linux/pistachio/config-6.6
target/linux/pistachio/patches-6.6/101-dmaengine-img-mdc-Handle-early-status-read.patch
target/linux/pistachio/patches-6.6/102-spi-img-spfi-Implement-dual-and-quad-mode.patch
target/linux/pistachio/patches-6.6/104-spi-img-spfi-use-device-0-configuration-for-all-devi.patch
target/linux/pistachio/patches-6.6/106-spi-img-spfi-finish-every-transfer-cleanly.patch
target/linux/pistachio/patches-6.6/401-mtd-nor-support-mtd-name-from-device-tree.patch

index d5cfb0fe1502b321192e258ec866d29c213cb102..ec003f6ed9d1e2fd8816e301b4755a9c00aec936 100644 (file)
@@ -12,7 +12,7 @@ CPU_TYPE:=24kc
 CPU_SUBTYPE:=24kf
 SUBTARGETS:=generic
 
-KERNEL_PATCHVER:=6.1
+KERNEL_PATCHVER:=6.6
 
 include $(INCLUDE_DIR)/target.mk
 
index 926b5e67f7420ac893968443f8c66ee9d9c5d78e..f1b98868e0ec6777facd18d205c4d6216d597774 100644 (file)
@@ -8,7 +8,10 @@ CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_SD=y
 # CONFIG_BOARD_INGENIC is not set
 CONFIG_BOARD_SCACHE=y
+CONFIG_BUFFER_HEAD=y
 CONFIG_BUILTIN_DTB=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_CC_NO_ARRAY_BOUNDS=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLKSRC_MIPS_GIC=y
 CONFIG_CLKSRC_PISTACHIO=y
@@ -17,8 +20,11 @@ CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_COMMON_CLK=y
 CONFIG_COMMON_CLK_PISTACHIO=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
 CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_CONNECTOR=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
 CONFIG_CPU_GENERIC_DUMP_TLB=y
 CONFIG_CPU_HAS_DIEI=y
 CONFIG_CPU_HAS_PREFETCH=y
@@ -33,13 +39,17 @@ CONFIG_CPU_LITTLE_ENDIAN=y
 CONFIG_CPU_MIPS32=y
 # CONFIG_CPU_MIPS32_R1 is not set
 CONFIG_CPU_MIPS32_R2=y
+# CONFIG_CPU_MIPS32_R5 is not set
+# CONFIG_CPU_MIPS32_R5_FEATURES is not set
 # CONFIG_CPU_MIPS32_R6 is not set
 # CONFIG_CPU_MIPS64_R1 is not set
 # CONFIG_CPU_MIPS64_R2 is not set
+# CONFIG_CPU_MIPS64_R5 is not set
 # CONFIG_CPU_MIPS64_R6 is not set
 CONFIG_CPU_MIPSR2=y
 CONFIG_CPU_MIPSR2_IRQ_EI=y
 CONFIG_CPU_MIPSR2_IRQ_VI=y
+CONFIG_CPU_MITIGATIONS=y
 CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
 CONFIG_CPU_PM=y
 CONFIG_CPU_R4K_CACHE_TLB=y
@@ -54,8 +64,11 @@ CONFIG_CRYPTO_CRC32C=y
 CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_HASH_INFO=y
 CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_GF128MUL=y
 CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2
+CONFIG_CRYPTO_LIB_SHA1=y
 CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_UTILS=y
 CONFIG_CRYPTO_LZO=y
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_RNG=y
@@ -64,6 +77,7 @@ CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA256=y
 CONFIG_CRYPTO_ZSTD=y
 CONFIG_CSRC_R4K=y
+CONFIG_DEBUG_INFO=y
 CONFIG_DMADEVICES=y
 CONFIG_DMA_ENGINE=y
 CONFIG_DMA_NONCOHERENT=y
@@ -71,6 +85,7 @@ CONFIG_DMA_OF=y
 CONFIG_DMA_VIRTUAL_CHANNELS=y
 CONFIG_DTC=y
 CONFIG_DWMAC_GENERIC=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
 CONFIG_EXT4_FS=y
 # CONFIG_FIT_IMAGE_FDT_BOSTON is not set
 # CONFIG_FIT_IMAGE_FDT_JAGUAR2 is not set
@@ -84,15 +99,18 @@ CONFIG_FIXED_PHY=y
 CONFIG_FS_IOMAP=y
 CONFIG_FS_MBCACHE=y
 CONFIG_FS_POSIX_ACL=y
+CONFIG_FUNCTION_ALIGNMENT=0
 CONFIG_FWNODE_MDIO=y
 CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_FW_LOADER_SYSFS=y
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
 CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_GENERIC_ATOMIC64=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
 CONFIG_GENERIC_IOMAP=y
 CONFIG_GENERIC_IRQ_CHIP=y
 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
@@ -113,11 +131,13 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GPIOLIB_IRQCHIP=y
 CONFIG_GPIO_CDEV=y
-CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
 CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
 CONFIG_HOTPLUG_CPU=y
 CONFIG_HZ_PERIODIC=y
 CONFIG_I2C=y
@@ -147,7 +167,6 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
 CONFIG_MDIO_BUS=y
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_DEVRES=y
-CONFIG_MEMFD_CREATE=y
 CONFIG_MFD_SYSCON=y
 CONFIG_MICREL_PHY=y
 CONFIG_MIGRATION=y
@@ -165,13 +184,11 @@ CONFIG_MIPS_CPS=y
 # CONFIG_MIPS_CPS_NS16550_BOOL is not set
 CONFIG_MIPS_CPS_PM=y
 CONFIG_MIPS_CPU_SCACHE=y
-CONFIG_MIPS_EBPF_JIT=y
 CONFIG_MIPS_GENERIC=y
 CONFIG_MIPS_GENERIC_KERNEL=y
 CONFIG_MIPS_GIC=y
 CONFIG_MIPS_L1_CACHE_SHIFT=7
 CONFIG_MIPS_L1_CACHE_SHIFT_7=y
-CONFIG_MIPS_LD_CAN_LINK_VDSO=y
 CONFIG_MIPS_MT=y
 CONFIG_MIPS_MT_FPAFF=y
 CONFIG_MIPS_MT_SMP=y
@@ -187,6 +204,7 @@ CONFIG_MMC_DW=y
 # CONFIG_MMC_DW_HI3798CV200 is not set
 # CONFIG_MMC_DW_K3 is not set
 CONFIG_MMC_DW_PLTFM=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
 CONFIG_MODULES_USE_ELF_REL=y
 CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_MTD_CMDLINE_PARTS=y
@@ -201,9 +219,13 @@ CONFIG_MTD_UBI_BLOCK=y
 CONFIG_MTD_UBI_FASTMAP=y
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SRCU_NMI_SAFE=y
+CONFIG_NET_EGRESS=y
 CONFIG_NET_FLOW_LIMIT=y
+CONFIG_NET_INGRESS=y
 CONFIG_NET_PTP_CLASSIFY=y
 CONFIG_NET_SELFTESTS=y
+CONFIG_NET_XGRESS=y
 CONFIG_NLS=y
 CONFIG_NO_EXCEPT_FILL=y
 CONFIG_NR_CPUS=4
@@ -217,17 +239,21 @@ CONFIG_OF_KOBJ=y
 CONFIG_OF_MDIO=y
 CONFIG_PADATA=y
 CONFIG_PAGE_POOL=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
 CONFIG_PCI_DRIVERS_GENERIC=y
 CONFIG_PCS_XPCS=y
 CONFIG_PERF_USE_VMALLOC=y
 CONFIG_PGTABLE_LEVELS=2
 CONFIG_PHYLIB=y
+CONFIG_PHYLIB_LEDS=y
 CONFIG_PHYLINK=y
 CONFIG_PHY_PISTACHIO_USB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_PISTACHIO=y
 CONFIG_POWER_SUPPLY=y
 CONFIG_PPS=y
+CONFIG_PREEMPT_NONE_BUILD=y
 CONFIG_PRINTK_TIME=y
 CONFIG_PROC_EVENTS=y
 CONFIG_PTP_1588_CLOCK=y
@@ -237,6 +263,7 @@ CONFIG_PWM_IMG=y
 CONFIG_PWM_SYSFS=y
 CONFIG_QUEUED_RWLOCKS=y
 CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_RANDSTRUCT_NONE=y
 CONFIG_RATIONAL=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_MMIO=y
@@ -270,8 +297,8 @@ CONFIG_SPI=y
 CONFIG_SPI_IMG_SPFI=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_MEM=y
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
 CONFIG_SRAM=y
-CONFIG_SRCU=y
 CONFIG_STMMAC_ETH=y
 CONFIG_STMMAC_PLATFORM=y
 CONFIG_SWAP_IO_SPACE=y
@@ -280,9 +307,11 @@ CONFIG_SYNC_R4K=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_SYS_HAS_CPU_MIPS32_R1=y
 CONFIG_SYS_HAS_CPU_MIPS32_R2=y
+CONFIG_SYS_HAS_CPU_MIPS32_R5=y
 CONFIG_SYS_HAS_CPU_MIPS32_R6=y
 CONFIG_SYS_HAS_CPU_MIPS64_R1=y
 CONFIG_SYS_HAS_CPU_MIPS64_R2=y
+CONFIG_SYS_HAS_CPU_MIPS64_R5=y
 CONFIG_SYS_HAS_CPU_MIPS64_R6=y
 CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
 CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
@@ -329,7 +358,6 @@ CONFIG_XXHASH=y
 CONFIG_ZBOOT_LOAD_ADDRESS=0x0
 CONFIG_ZLIB_DEFLATE=y
 CONFIG_ZLIB_INFLATE=y
-CONFIG_ZSMALLOC=y
-# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSTD_COMMON=y
 CONFIG_ZSTD_COMPRESS=y
 CONFIG_ZSTD_DECOMPRESS=y
index 031a4e3e5eedd65a431de80a6d1e57e1c415e444..abaaae1cc7c493756b49d86db6671086cd1880db 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Damien Horsley <damien.horsley@imgtec.com>
 
 --- a/drivers/dma/img-mdc-dma.c
 +++ b/drivers/dma/img-mdc-dma.c
-@@ -618,25 +618,33 @@ static enum dma_status mdc_tx_status(str
+@@ -617,25 +617,33 @@ static enum dma_status mdc_tx_status(str
                        (MDC_CMDS_PROCESSED_CMDS_DONE_MASK + 1);
  
                /*
index 83f21a5c0a5dee60044fe5bfca3141616e393895..6ec1a2ab12bdf81e42824799f33eb6c0cf15524d 100644 (file)
@@ -103,10 +103,10 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
                        return 0;
                }
                cpu_relax();
-@@ -441,9 +460,32 @@ static void img_spfi_config(struct spi_m
+@@ -441,9 +460,32 @@ static void img_spfi_config(struct spi_c
                            struct spi_transfer *xfer)
  {
-       struct img_spfi *spfi = spi_master_get_devdata(spi->master);
+       struct img_spfi *spfi = spi_controller_get_devdata(spi->controller);
 -      u32 val, div;
 +      u32 val, div, transact;
 +      bool is_pending;
@@ -137,13 +137,13 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
         * output = spfi_clk * (BITCLK / 512), where BITCLK must be a
         * power of 2 up to 128
         */
-@@ -456,20 +498,52 @@ static void img_spfi_config(struct spi_m
+@@ -456,20 +498,52 @@ static void img_spfi_config(struct spi_c
        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_get_chipselect(spi, 0)));
  
 -      spfi_writel(spfi, xfer->len << SPFI_TRANSACTION_TSIZE_SHIFT,
 -                  SPFI_TRANSACTION);
-+      if (!list_is_last(&xfer->transfer_list, &master->cur_msg->transfers) &&
++      if (!list_is_last(&xfer->transfer_list, &host->cur_msg->transfers) &&
 +              /*
 +               * For duplex mode (both the tx and rx buffers are !NULL) the
 +               * CMD, ADDR, and DUMMY byte parts of the transaction register
index 2995b7dd88c569ddb8f0e4e32d99589b22631853..b3505134b62cafdd83ce514829a927043066d49c 100644 (file)
@@ -15,8 +15,8 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
 
 --- a/drivers/spi/spi-img-spfi.c
 +++ b/drivers/spi/spi-img-spfi.c
-@@ -429,18 +429,23 @@ static int img_spfi_prepare(struct spi_m
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+@@ -429,18 +429,23 @@ static int img_spfi_prepare(struct spi_c
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
        u32 val;
  
 +      /*
@@ -28,27 +28,27 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
 +      /* 0 for device selection */
        val &= ~(SPFI_PORT_STATE_DEV_SEL_MASK <<
                 SPFI_PORT_STATE_DEV_SEL_SHIFT);
--      val |= msg->spi->chip_select << SPFI_PORT_STATE_DEV_SEL_SHIFT;
+-      val |= spi_get_chipselect(msg->spi, 0) << SPFI_PORT_STATE_DEV_SEL_SHIFT;
        if (msg->spi->mode & SPI_CPHA)
--              val |= SPFI_PORT_STATE_CK_PHASE(msg->spi->chip_select);
+-              val |= SPFI_PORT_STATE_CK_PHASE(spi_get_chipselect(msg->spi, 0));
 +              val |= SPFI_PORT_STATE_CK_PHASE(0);
        else
--              val &= ~SPFI_PORT_STATE_CK_PHASE(msg->spi->chip_select);
+-              val &= ~SPFI_PORT_STATE_CK_PHASE(spi_get_chipselect(msg->spi, 0));
 +              val &= ~SPFI_PORT_STATE_CK_PHASE(0);
        if (msg->spi->mode & SPI_CPOL)
--              val |= SPFI_PORT_STATE_CK_POL(msg->spi->chip_select);
+-              val |= SPFI_PORT_STATE_CK_POL(spi_get_chipselect(msg->spi, 0));
 +              val |= SPFI_PORT_STATE_CK_POL(0);
        else
--              val &= ~SPFI_PORT_STATE_CK_POL(msg->spi->chip_select);
+-              val &= ~SPFI_PORT_STATE_CK_POL(spi_get_chipselect(msg->spi, 0));
 +              val &= ~SPFI_PORT_STATE_CK_POL(0);
        spfi_writel(spfi, val, SPFI_PORT_STATE);
  
        return 0;
-@@ -492,11 +497,15 @@ static void img_spfi_config(struct spi_m
+@@ -492,11 +497,15 @@ static void img_spfi_config(struct spi_c
        div = DIV_ROUND_UP(clk_get_rate(spfi->spfi_clk), xfer->speed_hz);
        div = clamp(512 / (1 << get_count_order(div)), 1, 128);
  
--      val = spfi_readl(spfi, SPFI_DEVICE_PARAMETER(spi->chip_select));
+-      val = spfi_readl(spfi, SPFI_DEVICE_PARAMETER(spi_get_chipselect(spi, 0)));
 +      /*
 +       * The chip select line is controlled externally so
 +       * we can use the CS0 parameters for all devices
@@ -57,8 +57,8 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
        val &= ~(SPFI_DEVICE_PARAMETER_BITCLK_MASK <<
                 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_get_chipselect(spi, 0)));
 +      spfi_writel(spfi, val, SPFI_DEVICE_PARAMETER(0));
  
-       if (!list_is_last(&xfer->transfer_list, &master->cur_msg->transfers) &&
+       if (!list_is_last(&xfer->transfer_list, &host->cur_msg->transfers) &&
                /*
index ea1f9f28cc73611a585134dd2fec05c3b71712f2..a87594e4c719ecb17d13cac8c4eee9eb9a2643eb 100644 (file)
@@ -101,7 +101,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
 -      if (!spfi->tx_dma_busy)
 +      if (!spfi->tx_dma_busy) {
 +              spfi_finish(spfi);
-               spi_finalize_current_transfer(spfi->master);
+               spi_finalize_current_transfer(spfi->host);
 +      }
        spin_unlock_irqrestore(&spfi->lock, flags);
  }
@@ -113,7 +113,7 @@ Signed-off-by: Ionela Voinescu <ionela.voinescu@imgtec.com>
 -      if (!spfi->rx_dma_busy)
 +      if (!spfi->rx_dma_busy) {
 +              spfi_finish(spfi);
-               spi_finalize_current_transfer(spfi->master);
+               spi_finalize_current_transfer(spfi->host);
 +      }
        spin_unlock_irqrestore(&spfi->lock, flags);
  }
index a8ebab9cd230d3e89d9a2d511697acf18fa8c6d1..c7b07952e7ab524aee04fcb9b0d5df828be5f57b 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
 
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -2964,12 +2964,20 @@ static void spi_nor_set_mtd_info(struct
+@@ -3420,12 +3420,20 @@ static void spi_nor_set_mtd_info(struct
  {
        struct mtd_info *mtd = &nor->mtd;
        struct device *dev = nor->dev;
@@ -33,7 +33,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
        mtd->flags = MTD_CAP_NORFLASH;
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -863,6 +863,17 @@ out_error:
+@@ -870,6 +870,17 @@ out_error:
   */
  static void mtd_set_dev_defaults(struct mtd_info *mtd)
  {