Compare commits

...
Author SHA1 Message Date
crashniels e39f44a534 sony-ps4: new device 2024-10-02 20:57:05 +02:00
Adam Thiede e5093e14b8 linux-postmarketos-mediatek-mt8173: upgrade to 6.11.1 (MR 5611)
introducing a patch to fix blank framebuffer; will report this upstream
as well. Bad commit is bc46eb5d5d7780782c70c7915f59ed25a908d550
2024-10-02 23:13:43 +09:00
Pablo Correa Gómez 1fdfc60c36 main/postmarketos-base-eink: install udev rule under /usr (MR 5663)
[ci:ignore-count]

[ci:skip-build]: already built successfully in CI
2024-10-02 15:26:08 +02:00
Pablo Correa Gómez d175b10ef2 main/unl0kr: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez fc7a6b020b main/postmarketos-mkinitfs-hook-ci: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez d424c71493 main/postmarketos-initramfs: fix paths due to /usr merge (MR 5663)
Consequence of
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez b4b9abc4fe temp/mutter-mobile: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez f97ec6d74a temp/iio-sensor-proxy: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez 878e7179f1 temp/gnome-settings-daemon-mobile: rebuild to move udev rules under /usr (MR 5663)
This packages fetches the directory from the pkgconfig file
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez 2779c51baf main/postmarketos-base-downstream: move udev rules under /usr (MR 5663)
Depends on
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:04 +02:00
Pablo Correa Gómez ca8d40f727 device-purism-librem5dev: move hwdb under /usr (MR 5663)
Depends on
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/72703
2024-10-02 15:26:03 +02:00
Arnav Singh 5b7d971d3e linux-postmarketos-allwinner: upgrade to 6.11.0_git20240915 (MR 5669)
- 0012-ARM-dts-allwinner-sun5i-a13-pocketbook-614-plus-Add-.patch

  The dts added by this patch is now present in upstream, so this patch has
  been removed. Note that the upstream dts has differences from the one that
  this patch added.

- Set myself as primary maintainer since Jan has been inactive for
  many months now.
[ci:skip-build]: already built successfully in CI
2024-10-02 15:00:46 +02:00
fossdd a9e97f5aa6 main/postmarketos-ui-gnome-mobile: use blue accent color by default (MR 5648)
See 20_postmarketos-blue-accent.gschema.override for reasoning.
2024-10-02 11:20:17 +02:00
fossdd d6344ca124 main/postmarketos-ui-phosh: use blue accent color by default (MR 5648)
See 20_postmarketos-blue-accent.gschema.override for reasoning.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/3218
2024-10-02 11:19:42 +02:00
postmarketOS CI b081572252 linux-next: upgrade to next-20241001 2024-10-01 21:02:35 +00:00
62 changed files with 19120 additions and 451 deletions

No files matched your search

@@ -1,8 +1,8 @@
# Maintainer: Adam Thiede <me@adamthiede.com>
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=linux-postmarketos-mediatek-mt8173
pkgver=6.10.10
pkgrel=2
pkgver=6.11.1
pkgrel=0
pkgdesc="Mainline kernel fork for Mediatek MT8173 devices"
arch="aarch64"
_carch="arm64"
@@ -37,6 +37,7 @@ source="
https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${pkgver//_/-}.tar.xz
$_config
fix-mmc-order.patch
revert-drm-change.patch
"
builddir="$srcdir/linux-${_kernver//_/-}"
@@ -66,7 +67,8 @@ package() {
}
sha512sums="
affaa3690150ca13f0ee14f91f0e09a5ad3340a7ea6404e34286dfb4bd4fdfe12fcac47e83da7878681bf28a8a8b78e0b315e1563408885dbb07aac5bd2e4dce linux-6.10.10.tar.xz
44c35de93ea3bfe214585c4b8909613b17a6e280765ab84352e3d07490a42403e3e68ab7f26eb9442004a1ee7f78ef0fd6ebdeab01561ac84a8073d817ca3434 config-postmarketos-mediatek-mt8173.aarch64
026b8fe7a1eaacf832e9d0da08861869542248ef89daade3292d1e11b886788e2b1e4c8828b0509c454aedfdc7f22e9afbb446033072ebabf8c02fd5f5bf0d7f linux-6.11.1.tar.xz
18f9f5d61a02558cc3a8fbc6311d6d05853e62bac5592ee24c4314d8e63bc2fc50914607cdabbb9e6a9d4c3d3a95100bfc71326387bc2303fa78773e33a042bd config-postmarketos-mediatek-mt8173.aarch64
c86f8dfc32165a32381d45a4c8b6811ebf43f01b5d8a48fbe227cf5084cfefe24b32264c1c150cb49115db4759a2d21ad48b37dcaac78367d226e9cc2a5ba849 fix-mmc-order.patch
837e3cbd28f5948beb6f71ce6c39cd738ce5916596c9c3d9727621b7441268a415ec8487dc6b8ae936ac9193bbbd23ebcf023419357e1e1ec5b9d1a9ffc52452 revert-drm-change.patch
"
@@ -1,21 +1,18 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.10.10 Kernel Configuration
# Linux/arm64 6.11.1 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Alpine 14.2.0) 14.2.0"
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 14.2.0) 14.2.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=140200
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=24301
CONFIG_AS_VERSION=24200
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24301
CONFIG_LD_VERSION=24200
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
@@ -178,7 +175,7 @@ CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
@@ -537,6 +534,7 @@ CONFIG_ARM64_CONTPTE=y
CONFIG_CMDLINE=""
CONFIG_EFI_STUB=y
CONFIG_EFI=y
# CONFIG_COMPRESSED_INSTALL is not set
CONFIG_DMI=y
# end of Boot options
@@ -759,7 +757,6 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_RELR=y
CONFIG_RELR=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
@@ -811,7 +808,6 @@ CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
@@ -898,6 +894,7 @@ CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
CONFIG_ZBUD=y
CONFIG_Z3FOLD=y
CONFIG_HAVE_ZSMALLOC=y
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8
@@ -909,6 +906,7 @@ CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLAB_BUCKETS is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
@@ -1405,6 +1403,7 @@ CONFIG_NET_DSA_TAG_BRCM_PREPEND=m
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_VSC73XX_8021Q is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
@@ -1722,7 +1721,6 @@ CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_PCIE_MEDIATEK is not set
# CONFIG_PCIE_MEDIATEK_GEN3 is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
CONFIG_PCI_XGENE=y
CONFIG_PCI_XGENE_MSI=y
# CONFIG_PCIE_XILINX is not set
@@ -1751,6 +1749,12 @@ CONFIG_PCIE_KIRIN=y
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
#
# PLDA-based PCIe controllers
#
# CONFIG_PCIE_MICROCHIP_HOST is not set
# end of PLDA-based PCIe controllers
# end of PCI controller drivers
#
@@ -2192,6 +2196,7 @@ CONFIG_EEPROM_93CX6=m
CONFIG_UACCE=m
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# CONFIG_KEBA_CP500 is not set
# end of Misc devices
#
@@ -2580,6 +2585,7 @@ CONFIG_SKY2=y
# CONFIG_PRESTERA is not set
# CONFIG_NET_VENDOR_MEDIATEK is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_META is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
@@ -2776,6 +2782,7 @@ CONFIG_MDIO_BUS_MUX_MMIOREG=m
#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers
# CONFIG_PPP is not set
@@ -2847,6 +2854,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_USB is not set
CONFIG_ATH10K_DEBUG=y
CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K_LEDS=y
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_WCN36XX=m
@@ -2935,6 +2943,7 @@ CONFIG_RTL_CARDS=m
# CONFIG_RTL8192EE is not set
# CONFIG_RTL8821AE is not set
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8192DU is not set
CONFIG_RTL8XXXU=m
# CONFIG_RTL8XXXU_UNTESTED is not set
# CONFIG_RTW88 is not set
@@ -3476,6 +3485,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_CADENCE is not set
CONFIG_SPI_CADENCE_QUADSPI=y
# CONFIG_SPI_CADENCE_XSPI is not set
# CONFIG_SPI_CH341 is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_DMA=y
# CONFIG_SPI_DW_PCI is not set
@@ -3564,6 +3574,7 @@ CONFIG_PINCTRL_MAX77620=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINCTRL_IMX_SCMI is not set
#
# MediaTek pinctrl drivers
@@ -3692,6 +3703,12 @@ CONFIG_GPIO_MAX77620=y
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers
#
# GPIO Debugging utilities
#
# CONFIG_GPIO_VIRTUSER is not set
# end of GPIO Debugging utilities
# CONFIG_W1 is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_GPIO is not set
@@ -3706,6 +3723,7 @@ CONFIG_POWER_RESET_SYSCON=y
CONFIG_REBOOT_MODE=y
CONFIG_SYSCON_REBOOT_MODE=y
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_POWER_SEQUENCING is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
@@ -3727,6 +3745,7 @@ CONFIG_BATTERY_BQ27XXX_I2C=y
# CONFIG_AXP20X_POWER is not set
# CONFIG_BATTERY_MAX17040 is not set
CONFIG_BATTERY_MAX17042=m
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -3791,6 +3810,7 @@ CONFIG_SENSORS_ARM_SCPI=y
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
CONFIG_SENSORS_CROS_EC=y
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
@@ -3910,6 +3930,7 @@ CONFIG_SENSORS_PWM_FAN=m
CONFIG_SENSORS_INA2XX=m
# CONFIG_SENSORS_INA238 is not set
CONFIG_SENSORS_INA3221=m
# CONFIG_SENSORS_SPD5118 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
@@ -4058,6 +4079,7 @@ CONFIG_MFD_HI6421_PMIC=y
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_88PM886_PMIC is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
CONFIG_MFD_MAX77620=y
@@ -4134,11 +4156,14 @@ CONFIG_MFD_SYSCON=y
CONFIG_MFD_ROHM_BD718XX=y
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_ROHM_BD96801 is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
CONFIG_MFD_WCD934X=m
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_MFD_CS40L50_SPI is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
@@ -4436,6 +4461,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
#
# Chips&Media media platform drivers
#
# CONFIG_VIDEO_E5010_JPEG_ENC is not set
#
# Intel media platform drivers
@@ -4477,6 +4503,11 @@ CONFIG_VIDEO_MEDIATEK_VPU=m
# Qualcomm media platform drivers
#
#
# Raspberry Pi media platform drivers
#
# CONFIG_VIDEO_RASPBERRYPI_PISP_BE is not set
#
# Renesas media platform drivers
#
@@ -4541,6 +4572,8 @@ CONFIG_VIDEO_CAMERA_SENSOR=y
# CONFIG_VIDEO_ALVIUM_CSI2 is not set
# CONFIG_VIDEO_AR0521 is not set
# CONFIG_VIDEO_GC0308 is not set
# CONFIG_VIDEO_GC05A2 is not set
# CONFIG_VIDEO_GC08A3 is not set
# CONFIG_VIDEO_GC2145 is not set
# CONFIG_VIDEO_HI556 is not set
# CONFIG_VIDEO_HI846 is not set
@@ -4550,6 +4583,7 @@ CONFIG_VIDEO_CAMERA_SENSOR=y
CONFIG_VIDEO_IMX219=m
# CONFIG_VIDEO_IMX258 is not set
# CONFIG_VIDEO_IMX274 is not set
# CONFIG_VIDEO_IMX283 is not set
# CONFIG_VIDEO_IMX290 is not set
# CONFIG_VIDEO_IMX296 is not set
# CONFIG_VIDEO_IMX319 is not set
@@ -4605,7 +4639,7 @@ CONFIG_VIDEO_OV5645=m
# CONFIG_VIDEO_S5C73M3 is not set
# CONFIG_VIDEO_S5K5BAF is not set
# CONFIG_VIDEO_S5K6A3 is not set
# CONFIG_VIDEO_ST_VGXY61 is not set
# CONFIG_VIDEO_VGXY61 is not set
# CONFIG_VIDEO_CCS is not set
# CONFIG_VIDEO_ET8EK8 is not set
@@ -4648,6 +4682,8 @@ CONFIG_VIDEO_OV5645=m
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_MAX96714 is not set
# CONFIG_VIDEO_MAX96717 is not set
# end of Video serializers and deserializers
#
@@ -4740,18 +4776,21 @@ CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_BRIDGE_CONNECTOR=y
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_STATE_HELPER=y
CONFIG_DRM_TTM=m
CONFIG_DRM_EXEC=y
CONFIG_DRM_GPUVM=y
CONFIG_DRM_VRAM_HELPER=m
CONFIG_DRM_TTM_HELPER=m
CONFIG_DRM_GEM_DMA_HELPER=m
CONFIG_DRM_GEM_DMA_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y
@@ -4805,11 +4844,13 @@ CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=y
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_HIMAX_HX83102 is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9806E is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
@@ -4822,6 +4863,7 @@ CONFIG_DRM_PANEL_INNOLUX_P079ZCA=y
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=y
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LINCOLNTECH_LCD197 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LG_SW43408 is not set
@@ -5044,6 +5086,7 @@ CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3509 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
@@ -5283,6 +5326,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_AK4458 is not set
# CONFIG_SND_SOC_AK4554 is not set
CONFIG_SND_SOC_AK4613=m
# CONFIG_SND_SOC_AK4619 is not set
# CONFIG_SND_SOC_AK4642 is not set
# CONFIG_SND_SOC_AK5386 is not set
# CONFIG_SND_SOC_AK5558 is not set
@@ -5326,6 +5370,7 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m
# CONFIG_SND_SOC_CS4341 is not set
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
# CONFIG_SND_SOC_CS530X_I2C is not set
# CONFIG_SND_SOC_CX2072X is not set
# CONFIG_SND_SOC_DA7213 is not set
CONFIG_SND_SOC_DA7219=m
@@ -5333,6 +5378,7 @@ CONFIG_SND_SOC_DMIC=m
CONFIG_SND_SOC_HDMI_CODEC=y
CONFIG_SND_SOC_ES7134=m
CONFIG_SND_SOC_ES7241=m
# CONFIG_SND_SOC_ES8311 is not set
# CONFIG_SND_SOC_ES8316 is not set
# CONFIG_SND_SOC_ES8326 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
@@ -5380,6 +5426,7 @@ CONFIG_SND_SOC_RT1015P=m
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
# CONFIG_SND_SOC_RT1318_SDW is not set
# CONFIG_SND_SOC_RT1320_SDW is not set
CONFIG_SND_SOC_RT5514=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
@@ -5446,6 +5493,7 @@ CONFIG_SND_SOC_WCD_CLASSH=m
CONFIG_SND_SOC_WCD9335=m
CONFIG_SND_SOC_WCD_MBHC=m
CONFIG_SND_SOC_WCD934X=m
# CONFIG_SND_SOC_WCD937X_SDW is not set
# CONFIG_SND_SOC_WCD938X_SDW is not set
# CONFIG_SND_SOC_WCD939X_SDW is not set
# CONFIG_SND_SOC_WM8510 is not set
@@ -6113,6 +6161,7 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CR0014114 is not set
CONFIG_LEDS_CROS_EC=m
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
@@ -6189,6 +6238,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y
# CONFIG_LEDS_TRIGGER_NETDEV is not set
CONFIG_LEDS_TRIGGER_PATTERN=y
# CONFIG_LEDS_TRIGGER_TTY is not set
# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
#
# Simple LED drivers
@@ -6538,10 +6588,10 @@ CONFIG_CROS_EC_TYPEC=m
# CONFIG_CROS_HPS_I2C is not set
CONFIG_CROS_USBPD_LOGGER=m
CONFIG_CROS_USBPD_NOTIFY=y
# CONFIG_CZNIC_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
CONFIG_ARM64_PLATFORM_DEVICES=y
# CONFIG_EC_ACER_ASPIRE1 is not set
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -7017,6 +7067,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7380 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
@@ -7031,7 +7082,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_AXP20X_ADC is not set
# CONFIG_AXP288_ADC is not set
# CONFIG_CC10001_ADC is not set
@@ -7057,6 +7107,7 @@ CONFIG_MAX9611=m
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_MEDIATEK_MT6359_AUXADC is not set
# CONFIG_MEDIATEK_MT6360_ADC is not set
CONFIG_MEDIATEK_MT6577_AUXADC=m
# CONFIG_NAU7802 is not set
@@ -7075,6 +7126,7 @@ CONFIG_QCOM_SPMI_ADC5=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS1119 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
@@ -7126,6 +7178,7 @@ CONFIG_TI_ADS1015=m
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_ENS160 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
@@ -7179,7 +7232,6 @@ CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_AD9739A is not set
# CONFIG_ADI_AXI_DAC is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
@@ -7375,6 +7427,7 @@ CONFIG_SENSORS_ISL29018=m
CONFIG_VCNL4000=m
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6040 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
@@ -7540,6 +7593,7 @@ CONFIG_PWM=y
CONFIG_PWM_CROS_EC=y
# CONFIG_PWM_DWC is not set
# CONFIG_PWM_FSL_FTM is not set
# CONFIG_PWM_GPIO is not set
CONFIG_PWM_MTK_DISP=y
CONFIG_PWM_MEDIATEK=y
# CONFIG_PWM_PCA9685 is not set
@@ -7555,7 +7609,9 @@ CONFIG_ARM_GIC_V2M=y
CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC_V3_ITS=y
CONFIG_ARM_GIC_V3_ITS_PCI=y
CONFIG_IRQ_MSI_LIB=y
# CONFIG_AL_FIC is not set
# CONFIG_LAN966X_OIC is not set
# CONFIG_XILINX_INTC is not set
CONFIG_PARTITION_PERCPU=y
CONFIG_MST_IRQ=y
@@ -7702,6 +7758,7 @@ CONFIG_PM_OPP=y
CONFIG_SLIMBUS=m
CONFIG_SLIM_QCOM_CTRL=m
CONFIG_INTERCONNECT=y
# CONFIG_INTERCONNECT_MTK is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
@@ -7796,6 +7853,7 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
# CONFIG_FSCACHE is not set
# end of Caches
@@ -8120,7 +8178,6 @@ CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography
@@ -0,0 +1,27 @@
From 94cb0ae98fc7e8e0ad0dc4e0d8f0dde2beb681a8 Mon Sep 17 00:00:00 2001
From: Adam Thiede <me@adamthiede.com>
Date: Mon, 30 Sep 2024 08:08:23 -0500
Subject: [PATCH] Revert "drm/mediatek: Support DRM plane alpha in OVL"
This reverts commit bc46eb5d5d7780782c70c7915f59ed25a908d550.
---
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index 9d6d9fd8342e41..3cf02b4eaff6d1 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -453,10 +453,8 @@ void mtk_ovl_layer_config(struct device *dev, unsigned int idx,
}
con = ovl_fmt_convert(ovl, fmt);
- if (state->base.fb) {
- con |= OVL_CON_AEN;
- con |= state->base.alpha & OVL_CON_ALPHA;
- }
+ if (state->base.fb && state->base.fb->format->has_alpha)
+ con |= OVL_CON_AEN | OVL_CON_ALPHA;
/* CONST_BLD must be enabled for XRGB formats although the alpha channel
* can be ignored, or OVL will still read the value from memory.
@@ -1,4 +1,4 @@
From d4332814a2b716a54a743412559cd98cb050d652 Mon Sep 17 00:00:00 2001
From b1aa006649db47a3a7f4f8a0cb9867bc553d9609 Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Sat, 20 Apr 2019 01:19:48 +0200
Subject: [PATCH] dts: add dontbeevil (pinephone devkit)
@@ -17,7 +17,7 @@ Subject: [PATCH] dts: add dontbeevil (pinephone devkit)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-dontbeevil.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 38867649c063..5cddf8655d64 100644
index 0a0ec8a39259..0fb55ce917d7 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -1,6 +1,8 @@
@@ -532,5 +532,5 @@ index 000000000000..15a91f2d6202
+ status = "disabled";
+};
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 915dabee2a8213d0fc343179e815d4639c184d32 Mon Sep 17 00:00:00 2001
From 5c671df3771c2ccda1e3537949050bab1d012e8f Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Tue, 20 Oct 2020 14:42:01 +0200
Subject: [PATCH] dts: add pinetab-dev (old display panel)
@@ -10,7 +10,7 @@ Subject: [PATCH] dts: add pinetab-dev (old display panel)
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab-dev.dts
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index 5cddf8655d64..8cfed65e268d 100644
index 0fb55ce917d7..c17cc1afa402 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.2.dtb
@@ -57,5 +57,5 @@ index 000000000000..1e287f2fb9f3
+ };
+};
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 388517c7e13be56a364e48820e64a7f9376b1248 Mon Sep 17 00:00:00 2001
From c52f6eb387d094ea181bb156440b9f5014361b39 Mon Sep 17 00:00:00 2001
From: Oliver Smith <ollieparanoid@postmarketos.org>
Date: Tue, 20 Oct 2020 11:11:48 +0200
Subject: [PATCH] dts: pinetab: add missing ohci1
@@ -13,7 +13,7 @@ https://gitlab.com/pine64-org/linux/-/commit/69ae7087ec51b09bb6a0afb53dddb5eb030
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index 37466d70bb25..29e527e499db 100644
index 419fe19b4a6f..e30034a1553b 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -311,6 +311,10 @@ &ohci0 {
@@ -28,5 +28,5 @@ index 37466d70bb25..29e527e499db 100644
status = "okay";
};
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From eba1ff43e3bb9c7624f9678e7e9528663f89380e Mon Sep 17 00:00:00 2001
From 91f8fcf39d8465ba7d6c8147650eb564915225e6 Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Tue, 20 Oct 2020 14:44:51 +0200
Subject: [PATCH] dts: pinetab: make audio routing consistent with
@@ -9,7 +9,7 @@ Subject: [PATCH] dts: pinetab: make audio routing consistent with
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index 29e527e499db..230eedb39d50 100644
index e30034a1553b..b2a3c0f97ce1 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -494,13 +494,13 @@ &sound {
@@ -32,5 +32,5 @@ index 29e527e499db..230eedb39d50 100644
"ADCR", "Right ADC",
"Internal Microphone Left", "MBIAS",
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 2ee09f1d8da9d5fcf7b2579525c87151ee0896a2 Mon Sep 17 00:00:00 2001
From 48e55b423aa0347751c58c90c5d6846943736122 Mon Sep 17 00:00:00 2001
From: Clayton Craft <clayton@craftyguy.net>
Date: Wed, 16 Dec 2020 20:16:14 -0800
Subject: [PATCH] dts: pinephone: drop modem-power node
@@ -139,7 +139,7 @@ index ec4927dfe9dc..57b651d695af 100644
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
+};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
index fe7f2113a727..68392dee4407 100644
index dcd392fe6027..24b7f01fd901 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
@@ -310,6 +310,17 @@ ec25_codec: ec25-codec {
@@ -160,7 +160,7 @@ index fe7f2113a727..68392dee4407 100644
i2c_csi: i2c-csi {
compatible = "i2c-gpio";
sda-gpios = <&pio 4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; /* PE13 */
@@ -382,6 +393,7 @@ reg_usb_5v: usb-5v {
@@ -389,6 +400,7 @@ reg_usb_5v: usb-5v {
reg_vbat_bb: vbat-bb {
compatible = "regulator-fixed";
regulator-name = "vbat-bb";
@@ -169,5 +169,5 @@ index fe7f2113a727..68392dee4407 100644
regulator-max-microvolt = <3500000>;
gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From dee9e527e2f59edf679dffbd0dad2179be9e9965 Mon Sep 17 00:00:00 2001
From 39c6fba7dd220d7349e0a425e9aaaabe979dd924 Mon Sep 17 00:00:00 2001
From: JuniorJPDJ <git@juniorjpdj.pl>
Date: Tue, 23 Mar 2021 12:27:30 +0100
Subject: [PATCH] drm: panel: simple: Add Hannstar TQTM070CB501
@@ -8,10 +8,10 @@ Subject: [PATCH] drm: panel: simple: Add Hannstar TQTM070CB501
1 file changed, 27 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 20e3df1c59d4..d37108020fb7 100644
index bf40057c5cf3..55a8d221b002 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2344,6 +2344,30 @@ static const struct panel_desc hannstar_hsd101pww2 = {
@@ -2381,6 +2381,30 @@ static const struct panel_desc hannstar_hsd101pww2 = {
.connector_type = DRM_MODE_CONNECTOR_LVDS,
};
@@ -42,7 +42,7 @@ index 20e3df1c59d4..d37108020fb7 100644
static const struct drm_display_mode hitachi_tx23d38vm0caa_mode = {
.clock = 33333,
.hdisplay = 800,
@@ -4513,6 +4537,9 @@ static const struct of_device_id platform_of_match[] = {
@@ -4717,6 +4741,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "hit,tx23d38vm0caa",
.data = &hitachi_tx23d38vm0caa
@@ -53,5 +53,5 @@ index 20e3df1c59d4..d37108020fb7 100644
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 538c7faf1059027cb62f2e5ec4931a8fccaa3976 Mon Sep 17 00:00:00 2001
From 21d71ed910712ed81eef6cf6254d89fe6d49c3a1 Mon Sep 17 00:00:00 2001
From: JuniorJPDJ <git@juniorjpdj.pl>
Date: Tue, 23 Mar 2021 12:29:37 +0100
Subject: [PATCH] ARM: dts: sun6i: Add GoClever Orion 70L tablet
@@ -10,10 +10,10 @@ Subject: [PATCH] ARM: dts: sun6i: Add GoClever Orion 70L tablet
create mode 100644 arch/arm/boot/dts/allwinner/sun6i-a31s-goclever-gcta741l.dts
diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index 7c7fb94d2153..097614b95ff2 100644
index 54b156fca9bf..77593039273c 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -110,6 +110,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
@@ -111,6 +111,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
sun6i-a31-mele-a1000g-quad.dtb \
sun6i-a31s-colorfly-e708-q1.dtb \
sun6i-a31s-cs908.dtb \
@@ -131,5 +131,5 @@ index 000000000000..4fcba20ffe48
+ status = "okay";
+};
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From c8bf750c05bff5c271c1f51135d75e5641b0c58a Mon Sep 17 00:00:00 2001
From 6aa3e90d38c53c76b31ecc33e190605f0b63d554 Mon Sep 17 00:00:00 2001
From: JuniorJPDJ <git@juniorjpdj.pl>
Date: Thu, 25 Mar 2021 19:11:22 +0100
Subject: [PATCH] drm: panel: simple: Add Hannstar HSD070IDW1-A
@@ -8,10 +8,10 @@ Subject: [PATCH] drm: panel: simple: Add Hannstar HSD070IDW1-A
1 file changed, 27 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index d37108020fb7..b269ddadd64f 100644
index 55a8d221b002..abdf57dc2a63 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2264,6 +2264,30 @@ static const struct panel_desc giantplus_gpm940b0 = {
@@ -2301,6 +2301,30 @@ static const struct panel_desc giantplus_gpm940b0 = {
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
};
@@ -42,7 +42,7 @@ index d37108020fb7..b269ddadd64f 100644
static const struct display_timing hannstar_hsd070pww1_timing = {
.pixelclock = { 64300000, 71100000, 82000000 },
.hactive = { 1280, 1280, 1280 },
@@ -4525,6 +4549,9 @@ static const struct of_device_id platform_of_match[] = {
@@ -4729,6 +4753,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "giantplus,gpm940b0",
.data = &giantplus_gpm940b0,
@@ -53,5 +53,5 @@ index d37108020fb7..b269ddadd64f 100644
.compatible = "hannstar,hsd070pww1",
.data = &hannstar_hsd070pww1,
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 4b4c85b0a093be28ec9a8a72ef3a3f764fb28e03 Mon Sep 17 00:00:00 2001
From b346724c85c5d7852eab9b9902fd2f761185df7c Mon Sep 17 00:00:00 2001
From: JuniorJPDJ <git@juniorjpdj.pl>
Date: Thu, 25 Mar 2021 19:18:58 +0100
Subject: [PATCH] ARM: dts: sun6i: Add Lark FreeMe 70.2S tablet
@@ -10,7 +10,7 @@ Subject: [PATCH] ARM: dts: sun6i: Add Lark FreeMe 70.2S tablet
create mode 100644 arch/arm/boot/dts/allwinner/sun4i-a10-lark-freeme-70-2s.dts
diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index 097614b95ff2..902b8f6752a0 100644
index 77593039273c..ddc3b0deab8c 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -36,6 +36,7 @@ dtb-$(CONFIG_MACH_SUN4I) += \
@@ -274,5 +274,5 @@ index 000000000000..5f17902410c1
+ status = "okay";
+};
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From 125b782564a7dac6e6d1137e8103e2613b12600e Mon Sep 17 00:00:00 2001
From cd0734143da954f0a4bda9c40b353d55f9cacf66 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sat, 24 Aug 2019 01:36:44 +0200
Subject: [PATCH] eMMC workaround
@@ -34,5 +34,5 @@ index e9370c736497..a4abd589e95d 100644
ret = mmc_of_parse(mmc);
--
2.45.0
2.46.1
@@ -1,4 +1,4 @@
From c824f1e06e282be26c78918cb15f2dd1c6687e5e Mon Sep 17 00:00:00 2001
From e166f056c5a77c2258f8c1581d9b34de76f4a839 Mon Sep 17 00:00:00 2001
From: Maxim Karasev <begs@disroot.org>
Date: Sat, 4 Sep 2021 14:56:01 +0300
Subject: [PATCH] arm64: dts: allwinner: orangepi-3: fix ethernet
@@ -10,7 +10,7 @@ patch from LibreELEC tree.
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index 218c26c59429..a424eded0016 100644
index 332a9fe83ccd..6e53dadf543e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -145,7 +145,7 @@ hdmi_out_con: endpoint {
@@ -34,5 +34,5 @@ index 218c26c59429..a424eded0016 100644
};
--
2.45.0
2.46.1
@@ -1,295 +0,0 @@
From b9e47d013dac71b2f6d6c877222aa128138c3099 Mon Sep 17 00:00:00 2001
From: Denis Burkov <hitechshell@mail.ru>
Date: Mon, 11 Mar 2024 18:23:39 +0500
Subject: [PATCH] ARM: dts: allwinner: sun5i-a13-pocketbook-614-plus: Add
initial devicetree
---
arch/arm/boot/dts/allwinner/Makefile | 2 +
.../sun5i-a13-pocketbook-614-plus.dts | 254 ++++++++++++++++++
2 files changed, 256 insertions(+)
create mode 100644 arch/arm/boot/dts/allwinner/sun5i-a13-pocketbook-614-plus.dts
diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index 902b8f6752a0..f7eb88a5709b 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -62,6 +62,7 @@ dtb-$(CONFIG_MACH_SUN5I) += \
sun5i-a13-olinuxino.dtb \
sun5i-a13-olinuxino-micro.dtb \
sun5i-a13-pocketbook-touch-lux-3.dtb \
+ sun5i-a13-pocketbook-614-plus.dtb \
sun5i-a13-q8-tablet.dtb \
sun5i-a13-utoo-p66.dtb \
sun5i-gr8-chip-pro.dtb \
@@ -83,6 +84,7 @@ dtb-$(CONFIG_MACH_SUN5I) += \
sun5i-a13-olinuxino.dtb \
sun5i-a13-olinuxino-micro.dtb \
sun5i-a13-pocketbook-touch-lux-3.dtb \
+ sun5i-a13-pocketbook-614-plus.dtb \
sun5i-a13-q8-tablet.dtb \
sun5i-a13-utoo-p66.dtb \
sun5i-gr8-chip-pro.dtb \
diff --git a/arch/arm/boot/dts/allwinner/sun5i-a13-pocketbook-614-plus.dts b/arch/arm/boot/dts/allwinner/sun5i-a13-pocketbook-614-plus.dts
new file mode 100644
index 000000000000..cad9ce5f2a6f
--- /dev/null
+++ b/arch/arm/boot/dts/allwinner/sun5i-a13-pocketbook-614-plus.dts
@@ -0,0 +1,254 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2024 Denis Burkov <hitechshell@mail.ru>
+ */
+
+/dts-v1/;
+#include "sun5i-a13.dtsi"
+#include "sunxi-common-regulators.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+ model = "PocketBook 614 Plus";
+ compatible = "pocketbook,614-plus", "allwinner,sun5i-a13";
+
+ aliases {
+ serial0 = &uart1;
+ i2c0 = &i2c0;
+ i2c1 = &i2c1;
+ i2c2 = &i2c2;
+ rtc0 = &pcf8563;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pins_pocketbook>;
+
+ led {
+ gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */
+ default-state = "on";
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ autorepeat;
+ label = "GPIO Keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pocketbook_btn_pins>;
+
+ key-right {
+ label = "Right";
+ linux,code = <KEY_NEXT>;
+ gpios = <&pio 6 9 GPIO_ACTIVE_LOW>; /* PG9 */
+ };
+
+ key-left {
+ label = "Left";
+ linux,code = <KEY_PREVIOUS>;
+ gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 */
+ };
+ };
+
+ reg_3v3_mmc0: regulator-mmc0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd-mmc0";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pocketbook_reg_mmc0_pin>;
+ gpio = <&pio 4 4 GPIO_ACTIVE_LOW>; /* PE4 */
+ vin-supply = <&reg_vcc3v3>;
+ };
+};
+
+&cpu0 {
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+
+ axp209: pmic@34 {
+ compatible = "x-powers,axp209";
+ reg = <0x34>;
+ interrupts = <0>;
+ };
+};
+
+#include "axp209.dtsi"
+
+&i2c1 {
+ status = "okay";
+
+ pcf8563: rtc@51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ #clock-cells = <0>;
+ };
+};
+
+&i2c2 {
+ status = "okay";
+
+ /* Touchpanel is connected here. */
+};
+
+&lradc {
+ vref-supply = <&reg_ldo2>;
+ status = "okay";
+
+ button-300 {
+ label = "Down";
+ linux,code = <KEY_DOWN>;
+ channel = <0>;
+ voltage = <300000>;
+ };
+
+ button-700 {
+ label = "Up";
+ linux,code = <KEY_UP>;
+ channel = <0>;
+ voltage = <700000>;
+ };
+
+ button-1000 {
+ label = "Left";
+ linux,code = <KEY_LEFT>;
+ channel = <0>;
+ voltage = <1000000>;
+ };
+
+ button-1200 {
+ label = "Menu";
+ linux,code = <KEY_MENU>;
+ channel = <0>;
+ voltage = <1200000>;
+ };
+
+ button-1500 {
+ label = "Right";
+ linux,code = <KEY_RIGHT>;
+ channel = <0>;
+ voltage = <1500000>;
+ };
+};
+
+&mmc0 {
+ vmmc-supply = <&reg_3v3_mmc0>;
+ bus-width = <4>;
+ cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
+ status = "okay";
+};
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_4bit_pc_pins>;
+ vmmc-supply = <&reg_vcc3v3>;
+ bus-width = <4>;
+ non-removable;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&otg_sram {
+ status = "okay";
+};
+
+&pio {
+ led_pins_pocketbook: led-pin {
+ pins = "PE8";
+ function = "gpio_out";
+ };
+ pocketbook_btn_pins: pocketbook_btn_pins {
+ pins = "PG9", "PG10";
+ function = "gpio_in";
+ bias-pull-up;
+ };
+ pocketbook_reg_mmc0_pin: pocketbook_reg_mmc0_pin {
+ pins = "PE4";
+ function = "gpio_out";
+ };
+};
+
+&reg_dcdc2 {
+ regulator-always-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc3 {
+ regulator-always-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-name = "vdd-int-dll";
+};
+
+&reg_ldo1 {
+ regulator-name = "vdd-rtc";
+};
+
+&reg_ldo2 {
+ regulator-always-on;
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-name = "avcc";
+};
+
+&reg_ldo3 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc-wifi";
+};
+
+&reg_usb0_vbus {
+ status = "okay";
+ gpio = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
+};
+
+&reg_usb1_vbus {
+ gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
+ status = "okay";
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pg_pins>;
+ status = "okay";
+};
+
+&usb_otg {
+ dr_mode = "otg";
+ status = "okay";
+};
+
+&usb_power_supply {
+ status = "okay";
+};
+
+&battery_power_supply {
+ status = "okay";
+};
+
+&usbphy {
+ usb0_id_det-gpios = <&pio 6 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG2 */
+ usb0_vbus_det-gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>;
+ usb0_vbus-supply = <&reg_usb0_vbus>;
+ usb1_vbus-supply = <&reg_usb1_vbus>;
+ status = "okay";
+};
--
2.45.0
@@ -1,11 +1,11 @@
# Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
# Co-Maintainer: Arnav Singh <me@arnavion.dev>
# Maintainer: Arnav Singh <me@arnavion.dev>
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
_flavor=postmarketos-allwinner
_config="config-$_flavor.$CARCH"
pkgname=linux-$_flavor
pkgver=6.9.10_git20240721
pkgrel=5
_tag="orange-pi-6.9-20240721-2345"
pkgver=6.11.0_git20240915
pkgrel=0
_tag="orange-pi-6.11-20240915-2344"
pkgdesc="Kernel fork with Pine64 patches (megi's tree, slightly patched)"
arch="aarch64 armv7"
url="https://megous.com/git/linux/"
@@ -43,7 +43,6 @@ source="$pkgname-$_tag.tar.gz::https://codeberg.org/megi/linux/archive/$_tag.tar
0009-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch
0010-eMMC-workaround.patch
0011-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch
0012-ARM-dts-allwinner-sun5i-a13-pocketbook-614-plus-Add-.patch
"
builddir="$srcdir/linux"
@@ -80,19 +79,18 @@ package() {
INSTALL_DTBS_PATH="$pkgdir/boot/dtbs"
}
sha512sums="
c6081383741fe883d8f6e223caa45d7ecf179f4cd0c759432bbbb2e43603088840393a0cf58735ab5dda4dbf5e2655d8c9b053a74b029ac4768c200ff6ca6f65 linux-postmarketos-allwinner-orange-pi-6.9-20240721-2345.tar.gz
3281e69061af98020adf412773a187cb3245b26e0dc22c29a08f37c64360e8ad23a5ea2c4cc19365e2c2ed07d7aae0d63e9e116a9f0badb25584dfe763f3476c config-postmarketos-allwinner.aarch64
0011646badbea59ecc670667252d0f6b9fe84c05e43cd3583f7730de526d072f29f47100f65d17dbf84d1284ed6b6cae8eb9d7b6a8df33a178cdfa376402b2e1 config-postmarketos-allwinner.armv7
a1fe1a21c34062eb92b6a4a9d2ef330d0e745859af283ccf05fc899ec263f9d452c1399c29620a0e4c748eca4b0c13645668b2fc0dc72f5703426d472f1294be 0001-dts-add-dontbeevil-pinephone-devkit.patch
0ef26b34fa834c119ebff6daa27b1dd3fac27448d6a40c0b2022a00c239dad0ef3e2b3ab3f9eec5460f921c9c6ea21db360adc175a7e658d5c34c5d0aacc498f 0002-dts-add-pinetab-dev-old-display-panel.patch
d37d929100a9de9431cc3cef6b714b61b5af9633e35a2880fcc8b60279fdc9ab65198fa70d01e070a9f263818d994b9b851973bb079ddea1ca66d2b7964f365d 0003-dts-pinetab-add-missing-ohci1.patch
e368935e8e1a2380b0b42961ca65e7ebb842916e80b7b3e96211d5091413d5b8112e60f2437f82795e9c21183411f81daf1f2806b7a93b0c03dca0a64e25f079 0004-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
e4dd137537cecc8cfbb2152120134ee4fb19b930ed0e66313c414fb14061f9d2dd4c280cfbde722f8f39531868823c8f12ec79e45800f5c6e0ded03475557f79 0005-dts-pinephone-drop-modem-power-node.patch
0234490da9ea6d172ccea95092ab8a0623d2b57d43b0066d0b77a096b4a5e2a02047579f12b09d2e6bc1b77a3f9ea67dc26e9d5c02b947a7126f822132c85d30 0006-drm-panel-simple-Add-Hannstar-TQTM070CB501.patch
09e8a2b06b45bb0be75a4c09f6a9d165861a950bf6ed1cd91faa493710dd9fdc0aa35a38e23a731bb3f281c30c353310e4a17cdea3ddc6ab7ec3436722eb3b07 0007-ARM-dts-sun6i-Add-GoClever-Orion-70L-tablet.patch
96d7b7d8161dcd7379092b6aec531ca47ee0566c308057aec2f934256f67ee9f3dcd2fb7ca592b056a5305600ea4125932c96f2c244966d7d46f9b1f3fb77052 0008-drm-panel-simple-Add-Hannstar-HSD070IDW1-A.patch
22cf608d79337aee6354e7db6bf1f177a6b4ab89f7b26da46e0cf2e280978ace7203829a0e87675449ef41b488ab114cedd5ab911e326b87fa823a0073c8d1fc 0009-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch
898f1227fe27e38706ea8e6e2846cbc9bded328090ddb457733cf6417f2e1da5bac2d9caa753b29a0667a2733a937b9d447b666a070462a93d1cfea3f88daea7 0010-eMMC-workaround.patch
4acfd79aa2978d6b8078fbd7649a2dda4ef5a1e03b52d7e034a7cc40b5a7349c4dc741fab9cb7722fa61eb022fd270719ed5257ac8487796c9e2b1135a123e86 0011-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch
0770f510a12f8ec29fa2798682b0687438f733634df0b339876b8181c08cd154904412aa88d5dd5df336803da3a4f5c274cba5008be533e036dc5deb3c41fb17 0012-ARM-dts-allwinner-sun5i-a13-pocketbook-614-plus-Add-.patch
8ade8d4c15c9cd1e27a2cc5a93d98e50597824d98995d69ab1b428677ad9e8232704184f9eafd36986f88b783d39735c16210b542aa346d37679a2ccfcfca835 linux-postmarketos-allwinner-orange-pi-6.11-20240915-2344.tar.gz
d6b6ac843e93aa26c0d9ec1c03d2d3d71200bc802119d7e7bd76efabeb30fd2cfdfabb22a60ee5e078a13f9a56bd09531ee8acc43e293565f9bd24383ae8573f config-postmarketos-allwinner.aarch64
8d918a9f28a3e47feebcf53732b0c20d9c0f1068ccda01cbd5d1d2c8c41183899d8fbfb95f773ad9468d863ceaeaf9d35cfb09603d4b5c52f55673efad98bf2b config-postmarketos-allwinner.armv7
54bb653f2eec755d831e4c3c7d5a202c09e8d738335d79664879fea6783c54ea74a935259e77bbbe748138a17e92f421ab3e6bd5b07f7e970fd7b22deebcb84b 0001-dts-add-dontbeevil-pinephone-devkit.patch
1bfff7c0bd3c6761520c444968b9d61b9c43a733d398628dbe12134858a2803b4761117cd2946e86595a3dd2cbffb395c075502dafa40d9fa97e298f49701eb2 0002-dts-add-pinetab-dev-old-display-panel.patch
91d10d8d377e3f957f76b634a2e075a8927462621610a12be3fbb7e233580bfbb41e0bc5dab06d16eb59fda54a61c4d0415de7b07a7a3de4b46c7f33d7c00aa3 0003-dts-pinetab-add-missing-ohci1.patch
27f740236f9612616984bb25fee9970b5874b1f4560fdad45738174953cc00c6b6632e6beb384c84d7d18333c1788a49c20ba32ab360a0a7deda17fbadcaf838 0004-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
ac775aef3fcece0d1bb18dd6df40e84ed616549a9f4369da196bc3f92da9eaab1d388e8c38ae8082bcf18884f7cda9e8a226fa79442af3bdfade8acfcab88685 0005-dts-pinephone-drop-modem-power-node.patch
0fe41ef47ace057d4f4bdab2c9f8c908ea4f16f6b118432c71c2a2ad467286532a62dffdbfe0e46781619eca449f11a6d8b13c18e1859a9aaa8a3208156e75a9 0006-drm-panel-simple-Add-Hannstar-TQTM070CB501.patch
029d2e5863af00bbfe1e6a7fa2455d8773a475434881f528d9c868a9b04c6173c13e9dc63d51920142a89f6d66d6e49d8d14577b243d6c15427dfe2bf2788a8d 0007-ARM-dts-sun6i-Add-GoClever-Orion-70L-tablet.patch
fa4da8e9b43dfa217afb49fe7c83d7a0a59b1a1bef31d7228c8c5560df36c61bfaaff4134d31655c24e791106a7e75b6797d91f487b802133136d8cb79b32572 0008-drm-panel-simple-Add-Hannstar-HSD070IDW1-A.patch
7393d67d1144c61bc327a6ce571d4c2b043576a356a74ec74384afc667bc044ecbeb57d2218523b83f84bc873b1b3ae3161b7f8270113953092bb55bbeb89aeb 0009-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch
1d922045f835beec1e1a652ae6c2cf7c0081d114bfa4a9bf03c6fdbd79827d9600aae7c79b0740b354bf5aa9c1bd131ced5e939fb1b3e01777e93fcd17dd4f19 0010-eMMC-workaround.patch
359cda536862c90f0a5c7e87e12448982650c9451921cbad6d611887031ac2c6d0b619666c557acadedf12bc8c27511f118deb97b8e88c76fd09bc18462ed844 0011-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch
"
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.9.10 Kernel Configuration
# Linux/arm64 6.11.0 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 14.2.0) 14.2.0"
CONFIG_CC_IS_GCC=y
@@ -115,7 +115,7 @@ CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_HW_PRESSURE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
@@ -137,6 +137,7 @@ CONFIG_RCU_EXPERT=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
# CONFIG_FORCE_TASKS_RCU is not set
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
# CONFIG_FORCE_TASKS_RUDE_RCU is not set
CONFIG_TASKS_RUDE_RCU=y
@@ -179,11 +180,12 @@ CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
@@ -241,7 +243,6 @@ CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
@@ -258,7 +259,6 @@ CONFIG_RSEQ=y
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
@@ -311,6 +311,7 @@ CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
# Platform selection
#
# CONFIG_ARCH_ACTIONS is not set
# CONFIG_ARCH_AIROHA is not set
CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_APPLE is not set
@@ -391,6 +392,7 @@ CONFIG_ARM64_ERRATUM_2645198=y
CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y
CONFIG_ARM64_ERRATUM_2966298=y
CONFIG_ARM64_ERRATUM_3117295=y
CONFIG_ARM64_ERRATUM_3194386=y
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23154=y
CONFIG_CAVIUM_ERRATUM_27456=y
@@ -528,6 +530,7 @@ CONFIG_CMDLINE="console=ttyAMA0"
CONFIG_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_CMDLINE_FORCE is not set
# CONFIG_EFI is not set
# CONFIG_COMPRESSED_INSTALL is not set
# end of Boot options
#
@@ -694,6 +697,7 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_WANTS_EXECMEM_LATE=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
@@ -731,6 +735,7 @@ CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
#
# GCOV-based kernel profiling
@@ -750,7 +755,6 @@ CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
@@ -776,11 +780,9 @@ CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
@@ -845,6 +847,7 @@ CONFIG_COREDUMP=y
#
CONFIG_SWAP=y
# CONFIG_ZSWAP is not set
CONFIG_HAVE_ZSMALLOC=y
CONFIG_ZSMALLOC=m
CONFIG_ZSMALLOC_STAT=y
CONFIG_ZSMALLOC_CHAIN_SIZE=8
@@ -856,6 +859,7 @@ CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLAB_BUCKETS is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
@@ -867,7 +871,7 @@ CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
@@ -897,6 +901,7 @@ CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
@@ -927,6 +932,7 @@ CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_EXECMEM=y
#
# Data Access Monitoring
@@ -1860,6 +1866,7 @@ CONFIG_VXLAN=m
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
@@ -1895,6 +1902,7 @@ CONFIG_SUN4I_EMAC=y
# CONFIG_NET_VENDOR_LITEX is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
CONFIG_NET_VENDOR_META=y
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
@@ -1941,6 +1949,7 @@ CONFIG_FIXED_PHY=y
#
# MII PHY device drivers
#
# CONFIG_AIR_EN8811H_PHY is not set
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
@@ -1983,6 +1992,7 @@ CONFIG_MICROCHIP_PHY=m
CONFIG_REALTEK_PHY=m
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_RK630_PHY is not set
CONFIG_SMSC_PHY=m
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
@@ -2089,6 +2099,7 @@ CONFIG_ATH10K_CE=y
# CONFIG_ATH10K_USB is not set
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
CONFIG_ATH10K_LEDS=y
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
# CONFIG_ATH11K is not set
@@ -2134,6 +2145,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8187 is not set
CONFIG_RTL_CARDS=m
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8192DU is not set
# CONFIG_RTL8XXXU is not set
# CONFIG_RTW88 is not set
# CONFIG_RTW89 is not set
@@ -2464,6 +2476,7 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
CONFIG_TCG_TPM=y
# CONFIG_TCG_TPM2_HMAC is not set
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
@@ -2681,6 +2694,12 @@ CONFIG_GPIO_PCA953X_IRQ=y
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers
#
# GPIO Debugging utilities
#
# CONFIG_GPIO_VIRTUSER is not set
# end of GPIO Debugging utilities
# CONFIG_W1 is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_GPIO is not set
@@ -2694,6 +2713,7 @@ CONFIG_POWER_RESET_SYSCON=y
CONFIG_REBOOT_MODE=y
CONFIG_SYSCON_REBOOT_MODE=y
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_POWER_SEQUENCING is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
@@ -2717,6 +2737,7 @@ CONFIG_BATTERY_AXP20X=y
CONFIG_AXP20X_POWER=y
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -2753,7 +2774,6 @@ CONFIG_HWMON=y
#
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
@@ -2819,7 +2839,6 @@ CONFIG_SENSORS_ARM_SCPI=y
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
@@ -2885,6 +2904,7 @@ CONFIG_SENSORS_ARM_SCPI=y
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_SPD5118 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
@@ -3007,6 +3027,7 @@ CONFIG_MFD_AXP20X_RSB=y
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_88PM886_PMIC is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
@@ -3074,10 +3095,12 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_ROHM_BD96801 is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_RSMU_I2C is not set
# end of Multifunction device drivers
@@ -3150,6 +3173,7 @@ CONFIG_REGULATOR_PWM=y
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SUN20I=y
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
@@ -3339,6 +3363,7 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
#
# Chips&Media media platform drivers
#
# CONFIG_VIDEO_E5010_JPEG_ENC is not set
#
# Intel media platform drivers
@@ -3372,6 +3397,11 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
# Qualcomm media platform drivers
#
#
# Raspberry Pi media platform drivers
#
# CONFIG_VIDEO_RASPBERRYPI_PISP_BE is not set
#
# Renesas media platform drivers
#
@@ -3431,6 +3461,8 @@ CONFIG_VIDEO_CAMERA_SENSOR=y
# CONFIG_VIDEO_ALVIUM_CSI2 is not set
# CONFIG_VIDEO_AR0521 is not set
# CONFIG_VIDEO_GC0308 is not set
# CONFIG_VIDEO_GC05A2 is not set
# CONFIG_VIDEO_GC08A3 is not set
# CONFIG_VIDEO_GC2145_MIPI is not set
# CONFIG_VIDEO_HI556 is not set
# CONFIG_VIDEO_HI846 is not set
@@ -3440,6 +3472,7 @@ CONFIG_VIDEO_CAMERA_SENSOR=y
# CONFIG_VIDEO_IMX219 is not set
# CONFIG_VIDEO_IMX258 is not set
# CONFIG_VIDEO_IMX274 is not set
# CONFIG_VIDEO_IMX283 is not set
# CONFIG_VIDEO_IMX290 is not set
# CONFIG_VIDEO_IMX296 is not set
# CONFIG_VIDEO_IMX319 is not set
@@ -3494,7 +3527,7 @@ CONFIG_VIDEO_OV5640=m
# CONFIG_VIDEO_RJ54N1 is not set
# CONFIG_VIDEO_S5K5BAF is not set
# CONFIG_VIDEO_S5K6A3 is not set
# CONFIG_VIDEO_ST_VGXY61 is not set
# CONFIG_VIDEO_VGXY61 is not set
# CONFIG_VIDEO_CCS is not set
# CONFIG_VIDEO_ET8EK8 is not set
# CONFIG_VIDEO_HM5065 is not set
@@ -3635,6 +3668,8 @@ CONFIG_VIDEO_GC2145=m
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_MAX96714 is not set
# CONFIG_VIDEO_MAX96717 is not set
# end of Video serializers and deserializers
# end of Media ancillary drivers
@@ -3652,9 +3687,9 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DISPLAY_HELPER=y
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_GEM_DMA_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y
@@ -3701,9 +3736,11 @@ CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=y
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83102 is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9806E is not set
CONFIG_DRM_PANEL_ILITEK_ILI9881C=y
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
@@ -3715,6 +3752,8 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=y
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LINCOLNTECH_LCD197 is not set
# CONFIG_DRM_PANEL_LG_SW43408 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
@@ -3731,9 +3770,11 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=y
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM69380 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3FA7 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
@@ -3821,6 +3862,7 @@ CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
# CONFIG_DRM_PL111 is not set
CONFIG_DRM_LIMA=y
CONFIG_DRM_PANFROST=y
# CONFIG_DRM_PANTHOR is not set
# CONFIG_DRM_TIDSS is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
@@ -3876,6 +3918,7 @@ CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3509 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
@@ -4034,6 +4077,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
# CONFIG_SND_SOC_AK4458 is not set
# CONFIG_SND_SOC_AK4554 is not set
CONFIG_SND_SOC_AK4613=m
# CONFIG_SND_SOC_AK4619 is not set
# CONFIG_SND_SOC_AK4642 is not set
# CONFIG_SND_SOC_AK5386 is not set
# CONFIG_SND_SOC_AK5558 is not set
@@ -4070,6 +4114,7 @@ CONFIG_SND_SOC_BT_SCO=m
# CONFIG_SND_SOC_CS4341 is not set
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
# CONFIG_SND_SOC_CS530X_I2C is not set
# CONFIG_SND_SOC_CX2072X is not set
# CONFIG_SND_SOC_DA7213 is not set
CONFIG_SND_SOC_DMIC=m
@@ -4077,13 +4122,13 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_EC25=m
# CONFIG_SND_SOC_ES7134 is not set
# CONFIG_SND_SOC_ES7241 is not set
# CONFIG_SND_SOC_ES8311 is not set
# CONFIG_SND_SOC_ES8316 is not set
# CONFIG_SND_SOC_ES8326 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
# CONFIG_SND_SOC_GTM601 is not set
# CONFIG_SND_SOC_HDA is not set
# CONFIG_SND_SOC_ICS43432 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
# CONFIG_SND_SOC_MAX98088 is not set
# CONFIG_SND_SOC_MAX98090 is not set
# CONFIG_SND_SOC_MAX98357A is not set
@@ -4106,7 +4151,7 @@ CONFIG_SND_SOC_EC25=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM5102A is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_RK3328 is not set
# CONFIG_SND_SOC_PCM6240 is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
# CONFIG_SND_SOC_RT5640 is not set
@@ -4309,6 +4354,7 @@ CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=m
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_WINWING is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
@@ -4561,7 +4607,7 @@ CONFIG_USB_HSIC_USB3503=y
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ONBOARD_HUB is not set
# CONFIG_USB_ONBOARD_DEV is not set
#
# USB Physical Layer drivers
@@ -4579,6 +4625,7 @@ CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_U_SERIAL_CONSOLE is not set
#
# USB Peripheral Controller
@@ -4598,6 +4645,8 @@ CONFIG_USB_BDC_UDC=y
# end of USB Peripheral Controller
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
@@ -4791,6 +4840,7 @@ CONFIG_LEDS_SGM3140=y
# CONFIG_LEDS_LM3601X is not set
# CONFIG_LEDS_RT4505 is not set
# CONFIG_LEDS_RT8515 is not set
# CONFIG_LEDS_SY7802 is not set
#
# RGB LED drivers
@@ -4817,8 +4867,8 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_PANIC=y
# CONFIG_LEDS_TRIGGER_NETDEV is not set
CONFIG_LEDS_TRIGGER_PATTERN=y
# CONFIG_LEDS_TRIGGER_AUDIO is not set
# CONFIG_LEDS_TRIGGER_TTY is not set
# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
#
# Simple LED drivers
@@ -4878,6 +4928,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
@@ -5012,7 +5063,6 @@ CONFIG_VHOST_MENU=y
# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
CONFIG_STAGING=y
# CONFIG_PRISM2_USB is not set
# CONFIG_RTLLIB is not set
CONFIG_RTL8723BS=m
# CONFIG_R8712U is not set
@@ -5068,8 +5118,10 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y
CONFIG_RTL8723CS=m
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_CZNIC_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
# CONFIG_SURFACE_PLATFORMS is not set
CONFIG_ARM64_PLATFORM_DEVICES=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -5135,6 +5187,7 @@ CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
CONFIG_MAILBOX=y
CONFIG_ARM_MHU=y
# CONFIG_ARM_MHU_V2 is not set
# CONFIG_ARM_MHU_V3 is not set
CONFIG_PLATFORM_MHU=y
# CONFIG_PL320_MBOX is not set
# CONFIG_ALTERA_MBOX is not set
@@ -5357,7 +5410,6 @@ CONFIG_BMC150_ACCEL_I2C=m
# CONFIG_AD7291 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD799X is not set
# CONFIG_ADI_AXI_ADC is not set
CONFIG_AXP20X_ADC=y
# CONFIG_AXP288_ADC is not set
# CONFIG_CC10001_ADC is not set
@@ -5382,6 +5434,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_SUN20I_GPADC is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS1119 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_VF610_ADC is not set
@@ -5420,6 +5473,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_ENS160 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
@@ -5558,6 +5612,7 @@ CONFIG_INV_MPU6050_I2C=m
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9306 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
@@ -5602,6 +5657,7 @@ CONFIG_STK3310=m
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6040 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
@@ -5734,10 +5790,10 @@ CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
# end of Temperature sensors
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_ATMEL_TCB is not set
# CONFIG_PWM_CLK is not set
# CONFIG_PWM_FSL_FTM is not set
# CONFIG_PWM_GPIO is not set
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_SUN4I=y
# CONFIG_PWM_XILINX is not set
@@ -5750,7 +5806,9 @@ CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_MAX_NR=1
CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC_V3_ITS=y
CONFIG_IRQ_MSI_LIB=y
# CONFIG_AL_FIC is not set
# CONFIG_LAN966X_OIC is not set
CONFIG_SUN6I_R_INTC=y
CONFIG_SUNXI_NMI_INTC=y
# CONFIG_XILINX_INTC is not set
@@ -5958,9 +6016,9 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
CONFIG_NETFS_SUPPORT=m
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
@@ -6269,7 +6327,6 @@ CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography
@@ -6390,7 +6447,6 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface
CONFIG_CRYPTO_HASH_INFO=y
@@ -6565,13 +6621,13 @@ CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
CONFIG_DMA_NEED_SYNC=y
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_NONCOHERENT_MMAP=y
CONFIG_DMA_COHERENT_POOL=y
@@ -6598,6 +6654,7 @@ CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
# CONFIG_IRQ_POLL is not set
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
@@ -6690,6 +6747,7 @@ CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
@@ -6716,6 +6774,7 @@ CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
# Scheduler Debugging
#
CONFIG_SCHED_INFO=y
# CONFIG_SCHEDSTATS is not set
# end of Scheduler Debugging
# CONFIG_DEBUG_TIMEKEEPING is not set
@@ -6744,6 +6803,7 @@ CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# end of RCU Debugging
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
@@ -6799,6 +6859,7 @@ CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 6.9.10 Kernel Configuration
# Linux/arm 6.11.0 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 14.2.0) 14.2.0"
CONFIG_CC_IS_GCC=y
@@ -115,7 +115,7 @@ CONFIG_PREEMPTION=y
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_HW_PRESSURE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
CONFIG_PSI=y
@@ -134,6 +134,7 @@ CONFIG_TREE_SRCU=y
CONFIG_NEED_SRCU_NMI_SAFE=y
CONFIG_TASKS_RCU_GENERIC=y
# CONFIG_FORCE_TASKS_RCU is not set
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
# CONFIG_FORCE_TASKS_RUDE_RCU is not set
CONFIG_TASKS_RUDE_RCU=y
@@ -172,11 +173,12 @@ CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
@@ -218,6 +220,7 @@ CONFIG_RD_ZSTD=y
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
@@ -231,7 +234,6 @@ CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
@@ -248,7 +250,6 @@ CONFIG_RSEQ=y
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
@@ -481,6 +482,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_ARM_PAN=y
CONFIG_CPU_SW_DOMAIN_PAN=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_ARM_MODULE_PLTS=y
@@ -633,10 +635,12 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -687,7 +691,6 @@ CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
@@ -712,11 +715,9 @@ CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
# CONFIG_BLK_DEV_BSGLIB is not set
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
@@ -774,6 +775,7 @@ CONFIG_COREDUMP=y
#
CONFIG_SWAP=y
# CONFIG_ZSWAP is not set
CONFIG_HAVE_ZSMALLOC=y
CONFIG_ZSMALLOC=m
CONFIG_ZSMALLOC_STAT=y
CONFIG_ZSMALLOC_CHAIN_SIZE=8
@@ -785,6 +787,7 @@ CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLAB_BUCKETS is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
@@ -832,6 +835,7 @@ CONFIG_LRU_GEN_ENABLED=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_EXECMEM=y
#
# Data Access Monitoring
@@ -1730,6 +1734,7 @@ CONFIG_VXLAN=m
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
CONFIG_TUN=y
@@ -1779,6 +1784,7 @@ CONFIG_NET_VENDOR_ADI=y
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_META=y
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
CONFIG_NET_VENDOR_MICROSEMI=y
@@ -1830,6 +1836,7 @@ CONFIG_FIXED_PHY=y
#
# MII PHY device drivers
#
# CONFIG_AIR_EN8811H_PHY is not set
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
@@ -1872,6 +1879,7 @@ CONFIG_MICREL_PHY=y
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_RK630_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
@@ -2040,6 +2048,7 @@ CONFIG_ATH10K_SDIO=m
CONFIG_ATH10K_USB=m
# CONFIG_ATH10K_DEBUG is not set
CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K_LEDS=y
CONFIG_ATH10K_SPECTRAL=y
# CONFIG_ATH10K_TRACING is not set
CONFIG_WCN36XX=m
@@ -2137,6 +2146,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8187 is not set
CONFIG_RTL_CARDS=m
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8192DU is not set
CONFIG_RTL8XXXU=m
CONFIG_RTL8XXXU_UNTESTED=y
CONFIG_RTW88=m
@@ -2567,6 +2577,7 @@ CONFIG_SPI_MASTER=y
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CH341 is not set
# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_FSL_SPI is not set
@@ -2744,8 +2755,15 @@ CONFIG_GPIO_CDEV_V1=y
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers
#
# GPIO Debugging utilities
#
# CONFIG_GPIO_VIRTUSER is not set
# end of GPIO Debugging utilities
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_SEQUENCING is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
@@ -2767,6 +2785,7 @@ CONFIG_BATTERY_AXP20X=y
CONFIG_AXP20X_POWER=y
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_BATTERY_MAX1720X is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -2804,7 +2823,6 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
@@ -2874,7 +2892,6 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
@@ -2942,6 +2959,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_SPD5118 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
@@ -3068,6 +3086,7 @@ CONFIG_MFD_AXP20X_RSB=y
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_88PM886_PMIC is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
@@ -3144,10 +3163,13 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_ROHM_BD96801 is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_MFD_CS40L50_I2C is not set
# CONFIG_MFD_CS40L50_SPI is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
@@ -3218,6 +3240,7 @@ CONFIG_REGULATOR_GPIO=y
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SUN20I=y
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
@@ -3346,6 +3369,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
#
# Chips&Media media platform drivers
#
# CONFIG_VIDEO_E5010_JPEG_ENC is not set
#
# Intel media platform drivers
@@ -3379,6 +3403,11 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
# Qualcomm media platform drivers
#
#
# Raspberry Pi media platform drivers
#
# CONFIG_VIDEO_RASPBERRYPI_PISP_BE is not set
#
# Renesas media platform drivers
#
@@ -3456,6 +3485,8 @@ CONFIG_VIDEO_IR_I2C=y
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_MAX96714 is not set
# CONFIG_VIDEO_MAX96717 is not set
# end of Video serializers and deserializers
#
@@ -3483,9 +3514,10 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DISPLAY_HELPER=y
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DISPLAY_HDMI_STATE_HELPER=y
CONFIG_DRM_GEM_DMA_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y
@@ -3541,11 +3573,13 @@ CONFIG_DRM_PANEL=y
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_HIMAX_HX83102 is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9806E is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
@@ -3558,8 +3592,10 @@ CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LINCOLNTECH_LCD197 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LG_SW43408 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
@@ -3581,11 +3617,13 @@ CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM69380 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3FA7 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
@@ -3690,6 +3728,7 @@ CONFIG_DRM_DW_HDMI=y
# CONFIG_DRM_TVE200 is not set
CONFIG_DRM_LIMA=y
# CONFIG_DRM_PANFROST is not set
# CONFIG_DRM_PANTHOR is not set
# CONFIG_DRM_MCDE is not set
# CONFIG_DRM_TIDSS is not set
# CONFIG_DRM_GUD is not set
@@ -3744,6 +3783,7 @@ CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3509 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
@@ -3901,6 +3941,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_AK4458 is not set
# CONFIG_SND_SOC_AK4554 is not set
# CONFIG_SND_SOC_AK4613 is not set
# CONFIG_SND_SOC_AK4619 is not set
# CONFIG_SND_SOC_AK4642 is not set
# CONFIG_SND_SOC_AK5386 is not set
# CONFIG_SND_SOC_AK5558 is not set
@@ -3941,12 +3982,14 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_CS4341 is not set
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
# CONFIG_SND_SOC_CS530X_I2C is not set
# CONFIG_SND_SOC_CX2072X is not set
# CONFIG_SND_SOC_DA7213 is not set
# CONFIG_SND_SOC_DMIC is not set
# CONFIG_SND_SOC_EC25 is not set
# CONFIG_SND_SOC_ES7134 is not set
# CONFIG_SND_SOC_ES7241 is not set
# CONFIG_SND_SOC_ES8311 is not set
# CONFIG_SND_SOC_ES8316 is not set
# CONFIG_SND_SOC_ES8326 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
@@ -3955,7 +3998,6 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_HDA is not set
# CONFIG_SND_SOC_ICS43432 is not set
# CONFIG_SND_SOC_IDT821034 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
# CONFIG_SND_SOC_MAX98088 is not set
# CONFIG_SND_SOC_MAX98090 is not set
# CONFIG_SND_SOC_MAX98357A is not set
@@ -3982,8 +4024,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_PCM5102A is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_PCM6240 is not set
# CONFIG_SND_SOC_PEB2466 is not set
# CONFIG_SND_SOC_RK3328 is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
# CONFIG_SND_SOC_RT5640 is not set
@@ -4192,6 +4234,7 @@ CONFIG_HID_MONTEREY=y
# CONFIG_HID_UDRAW_PS3 is not set
CONFIG_HID_WACOM=m
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_WINWING is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
@@ -4368,7 +4411,7 @@ CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_ONBOARD_HUB is not set
# CONFIG_USB_ONBOARD_DEV is not set
#
# USB Physical Layer drivers
@@ -4410,6 +4453,7 @@ CONFIG_USB_MAX3420_UDC=m
# end of USB Peripheral Controller
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_F_ACM=m
CONFIG_USB_U_SERIAL=m
CONFIG_USB_U_ETHER=m
CONFIG_USB_U_AUDIO=m
@@ -4617,8 +4661,8 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
CONFIG_LEDS_TRIGGER_PATTERN=y
# CONFIG_LEDS_TRIGGER_AUDIO is not set
# CONFIG_LEDS_TRIGGER_TTY is not set
# CONFIG_LEDS_TRIGGER_INPUT_EVENTS is not set
#
# Simple LED drivers
@@ -4674,6 +4718,7 @@ CONFIG_RTC_DRV_PCF8563=m
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
@@ -4789,7 +4834,6 @@ CONFIG_DMABUF_HEAPS_CMA=y
CONFIG_UIO=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_DMEM_GENIRQ=m
# CONFIG_UIO_PRUSS is not set
# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_MENU=y
@@ -4808,7 +4852,6 @@ CONFIG_VHOST_MENU=y
# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=m
CONFIG_RTLLIB=m
CONFIG_RTLLIB_CRYPTO_CCMP=m
CONFIG_RTLLIB_CRYPTO_TKIP=m
@@ -4868,12 +4911,12 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y
# CONFIG_LTE_GDM724X is not set
# CONFIG_FB_TFT is not set
# CONFIG_KS7010 is not set
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
CONFIG_RTL8723CS=m
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_CZNIC_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
@@ -4943,6 +4986,7 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# end of Clock Source drivers
CONFIG_MAILBOX=y
# CONFIG_ARM_MHU_V3 is not set
# CONFIG_PLATFORM_MHU is not set
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -5139,12 +5183,14 @@ CONFIG_MMA7660=m
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7173 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7380 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
@@ -5155,10 +5201,10 @@ CONFIG_MMA7660=m
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7944 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
CONFIG_AXP20X_ADC=y
# CONFIG_AXP288_ADC is not set
# CONFIG_CC10001_ADC is not set
@@ -5198,6 +5244,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS1119 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
@@ -5249,6 +5296,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_ENS160 is not set
# CONFIG_IAQCORE is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
@@ -5289,6 +5337,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_AD9739A is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
@@ -5429,6 +5478,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9306 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
@@ -5473,6 +5523,7 @@ CONFIG_AXP20X_ADC=y
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6040 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
@@ -5614,10 +5665,10 @@ CONFIG_AXP20X_ADC=y
# end of Temperature sensors
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_ATMEL_TCB is not set
# CONFIG_PWM_CLK is not set
# CONFIG_PWM_FSL_FTM is not set
# CONFIG_PWM_GPIO is not set
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_SUN4I=y
# CONFIG_PWM_XILINX is not set
@@ -5629,6 +5680,7 @@ CONFIG_IRQCHIP=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_MAX_NR=1
# CONFIG_AL_FIC is not set
# CONFIG_LAN966X_OIC is not set
CONFIG_SUN4I_INTC=y
CONFIG_SUN6I_R_INTC=y
CONFIG_SUNXI_NMI_INTC=y
@@ -5686,6 +5738,7 @@ CONFIG_PHY_SUN50I_USB3=y
# CONFIG_ARM_CCI_PMU is not set
# CONFIG_ARM_CCN is not set
CONFIG_ARM_PMU=y
CONFIG_ARM_V7_PMU=y
# CONFIG_ARM_PMUV3 is not set
# end of Performance monitor support
@@ -5813,9 +5866,9 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
CONFIG_NETFS_SUPPORT=m
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
@@ -6025,6 +6078,7 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
@@ -6093,7 +6147,6 @@ CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography
@@ -6211,7 +6264,6 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface
CONFIG_CRYPTO_HASH_INFO=y
@@ -6377,6 +6429,7 @@ CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
CONFIG_DMA_NEED_SYNC=y
CONFIG_DMA_NONCOHERENT_MMAP=y
CONFIG_ARCH_HAS_DMA_ALLOC=y
CONFIG_DMA_CMA=y
@@ -6401,6 +6454,7 @@ CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
# CONFIG_IRQ_POLL is not set
CONFIG_MPILIB=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
@@ -6484,6 +6538,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
@@ -6506,6 +6561,7 @@ CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
#
# Scheduler Debugging
#
# CONFIG_SCHEDSTATS is not set
# end of Scheduler Debugging
# CONFIG_DEBUG_TIMEKEEPING is not set
@@ -3,7 +3,7 @@
pkgname=device-purism-librem5dev
pkgdesc="Purism Librem 5 Devkit"
pkgver=2
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -60,7 +60,7 @@ package() {
install -D -m644 "$srcdir"/modprobe.d_rsi.conf "$pkgdir"/etc/modprobe.d/rsi.conf
install -D -m644 "$srcdir"/00-mesa.sh "$pkgdir"/etc/profile.d/00-mesa.sh
install -D -m644 "$srcdir"/flash_script.lst "$pkgdir"/usr/share/uuu/flash_script.lst
install -D -m644 "$_confdir"/default/hwdb/80-librem5.hwdb "$pkgdir"/lib/udev/hwdb.d/80-librem5.hwdb
install -D -m644 "$_confdir"/default/hwdb/80-librem5.hwdb "$pkgdir"/usr/lib/udev/hwdb.d/80-librem5.hwdb
install -D -m644 "$_confdir"/debian/librem5-base-defaults.librem5-devkit-sgtl5000.udev \
"$pkgdir"/usr/lib/udev/rules.d/librem5-base-defaults.librem5-devkit-sgtl5000.udev
install -D -m644 "$_confdir"/debian/librem5-base-defaults.librem5-pm.udev \
+38
View File
@@ -0,0 +1,38 @@
pkgname=device-sony-ps4
pkgdesc="Sony Playstation 4 Original"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
options="!check !archcheck"
depends="
linux-sony-ps4
postmarketos-base
grub-efi-x86
"
makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wi-Fi and bluetooth firmware"
depends="linux-firmware-mrvl"
mkdir "$subpkgdir"
}
sha512sums="
065faa7aed5acc1a8e15e1fe1e06929b57dc11030b7c842e7a46f7d4fae310ce3796a2d760a95222177c0d1d23f1e6cd982c3241a06e50c6d4961e69d3ce4450 deviceinfo
24ed2457630757df9e69b3216b883c3032848b3cc692fd5cf0252baa6dc0dbea33e95b20767a9cb36e8461a8e79e65d50cc5ecd3a6801dc3e8e90951a34138aa modules-initfs
"
+24
View File
@@ -0,0 +1,24 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Sony Playstation 4"
deviceinfo_manufacturer="Sony"
deviceinfo_codename="sony-ps4"
deviceinfo_year="2013"
deviceinfo_arch="x86_64"
deviceinfo_gpu_accelerated="true"
# Device related
deviceinfo_chassis="desktop"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1920"
deviceinfo_screen_height="1080"
deviceinfo_framebuffer_landscape="true"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_kernel_cmdline="panic=0 clocksource=tsc consoleblank=0 drm.debug=0 drm.edid_firmware=edid/my_edid.bin"
deviceinfo_partition_type="gpt"
deviceinfo_boot_filesystem="fat32"
@@ -0,0 +1 @@
hid-steam
+2 -2
View File
@@ -2,7 +2,7 @@
# Kernel config based on: arch/arm64/configs/defconfig
pkgname=linux-next
pkgver=6.12_git20240930
pkgver=6.12_git20241001
pkgrel=2
_nextver="${pkgver#*_git}"
pkgdesc="Linux next kernel"
@@ -69,7 +69,7 @@ package() {
}
sha512sums="
9edf7524d6d9240ecc0fc34e26f0710e7a54ceed6e61fe730b9c7c16b33030335232b2916772004b8a9ae71ed7b9e22114facf656c960d38d98bedfff717441d linux-next-next-20240930.tar.gz
127c9be0262ba82bfd39977085a70bf0f16d523bde1823dda151a78e9b262b4b33efe5543f27d3f745a4ee4ecf911b57a01adac3970ad306a05582cb61119aef linux-next-next-20241001.tar.gz
adbb506c0a2d676b1964a5d7c693f72338541ebd0cacee62e4579d43163c468d95607d73bf7439fb55b4d6bfa0dd42578b07ee20965aa03c2a9d8022cb3ae267 devices.config
a30df186f06519e2f519bfe622bbd46caec6c2473a1fd3df370320a661d53882b49cfb2b3be7edd92fabdb4a8e6e3419194e8d43cca3cf4ab1615275dab4fee4 pmos.config
"
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,37 @@
From e9382715a310fc01a375e6e3eff7b185ce4277b4 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Mon, 20 Dec 2021 14:01:45 +0100
Subject: [PATCH 04/22] feat: temperature sensors
---
drivers/hwmon/fam15h_power.c | 1 +
drivers/hwmon/k10temp.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
index 521534d5c1e5..5b84627c7942 100644
--- a/drivers/hwmon/fam15h_power.c
+++ b/drivers/hwmon/fam15h_power.c
@@ -486,6 +486,7 @@ static const struct pci_device_id fam15h_power_id_table[] = {
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M70H_NB_F4) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_NB_F4) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F4) },
+ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M41H_F4) },
{}
};
MODULE_DEVICE_TABLE(pci, fam15h_power_id_table);
diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
index 3618a924e78e..478672b391cb 100644
--- a/drivers/hwmon/k10temp.c
+++ b/drivers/hwmon/k10temp.c
@@ -487,6 +487,7 @@ static const struct pci_device_id k10temp_id_table[] = {
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M10H_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M30H_NB_F3) },
+ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M41H_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M60H_NB_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M70H_NB_F3) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_NB_F3) },
--
2.45.1
@@ -0,0 +1,147 @@
From 0d69fe3288f2c3444a25c72847a6d670ab07c77b Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Mon, 20 Dec 2021 14:56:09 +0100
Subject: [PATCH 05/22] feat: sdhci support
---
drivers/mmc/host/sdhci-pci-core.c | 67 +++++++++++++++++++++++++++++++
drivers/mmc/host/sdhci-pci.h | 2 +
2 files changed, 69 insertions(+)
diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index 8736e04fa73c..d50a3658820d 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -37,6 +37,10 @@
#include "cqhci.h"
+#ifdef CONFIG_X86_PS4
+#include <asm/ps4.h>
+#endif
+
#include "sdhci.h"
#include "sdhci-pci.h"
@@ -319,6 +323,54 @@ static const struct sdhci_pci_fixes sdhci_intel_qrk = {
.quirks = SDHCI_QUIRK_NO_HISPD_BIT,
};
+#ifdef CONFIG_X86_PS4
+static int aeolia_probe(struct sdhci_pci_chip *chip)
+{
+ chip->num_slots = 1;
+ chip->first_bar = 0;
+ if (apcie_status() == 0)
+ return -EPROBE_DEFER;
+
+ chip->pdev->class &= ~0x0000FF;
+ chip->pdev->class |= PCI_SDHCI_IFDMA;
+ return 0;
+}
+
+static int aeolia_probe_slot(struct sdhci_pci_slot *slot)
+{
+ int err = apcie_assign_irqs(slot->chip->pdev, 1);
+ if (err <= 0) {
+ dev_err(&slot->chip->pdev->dev, "failed to get IRQ: %d\n", err);
+ return -ENODEV;
+ }
+ slot->host->irq = slot->chip->pdev->irq;
+ return 0;
+}
+
+static void aeolia_remove_slot(struct sdhci_pci_slot *slot, int dead)
+{
+ apcie_free_irqs(slot->chip->pdev->irq, 1);
+}
+
+static int aeolia_enable_dma(struct sdhci_pci_slot *slot)
+{
+ if (pci_set_dma_mask(slot->chip->pdev, DMA_BIT_MASK(31))) {
+ return -EINVAL;
+ }
+ if (pci_set_consistent_dma_mask(slot->chip->pdev, DMA_BIT_MASK(31))) {
+ return -EINVAL;
+ }
+ return 0;
+}
+
+static const struct sdhci_pci_fixes sdhci_aeolia = {
+ .probe = aeolia_probe,
+ .probe_slot = aeolia_probe_slot,
+ .remove_slot = aeolia_remove_slot,
+ .enable_dma = aeolia_enable_dma,
+};
+#endif
+
static int mrst_hc_probe_slot(struct sdhci_pci_slot *slot)
{
slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA;
@@ -1974,6 +2026,12 @@ static const struct pci_device_id pci_ids[] = {
SDHCI_PCI_DEVICE(O2, SEABIRD1, o2),
SDHCI_PCI_DEVICE(ARASAN, PHY_EMMC, arasan),
SDHCI_PCI_DEVICE(SYNOPSYS, DWC_MSHC, snps),
+ #ifdef CONFIG_X86_PS4
+ SDHCI_PCI_DEVICE(SONY, AEOLIA_SDHCI, aeolia),
+ SDHCI_PCI_DEVICE(SONY, BELIZE_SDHCI, aeolia),
+ // TODO (ps4patches): What is this doing in comments?
+ //SDHCI_PCI_DEVICE(SONY, BAIKAL_SDHCI, aeolia),
+ #endif
SDHCI_PCI_DEVICE(GLI, 9750, gl9750),
SDHCI_PCI_DEVICE(GLI, 9755, gl9755),
SDHCI_PCI_DEVICE(GLI, 9763E, gl9763e),
@@ -2008,6 +2066,10 @@ int sdhci_pci_enable_dma(struct sdhci_host *host)
pci_set_master(pdev);
+ if (slot->chip->fixes && slot->chip->fixes->enable_dma) {
+ return slot->chip->fixes->enable_dma(slot);
+ }
+
return 0;
}
@@ -2361,6 +2423,7 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
chip->allow_runtime_pm = chip->fixes->allow_runtime_pm;
}
chip->num_slots = slots;
+ chip->first_bar = first_bar;
chip->pm_retune = true;
chip->rpm_retune = true;
@@ -2375,7 +2438,11 @@ static int sdhci_pci_probe(struct pci_dev *pdev,
slots = chip->num_slots; /* Quirk may have changed this */
for (i = 0; i < slots; i++) {
+ #ifdef CONFIG_X86_PS4
+ slot = sdhci_pci_probe_slot(pdev, chip, chip->first_bar, i);
+ #else
slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i);
+ #endif
if (IS_ERR(slot)) {
for (i--; i >= 0; i--)
sdhci_pci_remove_slot(chip->slots[i]);
diff --git a/drivers/mmc/host/sdhci-pci.h b/drivers/mmc/host/sdhci-pci.h
index dcd99d5057ee..8caa7acbddb0 100644
--- a/drivers/mmc/host/sdhci-pci.h
+++ b/drivers/mmc/host/sdhci-pci.h
@@ -140,6 +140,7 @@ struct sdhci_pci_fixes {
int (*probe_slot) (struct sdhci_pci_slot *);
int (*add_host) (struct sdhci_pci_slot *);
void (*remove_slot) (struct sdhci_pci_slot *, int);
+ int (*enable_dma) (struct sdhci_pci_slot *);
#ifdef CONFIG_PM_SLEEP
int (*suspend) (struct sdhci_pci_chip *);
@@ -181,6 +182,7 @@ struct sdhci_pci_chip {
const struct sdhci_pci_fixes *fixes;
int num_slots; /* Slots on controller */
+ int first_bar; /* First valid BAR */
struct sdhci_pci_slot *slots[MAX_SLOTS]; /* Pointers to host slots */
};
--
2.45.1
@@ -0,0 +1,323 @@
From 905b33761e7344f07d4b2270896ebaa298d55047 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Mon, 20 Dec 2021 15:29:54 +0100
Subject: [PATCH 06/22] feat: ethernet support
---
drivers/net/ethernet/marvell/sky2.c | 164 +++++++++++++++++++++++++---
drivers/net/ethernet/marvell/sky2.h | 3 +
2 files changed, 150 insertions(+), 17 deletions(-)
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index e9fc74e54b22..66ee6f8ab1bd 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -38,6 +38,11 @@
#include <asm/irq.h>
+#ifdef CONFIG_X86_PS4
+#include <asm/ps4.h>
+#include "../../../ps4/aeolia.h"
+#endif
+
#include "sky2.h"
#define DRV_NAME "sky2"
@@ -134,6 +139,9 @@ static const struct pci_device_id sky2_id_table[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4380) }, /* 88E8057 */
{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4381) }, /* 88E8059 */
{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x4382) }, /* 88E8079 */
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_AEOLIA_GBE) },
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_BELIZE_GBE) },
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_BAIKAL_GBE) },
{ 0 }
};
@@ -154,7 +162,7 @@ static int gm_phy_write(struct sky2_hw *hw, unsigned port, u16 reg, u16 val)
gma_write16(hw, port, GM_SMI_DATA, val);
gma_write16(hw, port, GM_SMI_CTRL,
- GM_SMI_CT_PHY_AD(PHY_ADDR_MARV) | GM_SMI_CT_REG_AD(reg));
+ GM_SMI_CT_PHY_AD(hw->phy_addr) | GM_SMI_CT_REG_AD(reg));
for (i = 0; i < PHY_RETRIES; i++) {
u16 ctrl = gma_read16(hw, port, GM_SMI_CTRL);
@@ -179,7 +187,7 @@ static int __gm_phy_read(struct sky2_hw *hw, unsigned port, u16 reg, u16 *val)
{
int i;
- gma_write16(hw, port, GM_SMI_CTRL, GM_SMI_CT_PHY_AD(PHY_ADDR_MARV)
+ gma_write16(hw, port, GM_SMI_CTRL, GM_SMI_CT_PHY_AD(hw->phy_addr)
| GM_SMI_CT_REG_AD(reg) | GM_SMI_CT_OP_RD);
for (i = 0; i < PHY_RETRIES; i++) {
@@ -1375,7 +1383,7 @@ static int sky2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
switch (cmd) {
case SIOCGMIIPHY:
- data->phy_id = PHY_ADDR_MARV;
+ data->phy_id = hw->phy_addr;
fallthrough;
case SIOCGMIIREG: {
@@ -3234,6 +3242,24 @@ static void sky2_reset(struct sky2_hw *hw)
int i;
u32 hwe_mask = Y2_HWE_ALL_MASK;
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY &&
+ pdev->device == PCI_DEVICE_ID_SONY_AEOLIA_GBE) {
+ u32 val1, val2;
+
+ sky2_write32(hw, 0x60, 0x32100);
+ sky2_write32(hw, 0x64, 6);
+ sky2_write32(hw, 0x68, 0x63b9c);
+ sky2_write32(hw, 0x6c, 0x300);
+ val1 = sky2_read32(hw, 0x158);
+ val2 = sky2_read32(hw, 0x160);
+ val1 &= ~0x33333333;
+ val2 &= ~0xCC00000;
+ sky2_write32(hw, 0x158, val1);
+ sky2_write32(hw, 0x160, val2);
+ }
+ #endif
+
/* disable ASF */
if (hw->chip_id == CHIP_ID_YUKON_EX
|| hw->chip_id == CHIP_ID_YUKON_SUPR) {
@@ -3298,6 +3324,13 @@ static void sky2_reset(struct sky2_hw *hw)
sky2_pci_write32(hw, PCI_DEV_REG3, P_CLK_MACSEC_DIS);
}
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY &&
+ pdev->device == PCI_DEVICE_ID_SONY_AEOLIA_GBE) {
+ ; /* Do not perform phy resets on aeolia, it will hang */
+ } else
+ #endif
+
if (hw->chip_id == CHIP_ID_YUKON_OPT ||
hw->chip_id == CHIP_ID_YUKON_PRM ||
hw->chip_id == CHIP_ID_YUKON_OP_2) {
@@ -3582,7 +3615,7 @@ static int sky2_get_link_ksettings(struct net_device *dev,
u32 supported, advertising;
supported = sky2_supported_modes(hw);
- cmd->base.phy_address = PHY_ADDR_MARV;
+ cmd->base.phy_address = hw->phy_addr;
if (sky2_is_copper(hw)) {
cmd->base.port = PORT_TP;
cmd->base.speed = sky2->speed;
@@ -4726,6 +4759,44 @@ static const struct net_device_ops sky2_netdev_ops[2] = {
},
};
+#ifdef CONFIG_X86_PS4
+/* NOTE: This region is no longer referenced by current ps4 x86 code. */
+/* However it still contains the mac address. */
+static void aeolia_get_mac_address(struct sky2_hw *hw, unsigned char *addr) {
+ u8 default_addr[ETH_ALEN] = { 0x52, 0x54, 0x00, 0xf0, 0xff, 0x0f };
+ unsigned int mem_devfn = PCI_DEVFN(PCI_SLOT(hw->pdev->devfn), AEOLIA_FUNC_ID_MEM);
+ struct pci_dev *mem_dev;
+ phys_addr_t bp_base;
+ void __iomem *bp;
+
+ memcpy(addr, default_addr, sizeof(default_addr));
+
+ mem_dev = pci_get_slot(hw->pdev->bus, mem_devfn);
+ if (!mem_dev) {
+ dev_err(&hw->pdev->dev, "sky2: could not get handle to mem device\n");
+ return;
+ }
+
+ bp_base = pci_resource_start(mem_dev, 5) + APCIE_SPM_BP_BASE;
+ if (!request_mem_region(bp_base, APCIE_SPM_BP_SIZE, "spm.bp")) {
+ dev_err(&hw->pdev->dev, "sky2: failed to request bootparam SPM region\n");
+ return;
+ }
+
+ bp = ioremap(bp_base, APCIE_SPM_BP_SIZE);
+ if (!bp) {
+ dev_err(&hw->pdev->dev, "sky2: failed to map bootparam portion of SPM\n");
+ goto release_bp;
+ }
+
+ memcpy_fromio(addr, bp, ETH_ALEN);
+
+ iounmap(bp);
+release_bp:
+ release_mem_region(bp_base, APCIE_SPM_BP_SIZE);
+}
+#endif
+
/* Initialize network device */
static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port,
int highmem, int wol)
@@ -4798,26 +4869,34 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port,
else
dev->max_mtu = ETH_JUMBO_MTU;
- /* try to get mac address in the following order:
- * 1) from device tree data
- * 2) from internal registers set by bootloader
- */
- ret = of_get_mac_address(hw->pdev->dev.of_node, dev->dev_addr);
- if (ret)
- memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8,
- ETH_ALEN);
+ #ifdef CONFIG_X86_PS4
+ if (hw->pdev->vendor == PCI_VENDOR_ID_SONY) {
+ aeolia_get_mac_address(hw, dev->dev_addr);
+ } else
+ #endif
+ {
+ /* try to get mac address in the following order:
+ * 1) from device tree data
+ * 2) from internal registers set by bootloader
+ */
+ ret = of_get_mac_address(hw->pdev->dev.of_node, dev->dev_addr);
+ if (ret)
+ memcpy_fromio(dev->dev_addr,
+ hw->regs + B2_MAC_1 + port * 8, ETH_ALEN);
+ }
/* if the address is invalid, use a random value */
if (!is_valid_ether_addr(dev->dev_addr)) {
struct sockaddr sa = { AF_UNSPEC };
- dev_warn(&hw->pdev->dev, "Invalid MAC address, defaulting to random\n");
+ dev_warn(&hw->pdev->dev,
+ "Invalid MAC address, defaulting to random\n");
eth_hw_addr_random(dev);
memcpy(sa.sa_data, dev->dev_addr, ETH_ALEN);
if (sky2_set_mac_address(dev, &sa))
- dev_warn(&hw->pdev->dev, "Failed to set MAC address.\n");
+ dev_warn(&hw->pdev->dev,
+ "Failed to set MAC address.\n");
}
-
return dev;
}
@@ -4957,6 +5036,12 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
u32 reg;
char buf1[16];
+ #ifdef CONFIG_X86_PS4
+ /* This will return negative on non-PS4 platforms */
+ if (apcie_status() == 0)
+ return -EPROBE_DEFER;
+ #endif
+
err = pci_enable_device(pdev);
if (err) {
dev_err(&pdev->dev, "cannot enable PCI device\n");
@@ -4988,6 +5073,16 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_set_master(pdev);
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY) {
+ if (pci_set_dma_mask(pdev, DMA_BIT_MASK(31)) < 0 ||
+ pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(31)) < 0) {
+ dev_err(&pdev->dev, "no usable DMA configuration\n");
+ goto err_out_free_regions;
+ }
+ } else
+ #endif
+
if (sizeof(dma_addr_t) > sizeof(u32) &&
!(err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)))) {
using_dac = 1;
@@ -5036,6 +5131,16 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
goto err_out_free_hw;
}
+ hw->phy_addr = PHY_ADDR_MARV;
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY &&
+ pdev->device == PCI_DEVICE_ID_SONY_AEOLIA_GBE) {
+ /* aeolia supports some sort of "l2 switch" */
+ /* it has normal phy at addr 1 with a possibly-active switch at addr 2 */
+ hw->phy_addr = 1;
+ }
+ #endif
+
err = sky2_init(hw);
if (err)
goto err_out_iounmap;
@@ -5064,6 +5169,19 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (disable_msi == -1)
disable_msi = !!dmi_check_system(msi_blacklist);
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY &&
+ apcie_assign_irqs(pdev, 1) > 0) {
+ err = sky2_test_msi(hw);
+ if (err) {
+ apcie_free_irqs(pdev->irq, 1);
+ /* PS4 requires MSI, so if it fails, bail out. */
+ goto err_out_free_netdev;
+ }
+ hw->flags |= SKY2_HW_USE_AEOLIA_MSI;
+ } else
+ #endif
+
if (!disable_msi && pci_enable_msi(pdev) == 0) {
err = sky2_test_msi(hw);
if (err) {
@@ -5120,8 +5238,14 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err_out_unregister:
unregister_netdev(dev);
err_out_free_netdev:
- if (hw->flags & SKY2_HW_USE_MSI)
- pci_disable_msi(pdev);
+ #ifdef CONFIG_X86_PS4
+ if (hw->flags & SKY2_HW_USE_AEOLIA_MSI)
+ apcie_free_irqs(pdev->irq, 1);
+ else
+ #endif
+ if (hw->flags & SKY2_HW_USE_MSI)
+ pci_disable_msi(pdev);
+
free_netdev(dev);
err_out_free_pci:
dma_free_coherent(&pdev->dev,
@@ -5168,6 +5292,12 @@ static void sky2_remove(struct pci_dev *pdev)
free_irq(pdev->irq, hw);
}
+ #ifdef CONFIG_X86_PS4
+ if (hw->flags & SKY2_HW_USE_AEOLIA_MSI)
+ apcie_free_irqs(pdev->irq, 1);
+ else
+ #endif
+
if (hw->flags & SKY2_HW_USE_MSI)
pci_disable_msi(pdev);
dma_free_coherent(&pdev->dev,
diff --git a/drivers/net/ethernet/marvell/sky2.h b/drivers/net/ethernet/marvell/sky2.h
index ddec1627f1a7..eeb3a5a8b029 100644
--- a/drivers/net/ethernet/marvell/sky2.h
+++ b/drivers/net/ethernet/marvell/sky2.h
@@ -2289,6 +2289,8 @@ struct sky2_hw {
#define SKY2_HW_RSS_CHKSUM 0x00000400 /* RSS requires chksum */
#define SKY2_HW_IRQ_SETUP 0x00000800
+#define SKY2_HW_USE_AEOLIA_MSI 0x00001000
+
u8 chip_id;
u8 chip_rev;
u8 pmd_type;
@@ -2303,6 +2305,7 @@ struct sky2_hw {
struct work_struct restart_work;
wait_queue_head_t msi_wait;
+ u8 phy_addr;
char irq_name[];
};
--
2.45.1
@@ -0,0 +1,701 @@
From 915809af6ee266c1c7792a0be01ae4da02d4766f Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Mon, 20 Dec 2021 16:30:44 +0100
Subject: [PATCH 07/22] feat: usb support
---
drivers/usb/host/Kconfig | 8 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/xhci-aeolia.c | 585 +++++++++++++++++++++++++++++++++
drivers/usb/host/xhci-aeolia.h | 14 +
drivers/usb/host/xhci.c | 30 +-
5 files changed, 624 insertions(+), 14 deletions(-)
create mode 100644 drivers/usb/host/xhci-aeolia.c
create mode 100644 drivers/usb/host/xhci-aeolia.h
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index c4736d1d020c..92107bda6004 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -104,6 +104,14 @@ config USB_XHCI_TEGRA
Say 'Y' to enable the support for the xHCI host controller
found in NVIDIA Tegra124 and later SoCs.
+
+config USB_XHCI_AEOLIA
+ tristate "xHCI support for Sony PS4 (Aeolia)"
+ depends on X86_PS4
+ help
+ Say 'Y' to enable the support for the xHCI host controller
+ found in the Sony PlayStation 4.
+
endif # USB_XHCI_HCD
config USB_EHCI_BRCMSTB
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
index 171de4df50bd..d0365fbf8b45 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -73,6 +73,7 @@ obj-$(CONFIG_USB_XHCI_PLATFORM) += xhci-plat-hcd.o
obj-$(CONFIG_USB_XHCI_HISTB) += xhci-histb.o
obj-$(CONFIG_USB_XHCI_MTK) += xhci-mtk-hcd.o
obj-$(CONFIG_USB_XHCI_TEGRA) += xhci-tegra.o
+obj-$(CONFIG_USB_XHCI_AEOLIA) += xhci-aeolia.o
obj-$(CONFIG_USB_SL811_HCD) += sl811-hcd.o
obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o
obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
diff --git a/drivers/usb/host/xhci-aeolia.c b/drivers/usb/host/xhci-aeolia.c
new file mode 100644
index 000000000000..a9b345284495
--- /dev/null
+++ b/drivers/usb/host/xhci-aeolia.c
@@ -0,0 +1,585 @@
+/*
+ * xhci-aeoliat.c - xHCI host controller driver for Aeolia (Sony PS4)
+ *
+ * Borrows code from xhci-pci.c, hcd-pci.c, and xhci-plat.c.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ */
+
+#include <linux/pci.h>
+#include <linux/slab.h>
+#include <linux/module.h>
+#include <linux/acpi.h>
+#include <asm/ps4.h>
+#include "xhci-aeolia.h"
+#include "../../ps4/aeolia.h"
+
+#include "xhci.h"
+
+static const char hcd_name[] = "xhci_aeolia";
+
+static struct hc_driver __read_mostly xhci_aeolia_hc_driver;
+
+#define NR_DEVICES 3
+
+struct aeolia_xhci {
+ // TODO (ps4patches): Belize, enable in ahci commit
+ // struct ata_host *host;
+ int nr_irqs;
+ struct usb_hcd *hcd[NR_DEVICES];
+};
+
+static int xhci_aeolia_setup(struct usb_hcd *hcd);
+
+static const struct xhci_driver_overrides xhci_aeolia_overrides __initconst = {
+ .extra_priv_size = sizeof(struct xhci_hcd),
+ .reset = xhci_aeolia_setup,
+};
+
+static void xhci_aeolia_quirks(struct device *dev, struct xhci_hcd *xhci)
+{
+ /*
+ * Do not try to enable MSIs, we provide the MSIs ourselves
+ * Do not touch DMA mask, we need a custom one
+ */
+ xhci->quirks |= XHCI_PLAT | XHCI_PLAT_DMA;
+}
+
+/* called during probe() after chip reset completes */
+static int xhci_aeolia_setup(struct usb_hcd *hcd)
+{
+ return xhci_gen_setup(hcd, xhci_aeolia_quirks);
+}
+
+static int xhci_aeolia_probe_one(struct pci_dev *dev, int index)
+{
+ int retval;
+ struct aeolia_xhci *axhci = pci_get_drvdata(dev);
+ struct hc_driver *driver = &xhci_aeolia_hc_driver;
+ struct usb_hcd *hcd;
+ struct xhci_hcd *xhci;
+ int irq = (axhci->nr_irqs > 1) ? (dev->irq + index) : dev->irq;
+
+ // ok...adding this printk appears to have introduced a delay that fixed
+ // bringup of the middle host controller, so w/e for now...
+
+ printk("xhci_aeolia_probe_one %d, controller is %x\n", index, dev->device);
+
+ hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev));
+ pci_set_drvdata(dev, axhci); /* usb_create_hcd clobbers this */
+ if (!hcd)
+ return -ENOMEM;
+
+ hcd->rsrc_start = pci_resource_start(dev, 2 * index);
+ hcd->rsrc_len = pci_resource_len(dev, 2 * index);
+
+ /*
+ * TODO (ps4patches): Belize, enable in ahci commit
+ if (!devm_request_mem_region(&dev->dev, hcd->rsrc_start, hcd->rsrc_len,
+ driver->description)) {
+ */
+
+ if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
+ driver->description)) {
+ dev_dbg(&dev->dev, "controller already in use\n");
+ retval = -EBUSY;
+ goto put_hcd;
+ }
+ hcd->regs = pci_ioremap_bar(dev, 2 * index);
+ if (hcd->regs == NULL) {
+ dev_dbg(&dev->dev, "error mapping memory\n");
+ retval = -EFAULT;
+ goto release_mem_region;
+ }
+
+ device_wakeup_enable(hcd->self.controller);
+
+ xhci = hcd_to_xhci(hcd);
+ xhci->main_hcd = hcd;
+ xhci->shared_hcd = usb_create_shared_hcd(driver, &dev->dev,
+ pci_name(dev), hcd);
+ if (!xhci->shared_hcd) {
+ retval = -ENOMEM;
+ goto unmap_registers;
+ }
+
+ retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
+ if (retval)
+ goto put_usb3_hcd;
+
+ retval = usb_add_hcd(xhci->shared_hcd, irq, IRQF_SHARED);
+ if (retval)
+ goto dealloc_usb2_hcd;
+
+ axhci->hcd[index] = hcd;
+
+ return 0;
+
+dealloc_usb2_hcd:
+ usb_remove_hcd(hcd);
+put_usb3_hcd:
+ usb_put_hcd(xhci->shared_hcd);
+unmap_registers:
+ iounmap(hcd->regs);
+release_mem_region:
+ //
+ // devm_release_mem_region(&dev->dev, hcd->rsrc_start, hcd->rsrc_len);
+ release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
+put_hcd:
+ usb_put_hcd(hcd);
+ dev_err(&dev->dev, "init %s(%d) fail, %d\n",
+ pci_name(dev), index, retval);
+ return retval;
+}
+
+static void xhci_aeolia_remove_one(struct pci_dev *dev, int index)
+{
+ struct aeolia_xhci *axhci = pci_get_drvdata(dev);
+ struct usb_hcd *hcd = axhci->hcd[index];
+ struct xhci_hcd *xhci;
+
+ if (!hcd)
+ return;
+ xhci = hcd_to_xhci(hcd);
+
+ usb_remove_hcd(xhci->shared_hcd);
+ usb_remove_hcd(hcd);
+ usb_put_hcd(xhci->shared_hcd);
+ iounmap(hcd->regs);
+ usb_put_hcd(hcd);
+ axhci->hcd[index] = NULL;
+}
+
+// TODO (ps4patches): Belize, enable in ahci commit
+//#define DRV_VERSION "3.0"
+//#define DRV_NAME "ahci"
+//static const struct ata_port_info ahci_port_info = {
+// .flags = AHCI_FLAG_COMMON,
+// .pio_mask = ATA_PIO4,
+// .udma_mask = ATA_UDMA6,
+// .port_ops = &ahci_ops,
+//};
+//
+//static struct scsi_host_template ahci_sht = {
+// AHCI_SHT(DRV_NAME),
+//};
+//
+//static bool bus_master;
+//static int ahci_init_one(struct pci_dev *pdev)
+//{
+// struct f_resource* r_mem;
+// struct ahci_controller* ctlr;
+// struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
+// struct ata_port_info pi = ahci_port_info;
+// const struct ata_port_info *ppi[] = { &pi, NULL };
+// struct ahci_host_priv *hpriv;
+// struct ata_host *host;
+// int n_ports, i, rc;
+// int ahci_pci_bar = 2;
+// resource_size_t rsrc_start;
+// resource_size_t rsrc_len;
+//
+// VPRINTK("ENTER\n");
+//
+// WARN_ON((int)ATA_MAX_QUEUE > AHCI_MAX_CMDS);
+//
+// ata_print_version_once(&pdev->dev, DRV_VERSION);
+//
+// /*
+// rc = pcim_iomap_regions_request_all(pdev, 1 << ahci_pci_bar, DRV_NAME);
+// if (rc == -EBUSY)
+// pcim_pin_device(pdev);
+// if (rc)
+// return rc;
+// */
+//
+// hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL);
+// //hpriv = kzalloc(sizeof(*hpriv), GFP_KERNEL);
+// if (!hpriv)
+// return -ENOMEM;
+// hpriv->flags |= (unsigned long)pi.private_data;
+//
+// //hpriv->mmio = pcim_iomap_table(pdev)[ahci_pci_bar];
+// rsrc_start = pci_resource_start(pdev, ahci_pci_bar);
+// rsrc_len = pci_resource_len(pdev, ahci_pci_bar);
+// //if (!request_mem_region(rsrc_start, rsrc_len, "xhci-ahci.mem")) {
+// if (!devm_request_mem_region(&pdev->dev, rsrc_start, rsrc_len, "xhci-ahci.mem")) {
+// dev_dbg(&pdev->dev, "controller already in use\n");
+// rc = -EBUSY;
+// goto put_hpriv;
+// }
+//
+//
+// hpriv->mmio = pci_ioremap_bar(pdev, ahci_pci_bar);
+// if (hpriv->mmio == NULL) {
+// dev_dbg(&pdev->dev, "error mapping memory\n");
+// rc = -EFAULT;
+// goto release_mem_region;
+// }
+//
+// r_mem = kzalloc(sizeof(*r_mem), GFP_KERNEL);
+// if (r_mem) {
+// r_mem->r_bustag = 1;//mem
+// r_mem->r_bushandle = hpriv->mmio;
+//
+// ctlr = kzalloc(sizeof(*ctlr), GFP_KERNEL);
+// if (ctlr) {
+// ctlr->r_mem = r_mem;
+// ctlr->dev_id = 0; //or 0x90ca104d;
+// ctlr->trace_len = 6;
+// bpcie_sata_phy_init(&pdev->dev, ctlr);
+// kfree(ctlr);
+// }
+// kfree(r_mem);
+// }
+// device_wakeup_enable(&pdev->dev);
+//
+// /* save initial config */
+// ahci_save_initial_config(&pdev->dev, hpriv);
+//
+// /* prepare host */
+// if (hpriv->cap & HOST_CAP_NCQ) {
+// pi.flags |= ATA_FLAG_NCQ;
+// /*
+// * Auto-activate optimization is supposed to be
+// * supported on all AHCI controllers indicating NCQ
+// * capability, but it seems to be broken on some
+// * chipsets including NVIDIAs.
+// */
+// if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA))
+// pi.flags |= ATA_FLAG_FPDMA_AA;
+//
+// /*
+// * All AHCI controllers should be forward-compatible
+// * with the new auxiliary field. This code should be
+// * conditionalized if any buggy AHCI controllers are
+// * encountered.
+// */
+// pi.flags |= ATA_FLAG_FPDMA_AUX;
+// }
+//
+// if (hpriv->cap & HOST_CAP_PMP)
+// pi.flags |= ATA_FLAG_PMP;
+//
+// ahci_set_em_messages(hpriv, &pi);
+//
+// /* CAP.NP sometimes indicate the index of the last enabled
+// * port, at other times, that of the last possible port, so
+// * determining the maximum port number requires looking at
+// * both CAP.NP and port_map.
+// */
+// n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
+//
+// host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports);
+// if (!host) {
+// rc = -ENOMEM;
+// goto unmap_registers;
+// }
+// axhci->host = host;
+// pci_set_drvdata(pdev, axhci);
+//
+// host->private_data = hpriv;
+//
+// {
+// int index = 1;
+// int irq = (axhci->nr_irqs > 1) ? (pdev->irq + index) : pdev->irq;
+// hpriv->irq = irq;
+// }
+//
+// if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
+// host->flags |= ATA_HOST_PARALLEL_SCAN;
+// else
+// dev_info(&pdev->dev, "SSS flag set, parallel bus scan disabled\n");
+//
+// if (pi.flags & ATA_FLAG_EM)
+// ahci_reset_em(host);
+//
+// for (i = 0; i < host->n_ports; i++) {
+// struct ata_port *ap = host->ports[i];
+//
+// ata_port_pbar_desc(ap, ahci_pci_bar, -1, "abar");
+// ata_port_pbar_desc(ap, ahci_pci_bar,
+// 0x100 + ap->port_no * 0x80, "port");
+//
+// /* set enclosure management message type */
+// if (ap->flags & ATA_FLAG_EM)
+// ap->em_message_type = hpriv->em_msg_type;
+//
+//
+// /* disabled/not-implemented port */
+// if (!(hpriv->port_map & (1 << i)))
+// ap->ops = &ata_dummy_port_ops;
+// }
+//
+// rc = ahci_reset_controller(host);
+// dev_dbg(&pdev->dev, "ahci_reset_controller returned %d\n", rc);
+// if (rc)
+// goto release_host;
+//
+// ahci_init_controller(host);
+// ahci_print_info(host, "ATA");
+//
+// if (!bus_master) {
+// pci_set_master(pdev);
+// bus_master = true;
+// }
+//
+// rc = ahci_host_activate(host, &ahci_sht);
+// dev_dbg(&pdev->dev, "ahci_host_activate returned %d\n", rc);
+// if (rc) {
+// goto host_deactivate;
+// }
+//
+// pm_runtime_put_noidle(&pdev->dev);
+// return 0;
+//
+// host_deactivate:
+// release_host:
+// unmap_registers:
+// iounmap(hpriv->mmio);
+// release_mem_region:
+//
+// release_mem_region(rsrc_start, rsrc_len);
+//
+// // TODO (ps4patches): Belize, enable in ahci commit
+// //devm_release_mem_region(&pdev->dev, rsrc_start, rsrc_len);
+// put_hpriv:
+// //kfree(hpriv);
+// devm_kfree(&pdev->dev, hpriv);
+// dev_err(&pdev->dev, "init %s fail, %d\n",
+// pci_name(pdev), rc);
+// return rc;
+//}
+//
+//static void ahci_remove_one(struct pci_dev *pdev)
+//{
+// pm_runtime_get_noresume(&pdev->dev);
+//
+// struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
+// if (axhci && axhci->host) {
+// ata_host_detach(axhci->host);
+// struct ahci_host_priv *hpriv = axhci->host->private_data;
+// if (hpriv) {
+// iounmap(hpriv->mmio);
+// }
+// axhci->host = NULL;
+// }
+//}
+
+static int xhci_aeolia_probe(struct pci_dev *dev, const struct pci_device_id *id)
+{
+ int idx;
+ int retval;
+ struct aeolia_xhci *axhci;
+
+ if (apcie_status() == 0)
+ return -EPROBE_DEFER;
+
+ if (pci_enable_device(dev) < 0)
+ return -ENODEV;
+
+ axhci = kzalloc(sizeof(*axhci), GFP_KERNEL);
+ // TODO (ps4patches): Belize, enable in ahci commit
+ // axhci = devm_kzalloc(&dev->dev, sizeof(*axhci), GFP_KERNEL);
+ if (!axhci) {
+ retval = -ENOMEM;
+ goto disable_device;
+ }
+ pci_set_drvdata(dev, axhci);
+
+ axhci->nr_irqs = retval = apcie_assign_irqs(dev, NR_DEVICES);
+ if (retval < 0) {
+ goto free_axhci;
+ }
+
+ // TODO (ps4patches): Belize, disable in ahci commit
+ pci_set_master(dev);
+
+ if (pci_set_dma_mask(dev, DMA_BIT_MASK(31)) ||
+ pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(31))) {
+ return -ENODEV;
+ }
+
+ // TODO (ps4patches): Belize, enable in ahci commit
+// retval = ahci_init_one(dev);
+// dev_dbg(&dev->dev, "ahci_init_one returned %d", retval);
+// if (!bus_master) {
+// pci_set_master(dev);
+// bus_master = true;
+// }
+
+ for (idx = 0; idx < NR_DEVICES; idx++) {
+ if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI && idx == 1){ //this is for Belize and Baikal
+ continue;
+ }
+ retval = xhci_aeolia_probe_one(dev, idx);
+ if (retval)
+ goto remove_hcds;
+ }
+
+ return 0;
+
+remove_hcds:
+ while (idx--)
+ xhci_aeolia_remove_one(dev, idx);
+ apcie_free_irqs(dev->irq, axhci->nr_irqs);
+free_axhci:
+ kfree(axhci);
+
+ // TODO (ps4patches): Belize, disable in ahci commit
+ // devm_kfree(&dev->dev, axhci);
+ // pci_set_drvdata(dev, NULL);
+disable_device:
+ pci_disable_device(dev);
+ return retval;
+}
+
+static void xhci_aeolia_remove(struct pci_dev *dev)
+{
+ int idx;
+ struct aeolia_xhci *axhci = pci_get_drvdata(dev);
+ if (!axhci)
+ return;
+
+ for (idx = 0; idx < NR_DEVICES; idx++) {
+ if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI) {
+ if(idx != 1)
+ xhci_aeolia_remove_one(dev, idx);
+ // TODO (ps4patches): Belize, enable in ahci commit
+ // else
+ // ahci_remove_one(dev);
+ }
+ else
+ xhci_aeolia_remove_one(dev, idx);
+ }
+
+ apcie_free_irqs(dev->irq, axhci->nr_irqs);
+
+ // TODO (ps4patches): Belize, remove in ahci commit
+ kfree(axhci);
+
+ pci_disable_device(dev);
+}
+
+// TODO (ps4patches): Belize, enable in ahci commit
+//static void xhci_hcd_pci_shutdown(struct pci_dev *dev){
+// struct aeolia_xhci *axhci;
+// struct usb_hcd *hcd;
+// int idx;
+//
+// axhci = pci_get_drvdata(dev);
+// if (!axhci)
+// return;
+//
+// for (idx = 0; idx < NR_DEVICES; idx++) {
+// if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI) {
+// if(idx != 1) {
+// hcd = axhci->hcd[idx];
+// if (hcd) {
+// if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && hcd->driver->shutdown) {
+// hcd->driver->shutdown(hcd);
+// if (usb_hcd_is_primary_hcd(hcd) && hcd->irq > 0)
+// free_irq(hcd->irq, hcd);
+// }
+// }
+// }
+// }
+// }
+//}
+
+
+static const struct pci_device_id pci_ids[] = {
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_AEOLIA_XHCI) },
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_BELIZE_XHCI) },
+ { PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_BAIKAL_XHCI) },
+ { /* end: all zeroes */ }
+};
+MODULE_DEVICE_TABLE(pci, pci_ids);
+
+#ifdef CONFIG_PM_SLEEP
+static int xhci_aeolia_suspend(struct device *dev)
+{
+ int idx;
+ struct aeolia_xhci *axhci = dev_get_drvdata(dev);
+ struct xhci_hcd *xhci;
+ int retval;
+ struct pci_dev *pdev = to_pci_dev(dev);
+
+ for (idx = 0; idx < NR_DEVICES; idx++) {
+ if(pdev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI && idx == 1)
+ continue;
+ xhci = hcd_to_xhci(axhci->hcd[idx]);
+ retval = xhci_suspend(xhci, device_may_wakeup(dev));
+ if (retval < 0)
+ goto resume;
+ }
+ return 0;
+
+resume:
+ while (idx--) {
+ xhci = hcd_to_xhci(axhci->hcd[idx]);
+ xhci_resume(xhci, 0);
+ }
+ return retval;
+}
+
+static int xhci_aeolia_resume(struct device *dev)
+{
+ int idx;
+ struct aeolia_xhci *axhci = dev_get_drvdata(dev);
+ struct xhci_hcd *xhci;
+ int retval;
+ struct pci_dev *pdev = to_pci_dev(dev);
+
+ for (idx = 0; idx < NR_DEVICES; idx++) {
+ if(pdev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI && idx == 1)
+ continue;
+ xhci = hcd_to_xhci(axhci->hcd[idx]);
+ retval = xhci_resume(xhci, 0);
+ if (retval < 0)
+ return retval;
+ }
+ return 0;
+}
+
+static const struct dev_pm_ops xhci_aeolia_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS(xhci_aeolia_suspend, xhci_aeolia_resume)
+};
+#endif
+
+/* pci driver glue; this is a "new style" PCI driver module */
+static struct pci_driver xhci_aeolia_driver = {
+ .name = "xhci_aeolia",
+ .id_table = pci_ids,
+
+ .probe = xhci_aeolia_probe,
+ .remove = xhci_aeolia_remove,
+ /* suspend and resume implemented later */
+
+ .shutdown = usb_hcd_pci_shutdown,
+ // TODO (ps4patches): Belize, enable in ahci commit
+ //.shutdown = xhci_hcd_pci_shutdown,
+#ifdef CONFIG_PM_SLEEP
+ .driver = {
+ .pm = &xhci_aeolia_pm_ops
+ },
+#endif
+};
+
+static int __init xhci_aeolia_init(void)
+{
+ xhci_init_driver(&xhci_aeolia_hc_driver, &xhci_aeolia_overrides);
+ return pci_register_driver(&xhci_aeolia_driver);
+}
+module_init(xhci_aeolia_init);
+
+static void __exit xhci_aeolia_exit(void)
+{
+ pci_unregister_driver(&xhci_aeolia_driver);
+}
+module_exit(xhci_aeolia_exit);
+
+MODULE_DESCRIPTION("xHCI Aeolia Host Controller Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/usb/host/xhci-aeolia.h b/drivers/usb/host/xhci-aeolia.h
new file mode 100644
index 000000000000..2b711d6a92ca
--- /dev/null
+++ b/drivers/usb/host/xhci-aeolia.h
@@ -0,0 +1,14 @@
+/*
+ * xhci-aeolia.h
+ *
+ * Created on: 31 Oct 2019
+ * Author: visicva
+ */
+
+#ifndef DRIVERS_USB_HOST_XHCI_AEOLIA_H_
+#define DRIVERS_USB_HOST_XHCI_AEOLIA_H_
+
+#include "../../ata/ahci.h"
+#include <linux/irqdomain.h>
+
+#endif /* DRIVERS_USB_HOST_XHCI_AEOLIA_H_ */
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 1fd2f6a850eb..1c8fb48c7095 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5373,20 +5373,22 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
- if (HCC_64BIT_ADDR(xhci->hcc_params) &&
- !dma_set_mask(dev, DMA_BIT_MASK(64))) {
- xhci_dbg(xhci, "Enabling 64-bit DMA addresses.\n");
- dma_set_coherent_mask(dev, DMA_BIT_MASK(64));
- } else {
- /*
- * This is to avoid error in cases where a 32-bit USB
- * controller is used on a 64-bit capable system.
- */
- retval = dma_set_mask(dev, DMA_BIT_MASK(32));
- if (retval)
- return retval;
- xhci_dbg(xhci, "Enabling 32-bit DMA addresses.\n");
- dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
+ if (!(xhci->quirks & XHCI_PLAT_DMA)) {
+ if (HCC_64BIT_ADDR(xhci->hcc_params) &&
+ !dma_set_mask(dev, DMA_BIT_MASK(64))) {
+ xhci_dbg(xhci, "Enabling 64-bit DMA addresses.\n");
+ dma_set_coherent_mask(dev, DMA_BIT_MASK(64));
+ } else {
+ /*
+ * This is to avoid error in cases where a 32-bit USB
+ * controller is used on a 64-bit capable system.
+ */
+ retval = dma_set_mask(dev, DMA_BIT_MASK(32));
+ if (retval)
+ return retval;
+ xhci_dbg(xhci, "Enabling 32-bit DMA addresses.\n");
+ dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
+ }
}
xhci_dbg(xhci, "Calling HCD init\n");
--
2.45.1
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,158 @@
From 0bd681355cbd557d93a6cc62e0b816ed661095c9 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Tue, 21 Dec 2021 19:22:42 +0100
Subject: [PATCH 09/22] feat: trying to modernize ps4-apcie so it works with
kernel 5.15
---
arch/x86/include/asm/irqdomain.h | 1 +
arch/x86/kernel/apic/vector.c | 11 ++++++++-
drivers/iommu/amd/iommu.c | 2 ++
drivers/pci/probe.c | 6 +++++
drivers/ps4/ps4-apcie.c | 40 ++++++++++++++++++++++++--------
5 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/arch/x86/include/asm/irqdomain.h b/arch/x86/include/asm/irqdomain.h
index 125c23b7bad3..2f8410292efc 100644
--- a/arch/x86/include/asm/irqdomain.h
+++ b/arch/x86/include/asm/irqdomain.h
@@ -14,6 +14,7 @@ enum {
extern int x86_fwspec_is_ioapic(struct irq_fwspec *fwspec);
extern int x86_fwspec_is_hpet(struct irq_fwspec *fwspec);
+extern int x86_fwspec_is_aeolia(struct irq_fwspec *fwspec);
extern struct irq_domain *x86_vector_domain;
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index c132daabe615..af7339aaa843 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -676,6 +676,15 @@ int x86_fwspec_is_hpet(struct irq_fwspec *fwspec)
return 0;
}
+int x86_fwspec_is_aeolia(struct irq_fwspec *fwspec)
+{
+ if (is_fwnode_irqchip(fwspec->fwnode)) {
+ const char *fwname = fwnode_get_name(fwspec->fwnode);
+ return fwname && !strncmp(fwname, "Aeolia-MSI", 10);
+ }
+ return 0;
+}
+
static int x86_vector_select(struct irq_domain *d, struct irq_fwspec *fwspec,
enum irq_domain_bus_token bus_token)
{
@@ -687,7 +696,7 @@ static int x86_vector_select(struct irq_domain *d, struct irq_fwspec *fwspec,
if (apic->apic_id_valid(32768))
return 0;
- return x86_fwspec_is_ioapic(fwspec) || x86_fwspec_is_hpet(fwspec);
+ return x86_fwspec_is_ioapic(fwspec) || x86_fwspec_is_hpet(fwspec) || x86_fwspec_is_aeolia(fwspec);
}
static const struct irq_domain_ops x86_vector_domain_ops = {
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index 5ceaaabb4f9d..f20dc0c7b78f 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -3294,6 +3294,8 @@ static int irq_remapping_select(struct irq_domain *d, struct irq_fwspec *fwspec,
devid = get_ioapic_devid(fwspec->param[0]);
else if (x86_fwspec_is_hpet(fwspec))
devid = get_hpet_devid(fwspec->param[0]);
+ else if(x86_fwspec_is_aeolia(fwspec))
+ devid = fwspec->param[0];
if (devid < 0)
return 0;
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 5fe5e84fab40..288b49cc49a5 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -2638,6 +2638,12 @@ int pci_scan_slot(struct pci_bus *bus, int devfn)
nr++;
for (fn = next_fn(bus, dev, 0); fn > 0; fn = next_fn(bus, dev, fn)) {
+ if (PCI_SLOT(devfn) != AEOLIA_SLOT_NUM &&
+ pci_bus_read_dev_vendor_id(bus, devfn + fn, &l, 60*1000) &&
+ (l & 0xffff) == PCI_VENDOR_ID_SONY) {
+ continue;
+ }
+
dev = pci_scan_single_device(bus, devfn + fn);
if (dev) {
if (!pci_dev_is_added(dev))
diff --git a/drivers/ps4/ps4-apcie.c b/drivers/ps4/ps4-apcie.c
index d5e87d1ee74e..d9c36f7715bb 100644
--- a/drivers/ps4/ps4-apcie.c
+++ b/drivers/ps4/ps4-apcie.c
@@ -219,28 +219,47 @@ static struct msi_domain_info apcie_msi_domain_info = {
static struct irq_domain *apcie_create_irq_domain(struct apcie_dev *sc)
{
- struct irq_domain *domain;
+ struct msi_domain_info *domain_info;
+ struct irq_domain *domain, *parent;
struct fwnode_handle *fn;
+ struct irq_fwspec fwspec;
sc_dbg("apcie_create_irq_domain\n");
if (x86_vector_domain == NULL)
return NULL;
- apcie_msi_domain_info.chip_data = (void *)sc;
- apcie_msi_domain_info.flags |= MSI_FLAG_MULTI_PCI_MSI;
- apcie_msi_controller.name = "IR-Aeolia-MSI";
+ domain_info = kzalloc(sizeof(*domain_info), GFP_KERNEL);
+ if (!domain_info)
+ return NULL;
+
+ *domain_info = apcie_msi_domain_info;
+ domain_info->chip_data = (void *)sc;
- fn = irq_domain_alloc_named_fwnode(apcie_msi_controller.name);
- if (!fn)
+ fn = irq_domain_alloc_named_id_fwnode(apcie_msi_controller.name, pci_dev_id(sc->pdev));
+ if (!fn) {
+ kfree(domain_info);
return NULL;
- domain = pci_msi_create_irq_domain(fn, &apcie_msi_domain_info,
- x86_vector_domain);
+ }
+
+ fwspec.fwnode = fn;
+ fwspec.param_count = 1;
+
+ // It should be correct to put the pci device id in here
+ fwspec.param[0] = pci_dev_id(sc->pdev);
+ parent = irq_find_matching_fwspec(&fwspec, DOMAIN_BUS_ANY);
+ if (!parent) {
+ parent = x86_vector_domain;
+ } else {
+ apcie_msi_domain_info.flags |= MSI_FLAG_MULTI_PCI_MSI;
+ apcie_msi_controller.name = "IR-Aeolia-MSI";
+ }
+
+ domain = msi_create_irq_domain(fn, domain_info, parent);
if (!domain) {
irq_domain_free_fwnode(fn);
+ kfree(domain_info);
pr_warn("Failed to initialize IR-Aeolia-MSI irqdomain.\n");
- } else {
- domain->flags |= IRQ_DOMAIN_MSI_NOMASK_QUIRK;
}
return domain;
@@ -283,6 +302,7 @@ int apcie_assign_irqs(struct pci_dev *dev, int nvec)
info.type = X86_IRQ_ALLOC_TYPE_PCI_MSI;
/* IRQs "come from" function 4 as far as the IOMMU/system see */
//info.msi_dev = sc->pdev;
+ info.desc = alloc_msi_entry(&dev->dev, nvec, NULL);
/* Our hwirq number is function << 8 plus subfunction.
* Subfunction is usually 0 and implicitly increments per hwirq,
* but can also be 0xff to indicate that this is a shared IRQ. */
--
2.45.1
@@ -0,0 +1,680 @@
From 92a4a84d51795f0a765a0dc6b3db08ca60b74805 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Fri, 24 Dec 2021 22:40:25 +0100
Subject: [PATCH 10/22] feat: working state, broken gpu
---
drivers/ata/ahci.c | 289 ++++++++++++++++++++++++++
drivers/ata/ahci.h | 28 +++
drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 6 +
drivers/iommu/amd/iommu.c | 1 +
drivers/ps4/aeolia.h | 8 +-
drivers/ps4/ps4-apcie.c | 95 ++++++---
6 files changed, 392 insertions(+), 35 deletions(-)
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 149ee16fd022..5ba41c18b295 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -34,6 +34,10 @@
#include <linux/io-64-nonatomic-lo-hi.h>
#include "ahci.h"
+#ifdef CONFIG_X86_PS4
+#include <asm/ps4.h>
+#endif
+
#define DRV_NAME "ahci"
#define DRV_VERSION "3.0"
@@ -605,6 +609,11 @@ static const struct pci_device_id ahci_pci_tbl[] = {
/* Enmotus */
{ PCI_DEVICE(0x1c44, 0x8000), board_ahci },
+ /* Sony (PS4) */
+ { PCI_VDEVICE(SONY, PCI_DEVICE_ID_SONY_AEOLIA_AHCI), board_ahci },
+ { PCI_VDEVICE(SONY, PCI_DEVICE_ID_SONY_BELIZE_AHCI), board_ahci },
+ { PCI_VDEVICE(SONY, PCI_DEVICE_ID_SONY_BAIKAL_AHCI), board_ahci },
+
/* Loongson */
{ PCI_VDEVICE(LOONGSON, 0x7a08), board_ahci },
@@ -954,6 +963,23 @@ static int ahci_configure_dma_masks(struct pci_dev *pdev, int using_dac)
if (pdev->dma_mask && pdev->dma_mask < DMA_BIT_MASK(32))
return 0;
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY) {
+ rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(31));
+ if (rc) {
+ dev_err(&pdev->dev, "31-bit DMA enable failed\n");
+ return rc;
+ }
+ rc = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(31));
+ if (rc) {
+ dev_err(&pdev->dev,
+ "31-bit consistent DMA enable failed\n");
+ return rc;
+ }
+ return 0;
+ }
+ #endif
+
rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(dma_bits));
if (rc)
dev_err(&pdev->dev, "DMA enable failed\n");
@@ -1574,6 +1600,12 @@ static int ahci_init_msi(struct pci_dev *pdev, unsigned int n_ports,
{
int nvec;
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY) {
+ return apcie_assign_irqs(pdev, n_ports);
+ }
+ #endif
+
if (hpriv->flags & AHCI_HFLAG_NO_MSI)
return -ENODEV;
@@ -1700,6 +1732,13 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
WARN_ON((int)ATA_MAX_QUEUE > AHCI_MAX_CMDS);
+
+ #ifdef CONFIG_X86_PS4
+ /* This will return negative on non-PS4 platforms */
+ if (apcie_status() == 0)
+ return -EPROBE_DEFER;
+ #endif
+
ata_print_version_once(&pdev->dev, DRV_VERSION);
/* The AHCI driver can only drive the SATA ports, the PATA driver
@@ -1947,8 +1986,258 @@ static void ahci_remove_one(struct pci_dev *pdev)
NULL);
pm_runtime_get_noresume(&pdev->dev);
ata_pci_remove_one(pdev);
+
+ #ifdef CONFIG_X86_PS4
+ if (pdev->vendor == PCI_VENDOR_ID_SONY) {
+ apcie_free_irqs(pdev->irq, 1);
+ }
+ #endif
+}
+
+#ifdef CONFIG_X86_PS4
+void bpcie_sata_phy_init(struct device *dev, struct ahci_controller *ctlr)
+{
+ int i;
+ u32 v;
+ u32 v2;
+ bool is_phy_gen_3;
+ unsigned int trace_length;
+
+ dev_info(dev, "Belize SATA PHY init\n");
+
+ for (i = 0; i < 100; i++) {
+ udelay(10000);
+ }
+
+ //step 1
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x81);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffff00) | 1);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xa5);
+
+ //step 2
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+
+ if (ctlr->dev_id == 0x90ca104d || ctlr->dev_id == 0x909f104d || ctlr->dev_id == 0x90d9104d) {
+ is_phy_gen_3 = false;
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v & 0xfffff3ff);
+ } else {
+ u32 v2 = bpcie_ahci_read(ctlr->r_mem, 0);
+ if ((v2 & 0xf00000) != 0x300000) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff3ff) | 0x400);
+ is_phy_gen_3 = false;
+ } else {
+ dev_info(dev,"PHY SET GEN3\n");
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff3ff) | 0x800);
+ is_phy_gen_3 = true;
+ }
+ }
+
+ //--- step 3 ---
+ if (ctlr->trace_len == 0) {
+ trace_length = 6;
+ } else {
+ trace_length = ctlr->trace_len & 0x1f;
+ if (trace_length >= 0x13) {
+ trace_length = 6;
+ }
+ }
+
+ dev_info(dev,"Belize SATA PHY Trace length : %d\n",trace_length);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xa3);
+
+ //--- step 4 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff3ff) | 0x800);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xd0);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff800) | 0x441);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xe1);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffff8f) | 0x60);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xd0);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffff3fff) | 0x8000);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xf1);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff3ff) | 0x400);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x48);
+
+ //--- step 5 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, 0x62d8);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xe);
+
+ //--- step 6 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v & 0xffffdfff);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8d);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 1);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8f);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 1);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x91);
+
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 1);
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8d);
+
+ //--- step 7 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ if (trace_length >= 0xe) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 0x28);
+ } else {
+ if (trace_length < 0xb) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 8);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 0x10);
+ }
+ }
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8f);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 0x12);
+
+ //--- step 8 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x91);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ if (trace_length < 5) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 0x24);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc1) | 0x2a);
+ }
+
+ //--- step 9 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xff);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, 1);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x97);
+
+ //--- step 10 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ if (is_phy_gen_3) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffff80) | 0xd3);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffff80) | 0xee);
+ }
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x95);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffff00) | 0xee);
+
+ //--- step 11 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xff);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, 0);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8d);
+
+ //--- step 12 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ if (trace_length < 0xe) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff87f) | 0x900);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff87f) | 0xe00);
+ }
+
+ //--- step 13 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8f);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff07f) | 0x900);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x91);
+
+ //--- step 14 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ if (is_phy_gen_3) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff87f) | 0xd00);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xfffff87f) | 0xe80);
+ }
+
+ //--- step 15 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 200);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v & 0xffffefff);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 10);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v & 0xffffefff);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x82);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 0x1000);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xc9);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 0x1000);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x84);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffffffc0) | 0xc);
+
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8d);
+
+ //--- step 16 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ v = v & 0xffff0fff;
+ if (trace_length < 0xe) {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v | 0x8000);
+ } else {
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, v);
+ }
+
+ //--- step 17 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0x8f);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+ bpcie_ahci_write(ctlr->r_mem, 0x17c, (v & 0xffff0fff) | 0x8000);
+
+ //--- step 18 ---
+ bpcie_ahci_write(ctlr->r_mem, 0xa0, 0);
+ v = bpcie_ahci_read(ctlr->r_mem, 0xa4);
+ bpcie_ahci_write(ctlr->r_mem, 0xa4, v | 0x40);
+
+ //--- step 19 ---
+ if (ctlr->dev_id != 0x909f104d && ctlr->dev_id != 0x90ca104d && ctlr->dev_id != 0x90d9104d) {
+ v2 = 0x73000000;
+ } else {
+ v2 = 0x30000000;
+ }
+
+ //--- step 20 ---
+ bpcie_ahci_write(ctlr->r_mem, 0xa0, 4);
+ v = bpcie_ahci_read(ctlr->r_mem, 0xa4);
+ bpcie_ahci_write(ctlr->r_mem, 0xa4, (v & 0x88ffffff) | v2);
+
+ //--- step 21 ---
+ v = bpcie_ahci_read(ctlr->r_mem, 0xa4);
+
+ //--- step 22 ---
+ for (i = 0; i < 100; i++) {
+ udelay(10000);
+ }
+
+ //--- step 23 ---
+ bpcie_ahci_write(ctlr->r_mem, 0x178, 0xf9);
+ v = bpcie_ahci_read(ctlr->r_mem, 0x17c);
+
+ if (is_phy_gen_3) {
+ dev_info(dev,"Align 90=0x%02x\n",v & 0x7f);
+ }
+ //done!
}
+EXPORT_SYMBOL_GPL(bpcie_sata_phy_init);
+#endif
+
module_pci_driver(ahci_pci_driver);
MODULE_AUTHOR("Jeff Garzik");
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 60ae707a88cc..efdfac788727 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -447,4 +447,32 @@ static inline int ahci_nr_ports(u32 cap)
return (cap & 0x1f) + 1;
}
+#ifdef CONFIG_X86_PS4
+struct f_resource{
+ u64 resource_i_ptr;
+ u64 r_bustag;
+ void __iomem * r_bushandle;
+};
+
+struct ahci_controller{
+ void *dev;
+ int dev_id;
+ struct f_resource *r_mem;
+ u32 trace_len;
+};
+
+void bpcie_sata_phy_init(struct device *dev, struct ahci_controller *ctlr);
+
+static inline void bpcie_ahci_write(struct f_resource *r_mem, u32 offset, u32 val) {
+ iowrite32(val, r_mem->r_bushandle + offset);
+}
+
+static inline u32 bpcie_ahci_read(struct f_resource *r_mem, u32 offset) {
+ return ioread32(r_mem->r_bushandle + offset);
+}
+#endif
+
+
+
+
#endif /* _AHCI_H */
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index 752b66d7d0df..5e249922a72a 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -1068,6 +1068,10 @@ static int gmc_v7_0_sw_init(void *handle)
if (r)
return r;
+
+ dev_info(adev->dev, "Done gart\n");
+
+
/*
* number of VMs
* VMID 0 is reserved for System
@@ -1093,6 +1097,8 @@ static int gmc_v7_0_sw_init(void *handle)
return -ENOMEM;
atomic_set(&adev->gmc.vm_fault_info_updated, 0);
+ dev_info(adev->dev, "Done init\n");
+
return 0;
}
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index f20dc0c7b78f..4d36261e88a9 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -3300,6 +3300,7 @@ static int irq_remapping_select(struct irq_domain *d, struct irq_fwspec *fwspec,
if (devid < 0)
return 0;
+ pr_err("Remapping Selected: %x\n", devid);
iommu = amd_iommu_rlookup_table[devid];
return iommu && iommu->ir_domain == d;
}
diff --git a/drivers/ps4/aeolia.h b/drivers/ps4/aeolia.h
index 13df4b9a4fef..5319822ca818 100644
--- a/drivers/ps4/aeolia.h
+++ b/drivers/ps4/aeolia.h
@@ -151,11 +151,11 @@ struct apcie_dev {
struct apcie_icc_dev icc;
};
-#define sc_err(...) dev_err(&sc->pdev->dev, __VA_ARGS__)
-#define sc_warn(...) dev_warn(&sc->pdev->dev, __VA_ARGS__)
-#define sc_notice(...) dev_notice(&sc->pdev->dev, __VA_ARGS__)
+#define sc_err(...) dev_info(&sc->pdev->dev, __VA_ARGS__)
+#define sc_warn(...) dev_info(&sc->pdev->dev, __VA_ARGS__)
+#define sc_notice(...) dev_info(&sc->pdev->dev, __VA_ARGS__)
#define sc_info(...) dev_info(&sc->pdev->dev, __VA_ARGS__)
-#define sc_dbg(...) dev_dbg(&sc->pdev->dev, __VA_ARGS__)
+#define sc_dbg(...) dev_info(&sc->pdev->dev, __VA_ARGS__)
static inline int apcie_irqnum(struct apcie_dev *sc, int index)
{
diff --git a/drivers/ps4/ps4-apcie.c b/drivers/ps4/ps4-apcie.c
index d9c36f7715bb..f4e3a380d591 100644
--- a/drivers/ps4/ps4-apcie.c
+++ b/drivers/ps4/ps4-apcie.c
@@ -18,6 +18,11 @@
#include "aeolia.h"
+
+#define MSI_DATA_VECTOR_SHIFT 0
+#define MSI_DATA_VECTOR(v) (((u8)v) << MSI_DATA_VECTOR_SHIFT)
+#define MSI_DATA_VECTOR_MASK 0xffffff00
+
/* #define QEMU_HACK_NO_IOMMU */
/* Number of implemented MSI registers per function */
@@ -63,12 +68,20 @@ static void apcie_config_msi(struct apcie_dev *sc, u32 func, u32 subfunc,
glue_clear_mask(sc, APCIE_REG_MSI_CONTROL, APCIE_REG_MSI_CONTROL_ENABLE);
/* Unknown */
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI(0x8), 0xffffffff);
glue_write32(sc, APCIE_REG_MSI(0x8), 0xffffffff);
/* Unknown */
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI(0xc + (func << 2)), 0xB7FFFF00 + func * 16);
glue_write32(sc, APCIE_REG_MSI(0xc + (func << 2)), 0xB7FFFF00 + func * 16);
+
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI_ADDR(func), addr);
glue_write32(sc, APCIE_REG_MSI_ADDR(func), addr);
/* Unknown */
+
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI(0xcc + (func << 2)), 0);
glue_write32(sc, APCIE_REG_MSI(0xcc + (func << 2)), 0);
+
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI_DATA_HI(func), data & 0xffe0);
glue_write32(sc, APCIE_REG_MSI_DATA_HI(func), data & 0xffe0);
if (func < 4) {
@@ -84,6 +97,8 @@ static void apcie_config_msi(struct apcie_dev *sc, u32 func, u32 subfunc,
} else {
offset = 0xa0 + ((func - 5) << 4) + (subfunc << 2);
}
+
+ sc_dbg("glue_write32 to offset, value (%08x, %08x, %08x)\n", sc->bar4, APCIE_REG_MSI_DATA_LO(offset), data & 0x1f);
glue_write32(sc, APCIE_REG_MSI_DATA_LO(offset), data & 0x1f);
if (func == AEOLIA_FUNC_ID_PCIE)
@@ -149,9 +164,17 @@ static void apcie_msi_calc_mask(struct irq_data *data) {
static void apcie_irq_msi_compose_msg(struct irq_data *data,
struct msi_msg *msg)
{
- __irq_msi_compose_msg(irqd_cfg(data), msg, false);
-}
+ struct irq_cfg *cfg = irqd_cfg(data);
+ memset(msg, 0, sizeof(*msg));
+ msg->address_hi = X86_MSI_BASE_ADDRESS_HIGH;
+ msg->address_lo = 0xfee00000;// Just do it like this for now
+
+ // I know this is absolute horseshit, but it matches a known working kernel
+ msg->data = data->irq - 1;
+
+ pr_err("apcie_irq_msi_compose_msg\n");
+}
static struct irq_chip apcie_msi_controller = {
.name = "Aeolia-MSI",
@@ -162,7 +185,7 @@ static struct irq_chip apcie_msi_controller = {
.irq_retrigger = irq_chip_retrigger_hierarchy,
.irq_compose_msi_msg = apcie_irq_msi_compose_msg,
.irq_write_msi_msg = apcie_msi_write_msg,
- .flags = IRQCHIP_SKIP_SET_WAKE,
+ .flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_AFFINITY_PRE_STARTUP,
};
static irq_hw_number_t apcie_msi_get_hwirq(struct msi_domain_info *info,
@@ -176,7 +199,7 @@ static int apcie_msi_init(struct irq_domain *domain,
irq_hw_number_t hwirq, msi_alloc_info_t *arg)
{
struct irq_data *data;
- pr_devel("apcie_msi_init(%p, %p, %d, 0x%lx, %p)\n", domain, info, virq, hwirq, arg);
+ pr_err("apcie_msi_init(%p, %p, %d, 0x%lx, %p)\n", domain, info, virq, hwirq, arg);
data = irq_domain_get_irq_data(domain, virq);
irq_domain_set_info(domain, virq, hwirq, info->chip, info->chip_data,
@@ -188,23 +211,25 @@ static int apcie_msi_init(struct irq_domain *domain,
static void apcie_msi_free(struct irq_domain *domain,
struct msi_domain_info *info, unsigned int virq)
{
- pr_devel("apcie_msi_free(%d)\n", virq);
+ pr_err("apcie_msi_free(%d)\n", virq);
}
-int apcie_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec,
- msi_alloc_info_t *arg)
+
+static void apcie_set_desc(msi_alloc_info_t *arg, struct msi_desc *desc)
{
- init_irq_alloc_info(arg, NULL);
+ arg->desc = desc;
+ struct pci_dev* device = msi_desc_to_pci_dev(desc);
- arg->type = X86_IRQ_ALLOC_TYPE_PCI_MSI;
- arg->flags |= MSI_FLAG_MULTI_PCI_MSI;
+ arg->hwirq = PCI_FUNC(device->devfn) << 8;
- return 0;
+#ifndef QEMU_HACK_NO_IOMMU
+ arg->hwirq |= 0xFF;
+#endif
}
static struct msi_domain_ops apcie_msi_domain_ops = {
.get_hwirq = apcie_msi_get_hwirq,
- .msi_prepare = apcie_msi_prepare,
+ .set_desc = apcie_set_desc,
.msi_init = apcie_msi_init,
.msi_free = apcie_msi_free,
};
@@ -219,7 +244,6 @@ static struct msi_domain_info apcie_msi_domain_info = {
static struct irq_domain *apcie_create_irq_domain(struct apcie_dev *sc)
{
- struct msi_domain_info *domain_info;
struct irq_domain *domain, *parent;
struct fwnode_handle *fn;
struct irq_fwspec fwspec;
@@ -228,19 +252,15 @@ static struct irq_domain *apcie_create_irq_domain(struct apcie_dev *sc)
if (x86_vector_domain == NULL)
return NULL;
- domain_info = kzalloc(sizeof(*domain_info), GFP_KERNEL);
- if (!domain_info)
- return NULL;
-
- *domain_info = apcie_msi_domain_info;
- domain_info->chip_data = (void *)sc;
+ apcie_msi_domain_info.chip_data = (void *)sc;
fn = irq_domain_alloc_named_id_fwnode(apcie_msi_controller.name, pci_dev_id(sc->pdev));
if (!fn) {
- kfree(domain_info);
return NULL;
}
+ sc_dbg("devid = %d\n", pci_dev_id(sc->pdev));
+
fwspec.fwnode = fn;
fwspec.param_count = 1;
@@ -249,17 +269,19 @@ static struct irq_domain *apcie_create_irq_domain(struct apcie_dev *sc)
parent = irq_find_matching_fwspec(&fwspec, DOMAIN_BUS_ANY);
if (!parent) {
+ sc_dbg("no parent \n");
parent = x86_vector_domain;
+ } else if (parent == x86_vector_domain) {
+ sc_dbg("no parent \n");
} else {
apcie_msi_domain_info.flags |= MSI_FLAG_MULTI_PCI_MSI;
apcie_msi_controller.name = "IR-Aeolia-MSI";
}
- domain = msi_create_irq_domain(fn, domain_info, parent);
+ domain = msi_create_irq_domain(fn, &apcie_msi_domain_info, parent);
if (!domain) {
irq_domain_free_fwnode(fn);
- kfree(domain_info);
- pr_warn("Failed to initialize IR-Aeolia-MSI irqdomain.\n");
+ pr_warn("Failed to initialize Aeolia-MSI irqdomain.\n");
}
return domain;
@@ -302,15 +324,17 @@ int apcie_assign_irqs(struct pci_dev *dev, int nvec)
info.type = X86_IRQ_ALLOC_TYPE_PCI_MSI;
/* IRQs "come from" function 4 as far as the IOMMU/system see */
//info.msi_dev = sc->pdev;
- info.desc = alloc_msi_entry(&dev->dev, nvec, NULL);
+ info.devid = pci_dev_id(sc->pdev);
+
+ int i, base = 0;
+ struct msi_desc *desc;
+ struct device* bare_dev = &sc->pdev->dev;
+
/* Our hwirq number is function << 8 plus subfunction.
* Subfunction is usually 0 and implicitly increments per hwirq,
* but can also be 0xff to indicate that this is a shared IRQ. */
- //https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=3b9c1d377d67072d1d8a2373b4969103cca00dab
info.hwirq = PCI_FUNC(dev->devfn) << 8;
- dev_dbg(&dev->dev, "apcie_assign_irqs(%d)\n", nvec);
-
#ifndef QEMU_HACK_NO_IOMMU
info.flags = X86_IRQ_ALLOC_CONTIGUOUS_VECTORS;
if (!(apcie_msi_domain_info.flags & MSI_FLAG_MULTI_PCI_MSI)) {
@@ -319,14 +343,23 @@ int apcie_assign_irqs(struct pci_dev *dev, int nvec)
}
#endif
+ desc = alloc_msi_entry(bare_dev, 1, NULL);
+
+ info.desc = desc;
+ info.data = sc;
+
+ dev_info(&dev->dev, "apcie_assign_irqs(%d) (%d)\n", nvec, info.hwirq);
+
ret = irq_domain_alloc_irqs(sc->irqdomain, nvec, NUMA_NO_NODE, &info);
if (ret >= 0) {
+ dev_info(&dev->dev, "irq_domain_alloc_irqs = %x\n", ret);
dev->irq = ret;
+ desc->irq = ret;
ret = nvec;
}
fail:
- dev_dbg(&dev->dev, "apcie_assign_irqs returning %d\n", ret);
+ dev_info(&dev->dev, "apcie_assign_irqs returning %d\n", ret);
if (sc_dev)
pci_dev_put(sc_dev);
return ret;
@@ -494,10 +527,10 @@ static int apcie_probe(struct pci_dev *dev, const struct pci_device_id *id) {
if ((ret = apcie_glue_init(sc)) < 0)
goto free_bars;
- if ((ret = apcie_uart_init(sc)) < 0)
- goto remove_glue;
+ //if ((ret = apcie_uart_init(sc)) < 0)
+ // goto remove_glue;
if ((ret = apcie_icc_init(sc)) < 0)
- goto remove_uart;
+ goto remove_glue;
apcie_initialized = true;
return 0;
--
2.45.1
@@ -0,0 +1,126 @@
From ed61a42f4a35bf12c7a78642f7d814f50b936f57 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Sat, 25 Dec 2021 16:13:58 +0100
Subject: [PATCH 11/22] fix: incorrectly applied patches and missing patches
---
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 3 +++
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 ++
drivers/gpu/drm/radeon/cik.c | 14 +++++++-------
drivers/ps4/ps4-apcie.c | 1 +
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
index d81187445ebe..8513dd006ad5 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -1400,11 +1400,14 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
(adev->asic_type == CHIP_GLADIUS)) {
snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec2.bin", chip_name);
err = request_firmware(&adev->gfx.mec2_fw, fw_name, adev->dev);
+ if (err)
{
pr_err("gfx7: Failed to open firmware \"%s\"\n", fw_name);
goto out;
}
+
err = amdgpu_ucode_validate(adev->gfx.mec2_fw);
+ if (err)
{
pr_err("gfx7: Failed to validate ucode firmware \"%s\"\n", fw_name);
goto out;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index d88513d0aca0..0ddcd498a68b 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -1860,6 +1860,8 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev)
switch (dev->device_info->asic_family) {
/* HWS is not available on Hawaii. */
+ case CHIP_LIVERPOOL:
+ case CHIP_GLADIUS:
case CHIP_HAWAII:
/* HWS depends on CWSR for timely dequeue. CWSR is not
* available on Tonga.
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index f6ca400c006f..a0b83b91fdac 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -8251,7 +8251,7 @@ int cik_irq_process(struct radeon_device *rdev)
return IRQ_NONE;
rptr = rdev->ih.rptr;
- DRM_DEBUG("cik_irq_process start: rptr %d, wptr %d\n", rptr, wptr);
+ //DRM_DEBUG("cik_irq_process start: rptr %d, wptr %d\n", rptr, wptr);
/* Order reading of wptr vs. reading of IH ring data */
rmb();
@@ -8294,7 +8294,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
@@ -8324,7 +8324,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
@@ -8354,7 +8354,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
@@ -8384,7 +8384,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
@@ -8414,7 +8414,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
@@ -8444,7 +8444,7 @@ int cik_irq_process(struct radeon_device *rdev)
break;
default:
- DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
+ //DRM_DEBUG("Unhandled interrupt: %d %d\n", src_id, src_data);
break;
}
break;
diff --git a/drivers/ps4/ps4-apcie.c b/drivers/ps4/ps4-apcie.c
index f4e3a380d591..fd27a4f38e61 100644
--- a/drivers/ps4/ps4-apcie.c
+++ b/drivers/ps4/ps4-apcie.c
@@ -527,6 +527,7 @@ static int apcie_probe(struct pci_dev *dev, const struct pci_device_id *id) {
if ((ret = apcie_glue_init(sc)) < 0)
goto free_bars;
+ // TODO (ps4patches): figure out why this dies a horrible and painful death.
//if ((ret = apcie_uart_init(sc)) < 0)
// goto remove_glue;
if ((ret = apcie_icc_init(sc)) < 0)
--
2.45.1
@@ -0,0 +1,188 @@
From b009aedae1dd07fa3c761e7ddcc92071dd792853 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Tue, 28 Dec 2021 17:53:53 +0100
Subject: [PATCH 12/22] fix: radeon drivers
---
drivers/gpu/drm/radeon/cik.c | 30 +++++++++++++--------------
drivers/gpu/drm/radeon/ps4_bridge.c | 23 +++++++++++---------
drivers/gpu/drm/radeon/radeon.h | 2 +-
drivers/gpu/drm/radeon/radeon_audio.c | 2 +-
4 files changed, 30 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index a0b83b91fdac..ce9799517ff4 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -1038,7 +1038,20 @@ static const u32 kalindi_rlc_save_restore_register_list[] =
(0x0e00 << 16) | (0x9600 >> 2),
};
-static const u32 liverpool_rlc_save_restore_register_li
+static const u32 bonaire_golden_spm_registers[] =
+{
+ 0x30800, 0xe0ffffff, 0xe0000000
+};
+
+static const u32 bonaire_golden_common_registers[] =
+{
+ 0xc770, 0xffffffff, 0x00000800,
+ 0xc774, 0xffffffff, 0x00000800,
+ 0xc798, 0xffffffff, 0x00007fbf,
+ 0xc79c, 0xffffffff, 0x00007faf
+};
+
+static const u32 liverpool_rlc_save_restore_register_list[] =
{
(0x0600 << 16) | 0x263d,
0x00000000,
@@ -1453,19 +1466,6 @@ static const u32 liverpool_rlc_save_restore_register_li
(0x0e00 << 16) | 0x230d,
};
-static const u32 bonaire_golden_spm_registers[] =
-{
- 0x30800, 0xe0ffffff, 0xe0000000
-};
-
-static const u32 bonaire_golden_common_registers[] =
-{
- 0xc770, 0xffffffff, 0x00000800,
- 0xc774, 0xffffffff, 0x00000800,
- 0xc798, 0xffffffff, 0x00007fbf,
- 0xc79c, 0xffffffff, 0x00007faf
-};
-
static const u32 bonaire_golden_registers[] =
{
0x3354, 0x00000333, 0x00000333,
@@ -1616,7 +1616,7 @@ static const u32 liverpool_golden_common_registers[] =
0x5004, 0x00002000, 0x00002000, /* GARLIC_FLUSH_CNTL */
};
-onst u32 liverpool_golden_registers[] =
+static const u32 liverpool_golden_registers[] =
{
0xc420, 0xffffffff, 0xfffffffc, /* RLC_CGTT_MGCG_OVERRIDE */
0x30800, 0xffffffff, 0xe0000000, /* GRBM_GFX_INDEX */
diff --git a/drivers/gpu/drm/radeon/ps4_bridge.c b/drivers/gpu/drm/radeon/ps4_bridge.c
index 1c1cb0b4dabb..6f6e354e182d 100644
--- a/drivers/gpu/drm/radeon/ps4_bridge.c
+++ b/drivers/gpu/drm/radeon/ps4_bridge.c
@@ -13,11 +13,14 @@
#include <asm/ps4.h>
+#include <drm/drm_bridge.h>
#include <drm/drm_crtc.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_edid.h>
-#include <drm/drmP.h>
+#include <drm/drm_print.h>
+
+#include <linux/pci.h>
#include "radeon_mode.h"
#include "ObjectID.h"
@@ -95,7 +98,6 @@
# define HDCPEN_ENC_EN 0x03
# define HDCPEN_ENC_DIS 0x05
-#define PCI_VENDOR_ID_AMD 0x1002
#define PCI_DEVICE_ID_CUH_11XX 0x9920
#define PCI_DEVICE_ID_CUH_12XX 0x9922
#define PCI_DEVICE_ID_CUH_2XXX 0x9923
@@ -269,8 +271,8 @@ static inline struct radeon_ps4_bridge *
}
static void radeon_ps4_bridge_mode_set(struct drm_bridge *bridge,
- struct drm_display_mode *mode,
- struct drm_display_mode *adjusted_mode)
+ const struct drm_display_mode *mode,
+ const struct drm_display_mode *adjusted_mode)
{
struct radeon_ps4_bridge *mn_bridge = bridge_to_radeon_ps4_bridge(bridge);
@@ -357,7 +359,7 @@ static void radeon_ps4_bridge_enable(struct drm_bridge *bridge)
struct radeon_ps4_bridge *mn_bridge = bridge_to_radeon_ps4_bridge(bridge);
struct drm_connector *connector = mn_bridge->connector;
struct drm_device *dev = connector->dev;
- struct pci_dev *pdev = dev->pdev;
+ struct pci_dev *pdev = to_pci_dev(dev->dev);
u8 dp[3];
if (!mn_bridge->mode) {
@@ -638,21 +640,21 @@ static const struct drm_display_mode mode_480p = {
DRM_MODE("640x480", DRM_MODE_TYPE_DRIVER, 25175, 640, 656,
752, 800, 0, 480, 490, 492, 525, 0,
DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC),
- .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3
+ .picture_aspect_ratio = HDMI_PICTURE_ASPECT_4_3
};
/* 4 - 1280x720@60Hz */
static const struct drm_display_mode mode_720p = {
DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
1430, 1650, 0, 720, 725, 730, 750, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9
+ .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9
};
/* 16 - 1920x1080@60Hz */
static const struct drm_display_mode mode_1080p = {
DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9
+ .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9
};
int radeon_ps4_bridge_get_modes(struct drm_connector *connector)
@@ -669,7 +671,7 @@ int radeon_ps4_bridge_get_modes(struct drm_connector *connector)
//newmode = drm_mode_duplicate(dev, &mode_480p);
//drm_mode_probed_add(connector, newmode);
- drm_mode_connector_update_edid_property(connector, NULL);
+ drm_connector_update_edid_property(connector, NULL);
return 0;
}
@@ -718,7 +720,8 @@ int radeon_ps4_bridge_mode_valid(struct drm_connector *connector,
return MODE_OK;
}
-static int radeon_ps4_bridge_attach(struct drm_bridge *bridge)
+static int radeon_ps4_bridge_attach(struct drm_bridge *bridge,
+ enum drm_bridge_attach_flags flags)
{
/* struct radeon_ps4_bridge *mn_bridge = bridge_to_radeon_ps4_bridge(bridge); */
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 314fd436f3c9..05cbdf9e6dfe 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -2679,7 +2679,7 @@ void r100_pll_errata_after_index(struct radeon_device *rdev);
#define ASIC_IS_DCE81(rdev) ((rdev->family == CHIP_KAVERI))
#define ASIC_IS_DCE82(rdev) ((rdev->family == CHIP_BONAIRE))
#define ASIC_IS_DCE83(rdev) ((rdev->family == CHIP_KABINI) || \
- (rdev->family == CHIP_MULLINS || \
+ (rdev->family == CHIP_MULLINS) || \
(rdev->family == CHIP_LIVERPOOL))
#define ASIC_IS_LOMBOK(rdev) ((rdev->pdev->device == 0x6849) || \
diff --git a/drivers/gpu/drm/radeon/radeon_audio.c b/drivers/gpu/drm/radeon/radeon_audio.c
index ba877d0b73fd..3bca01e82835 100644
--- a/drivers/gpu/drm/radeon/radeon_audio.c
+++ b/drivers/gpu/drm/radeon/radeon_audio.c
@@ -244,7 +244,7 @@ int radeon_audio_init(struct radeon_device *rdev)
rdev->audio.enabled = true;
- if (ASIC_IS_DCE83(rdev)) /* KB: 2 streams, 3 endpoints */
+ if (ASIC_IS_DCE83(rdev)) /* KB: 2 streams, 3 endpoints */
rdev->audio.num_pins = 3;
else if (ASIC_IS_DCE81(rdev)) /* KV: 4 streams, 7 endpoints */
rdev->audio.num_pins = 7;
--
2.45.1
@@ -0,0 +1,53 @@
From 1b9c84e8afd63df84109a717f6fe3076f2990841 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Tue, 28 Dec 2021 18:49:46 +0100
Subject: [PATCH 13/22] fix: amdgpu drivers
---
drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c | 2 +-
drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 2 +-
drivers/gpu/drm/amd/amdgpu/atombios_encoders.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c
index 619d4c771176..dc517dc8ae94 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.c
@@ -41,7 +41,7 @@ static void amdgpu_maybe_add_bridge(struct drm_connector *connector,
struct drm_encoder *encoder)
{
struct drm_device *dev = connector->dev;
- struct amdgpu_device *adev = dev->dev_private;
+ struct amdgpu_device *adev = drm_to_adev(dev);
if (adev->asic_type == CHIP_LIVERPOOL || adev->asic_type == CHIP_GLADIUS) {
ps4_bridge_register(connector, encoder);
diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
index 33987ecdc517..a41352dbe298 100644
--- a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
+++ b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
@@ -262,7 +262,7 @@ static int amdgpu_atombios_dp_get_dp_link_config(struct drm_connector *connector
unsigned lane_num, i, max_pix_clock;
struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
struct drm_device *dev = amdgpu_connector->base.dev;
- struct amdgpu_device *adev = dev->dev_private;
+ struct amdgpu_device *adev = drm_to_adev(dev);
/* Liverpool is always connected to an encoder that needs 4 lanes */
if (adev->asic_type == CHIP_LIVERPOOL)
diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c b/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
index 5bd8a782feb5..801178479719 100644
--- a/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
+++ b/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
@@ -446,7 +446,7 @@ int amdgpu_atombios_encoder_get_encoder_mode(struct drm_encoder *encoder)
struct amdgpu_connector_atom_dig *dig_connector;
struct drm_device *dev = encoder->dev;
- struct amdgpu_device *adev = dev->dev_private;
+ struct amdgpu_device *adev = drm_to_adev(dev);
/* dp bridges are always DP */
if ((amdgpu_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE) ||
--
2.45.1
@@ -0,0 +1,191 @@
From 3b2f7c502e713f75cd73793657eb58b55121d8c6 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Wed, 29 Dec 2021 14:16:57 +0100
Subject: [PATCH 14/22] fix: re-add legacy bridge functions
---
config | 2 +-
drivers/gpu/drm/amd/amdgpu/ps4_bridge.c | 20 +++++++------
drivers/gpu/drm/drm_crtc_helper.c | 37 +++++++++++++++++++++++++
3 files changed, 50 insertions(+), 9 deletions(-)
diff --git a/config b/config
index 9b3e8c78ecf1..ceaac7d2d935 100644
--- a/config
+++ b/config
@@ -2262,7 +2262,7 @@ CONFIG_DRM_SCHED=y
CONFIG_DRM_AMDGPU=y
# CONFIG_DRM_AMDGPU_SI is not set
CONFIG_DRM_AMDGPU_CIK=y
-CONFIG_DRM_AMDGPU_USERPTR=y
+# CONFIG_DRM_AMDGPU_USERPTR is not set
#
# ACP (Audio CoProcessor) Configuration
diff --git a/drivers/gpu/drm/amd/amdgpu/ps4_bridge.c b/drivers/gpu/drm/amd/amdgpu/ps4_bridge.c
index 86af15c134c4..d63ae6dddbb2 100644
--- a/drivers/gpu/drm/amd/amdgpu/ps4_bridge.c
+++ b/drivers/gpu/drm/amd/amdgpu/ps4_bridge.c
@@ -11,6 +11,10 @@
* GNU General Public License for more details.
*/
+
+// TODO (ps4patches): Make functions atomic,
+// https://lore.kernel.org/linux-arm-kernel/20211020181901.2114645-5-sam@ravnborg.org/
+
#include <asm/ps4.h>
#include <drm/drm_crtc.h>
@@ -676,7 +680,7 @@ int ps4_bridge_get_modes(struct drm_connector *connector)
{
struct drm_device *dev = connector->dev;
struct drm_display_mode *newmode;
- DRM_DEBUG_KMS("ps4_bridge_get_modes\n");
+ pr_info("ps4_bridge_get_modes\n");
newmode = drm_mode_duplicate(dev, &mode_1080p);
drm_mode_probed_add(connector, newmode);
@@ -687,7 +691,7 @@ int ps4_bridge_get_modes(struct drm_connector *connector)
//drm_mode_probed_add(connector, newmode);
drm_connector_update_edid_property(connector, NULL);
-
+
return 0;
}
@@ -738,7 +742,6 @@ int ps4_bridge_mode_valid(struct drm_connector *connector,
static int ps4_bridge_attach(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags)
{
- // TODO (ps4patches): Why is this in comments?
/* struct ps4_bridge *mn_bridge = bridge_to_ps4_bridge(bridge); */
return 0;
@@ -761,16 +764,17 @@ int ps4_bridge_register(struct drm_connector *connector,
mn_bridge->encoder = encoder;
mn_bridge->connector = connector;
+ mn_bridge->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
mn_bridge->bridge.funcs = &ps4_bridge_funcs;
- ret = drm_bridge_attach(mn_bridge->encoder, &mn_bridge->bridge, NULL, 0);
+
+ // TODO (ps4patches): This seems to be the new way of adding bridges
+ drm_bridge_add(&mn_bridge->bridge);
+
+ ret = drm_bridge_attach(mn_bridge->encoder, &mn_bridge->bridge, NULL, DRM_BRIDGE_ATTACH_NO_CONNECTOR);
if (ret) {
DRM_ERROR("Failed to initialize bridge with drm\n");
return -EINVAL;
}
- //encoder->bridge = &mn_bridge->bridge;
- // TODO (ps4patches): This seems to be the new way of adding bridges
- drm_bridge_add(&mn_bridge->bridge);
-
return 0;
}
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index bff917531f33..17bf9a7ff546 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -162,10 +162,15 @@ drm_encoder_disable(struct drm_encoder *encoder)
if (!encoder_funcs)
return;
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
+ drm_bridge_chain_disable(bridge);
+
if (encoder_funcs->disable)
(*encoder_funcs->disable)(encoder);
else if (encoder_funcs->dpms)
(*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF);
+
+ drm_bridge_chain_post_disable(bridge);
}
static void __drm_helper_disable_unused_functions(struct drm_device *dev)
@@ -322,6 +327,14 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
if (!encoder_funcs)
continue;
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
+ ret = drm_bridge_chain_mode_fixup(bridge,
+ mode, adjusted_mode);
+ if (!ret) {
+ DRM_DEBUG_KMS("Bridge fixup failed\n");
+ goto done;
+ }
+
encoder_funcs = encoder->helper_private;
if (encoder_funcs->mode_fixup) {
if (!(ret = encoder_funcs->mode_fixup(encoder, mode,
@@ -353,9 +366,14 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
if (!encoder_funcs)
continue;
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
+ drm_bridge_chain_disable(bridge);
+
/* Disable the encoders as the first thing we do. */
if (encoder_funcs->prepare)
encoder_funcs->prepare(encoder);
+
+ drm_bridge_chain_post_disable(bridge);
}
drm_crtc_prepare_encoders(dev);
@@ -382,6 +400,9 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
encoder->base.id, encoder->name, mode->name);
if (encoder_funcs->mode_set)
encoder_funcs->mode_set(encoder, mode, adjusted_mode);
+
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
+ drm_bridge_chain_mode_set(bridge, mode, adjusted_mode);
}
/* Now enable the clocks, plane, pipe, and connectors that we set up. */
@@ -396,8 +417,13 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
if (!encoder_funcs)
continue;
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
+ drm_bridge_chain_pre_enable(bridge);
+
if (encoder_funcs->commit)
encoder_funcs->commit(encoder);
+
+ drm_bridge_chain_enable(bridge);
}
/* Calculate and store various constants which
@@ -816,14 +842,25 @@ static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder)
/* Helper which handles bridge ordering around encoder dpms */
static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode)
{
+ struct drm_bridge* bridge = drm_bridge_chain_get_first_bridge(encoder);
const struct drm_encoder_helper_funcs *encoder_funcs;
encoder_funcs = encoder->helper_private;
if (!encoder_funcs)
return;
+ if (mode == DRM_MODE_DPMS_ON)
+ drm_bridge_chain_pre_enable(bridge);
+ else
+ drm_bridge_chain_disable(bridge);
+
if (encoder_funcs->dpms)
encoder_funcs->dpms(encoder, mode);
+
+ if (mode == DRM_MODE_DPMS_ON)
+ drm_bridge_chain_enable(bridge);
+ else
+ drm_bridge_chain_post_disable(bridge);
}
static int drm_helper_choose_crtc_dpms(struct drm_crtc *crtc)
--
2.45.1
@@ -0,0 +1,644 @@
From 00879e27dddefbe1c062f53b4eec0e9166780a2a Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Wed, 29 Dec 2021 15:43:55 +0100
Subject: [PATCH 15/22] feat: potentially added belize ahci support in a
universal way
---
drivers/usb/host/xhci-aeolia.c | 543 ++++++++++++++++-----------------
1 file changed, 268 insertions(+), 275 deletions(-)
diff --git a/drivers/usb/host/xhci-aeolia.c b/drivers/usb/host/xhci-aeolia.c
index a9b345284495..1401af61430c 100644
--- a/drivers/usb/host/xhci-aeolia.c
+++ b/drivers/usb/host/xhci-aeolia.c
@@ -25,8 +25,7 @@ static struct hc_driver __read_mostly xhci_aeolia_hc_driver;
#define NR_DEVICES 3
struct aeolia_xhci {
- // TODO (ps4patches): Belize, enable in ahci commit
- // struct ata_host *host;
+ struct ata_host *host;
int nr_irqs;
struct usb_hcd *hcd[NR_DEVICES];
};
@@ -75,14 +74,8 @@ static int xhci_aeolia_probe_one(struct pci_dev *dev, int index)
hcd->rsrc_start = pci_resource_start(dev, 2 * index);
hcd->rsrc_len = pci_resource_len(dev, 2 * index);
- /*
- * TODO (ps4patches): Belize, enable in ahci commit
if (!devm_request_mem_region(&dev->dev, hcd->rsrc_start, hcd->rsrc_len,
driver->description)) {
- */
-
- if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
- driver->description)) {
dev_dbg(&dev->dev, "controller already in use\n");
retval = -EBUSY;
goto put_hcd;
@@ -124,9 +117,7 @@ static int xhci_aeolia_probe_one(struct pci_dev *dev, int index)
unmap_registers:
iounmap(hcd->regs);
release_mem_region:
- //
- // devm_release_mem_region(&dev->dev, hcd->rsrc_start, hcd->rsrc_len);
- release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
+ devm_release_mem_region(&dev->dev, hcd->rsrc_start, hcd->rsrc_len);
put_hcd:
usb_put_hcd(hcd);
dev_err(&dev->dev, "init %s(%d) fail, %d\n",
@@ -147,226 +138,225 @@ static void xhci_aeolia_remove_one(struct pci_dev *dev, int index)
usb_remove_hcd(xhci->shared_hcd);
usb_remove_hcd(hcd);
usb_put_hcd(xhci->shared_hcd);
- iounmap(hcd->regs);
+
+ // TODO (ps4patches): Does this really need to be disabled?
+ if(dev->device == PCI_DEVICE_ID_SONY_BELIZE_XHCI) {
+ iounmap(hcd->regs);
+ }
usb_put_hcd(hcd);
axhci->hcd[index] = NULL;
}
-// TODO (ps4patches): Belize, enable in ahci commit
-//#define DRV_VERSION "3.0"
-//#define DRV_NAME "ahci"
-//static const struct ata_port_info ahci_port_info = {
-// .flags = AHCI_FLAG_COMMON,
-// .pio_mask = ATA_PIO4,
-// .udma_mask = ATA_UDMA6,
-// .port_ops = &ahci_ops,
-//};
-//
-//static struct scsi_host_template ahci_sht = {
-// AHCI_SHT(DRV_NAME),
-//};
-//
-//static bool bus_master;
-//static int ahci_init_one(struct pci_dev *pdev)
-//{
-// struct f_resource* r_mem;
-// struct ahci_controller* ctlr;
-// struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
-// struct ata_port_info pi = ahci_port_info;
-// const struct ata_port_info *ppi[] = { &pi, NULL };
-// struct ahci_host_priv *hpriv;
-// struct ata_host *host;
-// int n_ports, i, rc;
-// int ahci_pci_bar = 2;
-// resource_size_t rsrc_start;
-// resource_size_t rsrc_len;
-//
-// VPRINTK("ENTER\n");
-//
-// WARN_ON((int)ATA_MAX_QUEUE > AHCI_MAX_CMDS);
-//
-// ata_print_version_once(&pdev->dev, DRV_VERSION);
-//
-// /*
-// rc = pcim_iomap_regions_request_all(pdev, 1 << ahci_pci_bar, DRV_NAME);
-// if (rc == -EBUSY)
-// pcim_pin_device(pdev);
-// if (rc)
-// return rc;
-// */
-//
-// hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL);
-// //hpriv = kzalloc(sizeof(*hpriv), GFP_KERNEL);
-// if (!hpriv)
-// return -ENOMEM;
-// hpriv->flags |= (unsigned long)pi.private_data;
-//
-// //hpriv->mmio = pcim_iomap_table(pdev)[ahci_pci_bar];
-// rsrc_start = pci_resource_start(pdev, ahci_pci_bar);
-// rsrc_len = pci_resource_len(pdev, ahci_pci_bar);
-// //if (!request_mem_region(rsrc_start, rsrc_len, "xhci-ahci.mem")) {
-// if (!devm_request_mem_region(&pdev->dev, rsrc_start, rsrc_len, "xhci-ahci.mem")) {
-// dev_dbg(&pdev->dev, "controller already in use\n");
-// rc = -EBUSY;
-// goto put_hpriv;
-// }
-//
-//
-// hpriv->mmio = pci_ioremap_bar(pdev, ahci_pci_bar);
-// if (hpriv->mmio == NULL) {
-// dev_dbg(&pdev->dev, "error mapping memory\n");
-// rc = -EFAULT;
-// goto release_mem_region;
-// }
-//
-// r_mem = kzalloc(sizeof(*r_mem), GFP_KERNEL);
-// if (r_mem) {
-// r_mem->r_bustag = 1;//mem
-// r_mem->r_bushandle = hpriv->mmio;
-//
-// ctlr = kzalloc(sizeof(*ctlr), GFP_KERNEL);
-// if (ctlr) {
-// ctlr->r_mem = r_mem;
-// ctlr->dev_id = 0; //or 0x90ca104d;
-// ctlr->trace_len = 6;
-// bpcie_sata_phy_init(&pdev->dev, ctlr);
-// kfree(ctlr);
-// }
-// kfree(r_mem);
-// }
-// device_wakeup_enable(&pdev->dev);
-//
-// /* save initial config */
-// ahci_save_initial_config(&pdev->dev, hpriv);
-//
-// /* prepare host */
-// if (hpriv->cap & HOST_CAP_NCQ) {
-// pi.flags |= ATA_FLAG_NCQ;
-// /*
-// * Auto-activate optimization is supposed to be
-// * supported on all AHCI controllers indicating NCQ
-// * capability, but it seems to be broken on some
-// * chipsets including NVIDIAs.
-// */
-// if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA))
-// pi.flags |= ATA_FLAG_FPDMA_AA;
-//
-// /*
-// * All AHCI controllers should be forward-compatible
-// * with the new auxiliary field. This code should be
-// * conditionalized if any buggy AHCI controllers are
-// * encountered.
-// */
-// pi.flags |= ATA_FLAG_FPDMA_AUX;
-// }
-//
-// if (hpriv->cap & HOST_CAP_PMP)
-// pi.flags |= ATA_FLAG_PMP;
-//
-// ahci_set_em_messages(hpriv, &pi);
-//
-// /* CAP.NP sometimes indicate the index of the last enabled
-// * port, at other times, that of the last possible port, so
-// * determining the maximum port number requires looking at
-// * both CAP.NP and port_map.
-// */
-// n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
-//
-// host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports);
-// if (!host) {
-// rc = -ENOMEM;
-// goto unmap_registers;
-// }
-// axhci->host = host;
-// pci_set_drvdata(pdev, axhci);
-//
-// host->private_data = hpriv;
-//
-// {
-// int index = 1;
-// int irq = (axhci->nr_irqs > 1) ? (pdev->irq + index) : pdev->irq;
-// hpriv->irq = irq;
-// }
-//
-// if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
-// host->flags |= ATA_HOST_PARALLEL_SCAN;
-// else
-// dev_info(&pdev->dev, "SSS flag set, parallel bus scan disabled\n");
-//
-// if (pi.flags & ATA_FLAG_EM)
-// ahci_reset_em(host);
-//
-// for (i = 0; i < host->n_ports; i++) {
-// struct ata_port *ap = host->ports[i];
-//
-// ata_port_pbar_desc(ap, ahci_pci_bar, -1, "abar");
-// ata_port_pbar_desc(ap, ahci_pci_bar,
-// 0x100 + ap->port_no * 0x80, "port");
-//
-// /* set enclosure management message type */
-// if (ap->flags & ATA_FLAG_EM)
-// ap->em_message_type = hpriv->em_msg_type;
-//
-//
-// /* disabled/not-implemented port */
-// if (!(hpriv->port_map & (1 << i)))
-// ap->ops = &ata_dummy_port_ops;
-// }
-//
-// rc = ahci_reset_controller(host);
-// dev_dbg(&pdev->dev, "ahci_reset_controller returned %d\n", rc);
-// if (rc)
-// goto release_host;
-//
-// ahci_init_controller(host);
-// ahci_print_info(host, "ATA");
-//
-// if (!bus_master) {
-// pci_set_master(pdev);
-// bus_master = true;
-// }
-//
-// rc = ahci_host_activate(host, &ahci_sht);
-// dev_dbg(&pdev->dev, "ahci_host_activate returned %d\n", rc);
-// if (rc) {
-// goto host_deactivate;
-// }
-//
-// pm_runtime_put_noidle(&pdev->dev);
-// return 0;
-//
-// host_deactivate:
-// release_host:
-// unmap_registers:
-// iounmap(hpriv->mmio);
-// release_mem_region:
-//
-// release_mem_region(rsrc_start, rsrc_len);
-//
-// // TODO (ps4patches): Belize, enable in ahci commit
-// //devm_release_mem_region(&pdev->dev, rsrc_start, rsrc_len);
-// put_hpriv:
-// //kfree(hpriv);
-// devm_kfree(&pdev->dev, hpriv);
-// dev_err(&pdev->dev, "init %s fail, %d\n",
-// pci_name(pdev), rc);
-// return rc;
-//}
-//
-//static void ahci_remove_one(struct pci_dev *pdev)
-//{
-// pm_runtime_get_noresume(&pdev->dev);
-//
-// struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
-// if (axhci && axhci->host) {
-// ata_host_detach(axhci->host);
-// struct ahci_host_priv *hpriv = axhci->host->private_data;
-// if (hpriv) {
-// iounmap(hpriv->mmio);
-// }
-// axhci->host = NULL;
-// }
-//}
+#define DRV_VERSION "3.0"
+#define DRV_NAME "ahci"
+static const struct ata_port_info ahci_port_info = {
+ .flags = AHCI_FLAG_COMMON,
+ .pio_mask = ATA_PIO4,
+ .udma_mask = ATA_UDMA6,
+ .port_ops = &ahci_ops,
+};
+
+static struct scsi_host_template ahci_sht = {
+ AHCI_SHT(DRV_NAME),
+};
+
+static bool bus_master;
+static int ahci_init_one(struct pci_dev *pdev)
+{
+ struct f_resource* r_mem;
+ struct ahci_controller* ctlr;
+ struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
+ struct ata_port_info pi = ahci_port_info;
+ const struct ata_port_info *ppi[] = { &pi, NULL };
+ struct ahci_host_priv *hpriv;
+ struct ata_host *host;
+ int n_ports, i, rc;
+ int ahci_pci_bar = 2;
+ resource_size_t rsrc_start;
+ resource_size_t rsrc_len;
+
+ VPRINTK("ENTER\n");
+
+ WARN_ON((int)ATA_MAX_QUEUE > AHCI_MAX_CMDS);
+
+ ata_print_version_once(&pdev->dev, DRV_VERSION);
+
+ /*
+ rc = pcim_iomap_regions_request_all(pdev, 1 << ahci_pci_bar, DRV_NAME);
+ if (rc == -EBUSY)
+ pcim_pin_device(pdev);
+ if (rc)
+ return rc;
+ */
+
+ hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL);
+ //hpriv = kzalloc(sizeof(*hpriv), GFP_KERNEL);
+ if (!hpriv)
+ return -ENOMEM;
+ hpriv->flags |= (unsigned long)pi.private_data;
+
+ //hpriv->mmio = pcim_iomap_table(pdev)[ahci_pci_bar];
+ rsrc_start = pci_resource_start(pdev, ahci_pci_bar);
+ rsrc_len = pci_resource_len(pdev, ahci_pci_bar);
+ //if (!request_mem_region(rsrc_start, rsrc_len, "xhci-ahci.mem")) {
+ if (!devm_request_mem_region(&pdev->dev, rsrc_start, rsrc_len, "xhci-ahci.mem")) {
+ dev_dbg(&pdev->dev, "controller already in use\n");
+ rc = -EBUSY;
+ goto put_hpriv;
+ }
+
+
+ hpriv->mmio = pci_ioremap_bar(pdev, ahci_pci_bar);
+ if (hpriv->mmio == NULL) {
+ dev_dbg(&pdev->dev, "error mapping memory\n");
+ rc = -EFAULT;
+ goto release_mem_region;
+ }
+
+ r_mem = kzalloc(sizeof(*r_mem), GFP_KERNEL);
+ if (r_mem) {
+ r_mem->r_bustag = 1;//mem
+ r_mem->r_bushandle = hpriv->mmio;
+
+ ctlr = kzalloc(sizeof(*ctlr), GFP_KERNEL);
+ if (ctlr) {
+ ctlr->r_mem = r_mem;
+ ctlr->dev_id = 0; //or 0x90ca104d;
+ ctlr->trace_len = 6;
+ bpcie_sata_phy_init(&pdev->dev, ctlr);
+ kfree(ctlr);
+ }
+ kfree(r_mem);
+ }
+ device_wakeup_enable(&pdev->dev);
+
+ /* save initial config */
+ ahci_save_initial_config(&pdev->dev, hpriv);
+
+ /* prepare host */
+ if (hpriv->cap & HOST_CAP_NCQ) {
+ pi.flags |= ATA_FLAG_NCQ;
+ /*
+ * Auto-activate optimization is supposed to be
+ * supported on all AHCI controllers indicating NCQ
+ * capability, but it seems to be broken on some
+ * chipsets including NVIDIAs.
+ */
+ if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA))
+ pi.flags |= ATA_FLAG_FPDMA_AA;
+
+ /*
+ * All AHCI controllers should be forward-compatible
+ * with the new auxiliary field. This code should be
+ * conditionalized if any buggy AHCI controllers are
+ * encountered.
+ */
+ pi.flags |= ATA_FLAG_FPDMA_AUX;
+ }
+
+ if (hpriv->cap & HOST_CAP_PMP)
+ pi.flags |= ATA_FLAG_PMP;
+
+ ahci_set_em_messages(hpriv, &pi);
+
+ /* CAP.NP sometimes indicate the index of the last enabled
+ * port, at other times, that of the last possible port, so
+ * determining the maximum port number requires looking at
+ * both CAP.NP and port_map.
+ */
+ n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
+
+ host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports);
+ if (!host) {
+ rc = -ENOMEM;
+ goto unmap_registers;
+ }
+ axhci->host = host;
+ pci_set_drvdata(pdev, axhci);
+
+ host->private_data = hpriv;
+
+ {
+ int index = 1;
+ int irq = (axhci->nr_irqs > 1) ? (pdev->irq + index) : pdev->irq;
+ hpriv->irq = irq;
+ }
+
+ if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss)
+ host->flags |= ATA_HOST_PARALLEL_SCAN;
+ else
+ dev_info(&pdev->dev, "SSS flag set, parallel bus scan disabled\n");
+
+ if (pi.flags & ATA_FLAG_EM)
+ ahci_reset_em(host);
+
+ for (i = 0; i < host->n_ports; i++) {
+ struct ata_port *ap = host->ports[i];
+
+ ata_port_pbar_desc(ap, ahci_pci_bar, -1, "abar");
+ ata_port_pbar_desc(ap, ahci_pci_bar,
+ 0x100 + ap->port_no * 0x80, "port");
+
+ /* set enclosure management message type */
+ if (ap->flags & ATA_FLAG_EM)
+ ap->em_message_type = hpriv->em_msg_type;
+
+
+ /* disabled/not-implemented port */
+ if (!(hpriv->port_map & (1 << i)))
+ ap->ops = &ata_dummy_port_ops;
+ }
+
+ rc = ahci_reset_controller(host);
+ dev_dbg(&pdev->dev, "ahci_reset_controller returned %d\n", rc);
+ if (rc)
+ goto release_host;
+
+ ahci_init_controller(host);
+ ahci_print_info(host, "ATA");
+
+ if (!bus_master) {
+ pci_set_master(pdev);
+ bus_master = true;
+ }
+
+ rc = ahci_host_activate(host, &ahci_sht);
+ dev_dbg(&pdev->dev, "ahci_host_activate returned %d\n", rc);
+ if (rc) {
+ goto host_deactivate;
+ }
+
+ pm_runtime_put_noidle(&pdev->dev);
+ return 0;
+
+ host_deactivate:
+ release_host:
+ unmap_registers:
+ iounmap(hpriv->mmio);
+ release_mem_region:
+ devm_release_mem_region(&pdev->dev, rsrc_start, rsrc_len);
+ put_hpriv:
+ //kfree(hpriv);
+ devm_kfree(&pdev->dev, hpriv);
+ dev_err(&pdev->dev, "init %s fail, %d\n",
+ pci_name(pdev), rc);
+ return rc;
+}
+
+static void ahci_remove_one(struct pci_dev *pdev)
+{
+ pm_runtime_get_noresume(&pdev->dev);
+
+ struct aeolia_xhci *axhci = pci_get_drvdata(pdev);
+ if (axhci && axhci->host) {
+ ata_host_detach(axhci->host);
+ struct ahci_host_priv *hpriv = axhci->host->private_data;
+ if (hpriv) {
+ iounmap(hpriv->mmio);
+ }
+ axhci->host = NULL;
+ }
+}
static int xhci_aeolia_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
@@ -380,9 +370,7 @@ static int xhci_aeolia_probe(struct pci_dev *dev, const struct pci_device_id *id
if (pci_enable_device(dev) < 0)
return -ENODEV;
- axhci = kzalloc(sizeof(*axhci), GFP_KERNEL);
- // TODO (ps4patches): Belize, enable in ahci commit
- // axhci = devm_kzalloc(&dev->dev, sizeof(*axhci), GFP_KERNEL);
+ axhci = devm_kzalloc(&dev->dev, sizeof(*axhci), GFP_KERNEL);
if (!axhci) {
retval = -ENOMEM;
goto disable_device;
@@ -394,21 +382,23 @@ static int xhci_aeolia_probe(struct pci_dev *dev, const struct pci_device_id *id
goto free_axhci;
}
- // TODO (ps4patches): Belize, disable in ahci commit
- pci_set_master(dev);
+ if(dev->device != PCI_DEVICE_ID_SONY_BELIZE_XHCI) {
+ pci_set_master(dev);
+ }
if (pci_set_dma_mask(dev, DMA_BIT_MASK(31)) ||
pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(31))) {
return -ENODEV;
}
- // TODO (ps4patches): Belize, enable in ahci commit
-// retval = ahci_init_one(dev);
-// dev_dbg(&dev->dev, "ahci_init_one returned %d", retval);
-// if (!bus_master) {
-// pci_set_master(dev);
-// bus_master = true;
-// }
+ if(dev->device == PCI_DEVICE_ID_SONY_BELIZE_XHCI) {
+ retval = ahci_init_one(dev);
+ dev_dbg(&dev->dev, "ahci_init_one returned %d", retval);
+ if (!bus_master) {
+ pci_set_master(dev);
+ bus_master = true;
+ }
+ }
for (idx = 0; idx < NR_DEVICES; idx++) {
if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI && idx == 1){ //this is for Belize and Baikal
@@ -426,11 +416,12 @@ static int xhci_aeolia_probe(struct pci_dev *dev, const struct pci_device_id *id
xhci_aeolia_remove_one(dev, idx);
apcie_free_irqs(dev->irq, axhci->nr_irqs);
free_axhci:
- kfree(axhci);
+ devm_kfree(&dev->dev, axhci);
- // TODO (ps4patches): Belize, disable in ahci commit
- // devm_kfree(&dev->dev, axhci);
- // pci_set_drvdata(dev, NULL);
+ // TODO (ps4patches): Don't aeolia and baikal also need this?
+ if(dev->device == PCI_DEVICE_ID_SONY_BELIZE_XHCI) {
+ pci_set_drvdata(dev, NULL);
+ }
disable_device:
pci_disable_device(dev);
return retval;
@@ -447,9 +438,8 @@ static void xhci_aeolia_remove(struct pci_dev *dev)
if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI) {
if(idx != 1)
xhci_aeolia_remove_one(dev, idx);
- // TODO (ps4patches): Belize, enable in ahci commit
- // else
- // ahci_remove_one(dev);
+ else if (dev->device == PCI_DEVICE_ID_SONY_BELIZE_XHCI)
+ ahci_remove_one(dev);
}
else
xhci_aeolia_remove_one(dev, idx);
@@ -463,32 +453,38 @@ static void xhci_aeolia_remove(struct pci_dev *dev)
pci_disable_device(dev);
}
-// TODO (ps4patches): Belize, enable in ahci commit
-//static void xhci_hcd_pci_shutdown(struct pci_dev *dev){
-// struct aeolia_xhci *axhci;
-// struct usb_hcd *hcd;
-// int idx;
-//
-// axhci = pci_get_drvdata(dev);
-// if (!axhci)
-// return;
-//
-// for (idx = 0; idx < NR_DEVICES; idx++) {
-// if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI) {
-// if(idx != 1) {
-// hcd = axhci->hcd[idx];
-// if (hcd) {
-// if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && hcd->driver->shutdown) {
-// hcd->driver->shutdown(hcd);
-// if (usb_hcd_is_primary_hcd(hcd) && hcd->irq > 0)
-// free_irq(hcd->irq, hcd);
-// }
-// }
-// }
-// }
-// }
-//}
+static void xhci_hcd_pci_shutdown(struct pci_dev *dev){
+
+ // We want to use the normal shutdown if we aren't belize
+ if (dev->device != PCI_DEVICE_ID_SONY_BELIZE_XHCI)
+ {
+ usb_hcd_pci_shutdown(dev);
+ return;
+ }
+
+ struct aeolia_xhci *axhci;
+ struct usb_hcd *hcd;
+ int idx;
+
+ axhci = pci_get_drvdata(dev);
+ if (!axhci)
+ return;
+ for (idx = 0; idx < NR_DEVICES; idx++) {
+ if(dev->device != PCI_DEVICE_ID_SONY_AEOLIA_XHCI) {
+ if(idx != 1) {
+ hcd = axhci->hcd[idx];
+ if (hcd) {
+ if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && hcd->driver->shutdown) {
+ hcd->driver->shutdown(hcd);
+ if (usb_hcd_is_primary_hcd(hcd) && hcd->irq > 0)
+ free_irq(hcd->irq, hcd);
+ }
+ }
+ }
+ }
+ }
+}
static const struct pci_device_id pci_ids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_SONY, PCI_DEVICE_ID_SONY_AEOLIA_XHCI) },
@@ -557,10 +553,7 @@ static struct pci_driver xhci_aeolia_driver = {
.probe = xhci_aeolia_probe,
.remove = xhci_aeolia_remove,
/* suspend and resume implemented later */
-
- .shutdown = usb_hcd_pci_shutdown,
- // TODO (ps4patches): Belize, enable in ahci commit
- //.shutdown = xhci_hcd_pci_shutdown,
+ .shutdown = xhci_hcd_pci_shutdown,
#ifdef CONFIG_PM_SLEEP
.driver = {
.pm = &xhci_aeolia_pm_ops
--
2.45.1
@@ -0,0 +1,25 @@
From f94cfdd446ab433ba0e9a0cb074372025de283eb Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Wed, 29 Dec 2021 16:15:26 +0100
Subject: [PATCH 16/22] fix: this probably needs to be the amount of interrupts
---
drivers/ps4/ps4-apcie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ps4/ps4-apcie.c b/drivers/ps4/ps4-apcie.c
index fd27a4f38e61..b0bbc3f9891c 100644
--- a/drivers/ps4/ps4-apcie.c
+++ b/drivers/ps4/ps4-apcie.c
@@ -343,7 +343,7 @@ int apcie_assign_irqs(struct pci_dev *dev, int nvec)
}
#endif
- desc = alloc_msi_entry(bare_dev, 1, NULL);
+ desc = alloc_msi_entry(bare_dev, nvec, NULL);
info.desc = desc;
info.data = sc;
--
2.45.1
@@ -0,0 +1,24 @@
From 62b05b54178ecba3e2d42fbe78b97da94b0fec81 Mon Sep 17 00:00:00 2001
From: Ps3ita Team <ps3ita-team@ps3ita.it>
Date: Wed, 13 Feb 2019 14:09:55 +0100
Subject: [PATCH 17/22] Also on liverpool num_crtc is 6
---
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index aaa6893d8e51..bd9d32217d25 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -404,6 +404,7 @@ static int dce_v8_0_get_num_crtc(struct amdgpu_device *adev)
case CHIP_BONAIRE:
case CHIP_HAWAII:
case CHIP_GLADIUS:
+ case CHIP_LIVERPOOL:
num_crtc = 6;
break;
case CHIP_KAVERI:
--
2.45.1
@@ -0,0 +1,24 @@
From 0bf01d7fb8556417ca16ce96b230dd2741de8d48 Mon Sep 17 00:00:00 2001
From: codedwrench <rick.04.1996@gmail.com>
Date: Thu, 30 Dec 2021 15:05:26 +0100
Subject: [PATCH 18/22] fix: cherrypick doubled CHIP_LIVERPOOL
---
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index bd9d32217d25..e54b86bd6d99 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -408,7 +408,6 @@ static int dce_v8_0_get_num_crtc(struct amdgpu_device *adev)
num_crtc = 6;
break;
case CHIP_KAVERI:
- case CHIP_LIVERPOOL:
num_crtc = 4;
break;
case CHIP_KABINI:
--
2.45.1
@@ -0,0 +1,25 @@
From 4e2075413f8a4232857f9a87905f8afc28e74267 Mon Sep 17 00:00:00 2001
From: Ps3ita Team <psxitateam@psxita.it>
Date: Sat, 30 May 2020 12:04:24 +0200
Subject: [PATCH 19/22] Missing break;
---
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
index 8513dd006ad5..3c2e63c2d32b 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -4956,7 +4956,7 @@ static void gfx_v7_0_gpu_early_init(struct amdgpu_device *adev)
adev->gfx.config.max_tile_pipes = 8; // Verified
adev->gfx.config.max_cu_per_sh = 9; // Probably OK
adev->gfx.config.max_sh_per_se = 1; // Verified
- adev->gfx.config.max_backends_per_se = 1; // Probably OK?
+ adev->gfx.config.max_backends_per_se = 2; // Probably OK?
adev->gfx.config.max_texture_channel_caches = 4; // ??
adev->gfx.config.max_gprs = 256;
adev->gfx.config.max_gs_threads = 32; // ??
--
2.45.1
@@ -0,0 +1,25 @@
From 9dbe4ba89c9f330e27257ad50b9da4cf9ff1ac9a Mon Sep 17 00:00:00 2001
From: Rick de Bondt <rick_1996@hotmail.com>
Date: Fri, 31 Dec 2021 15:19:08 +0100
Subject: [PATCH 20/22] fix: needed for video codec support
---
drivers/gpu/drm/amd/amdgpu/cik.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/cik.c b/drivers/gpu/drm/amd/amdgpu/cik.c
index 353899a95424..147db89444fd 100644
--- a/drivers/gpu/drm/amd/amdgpu/cik.c
+++ b/drivers/gpu/drm/amd/amdgpu/cik.c
@@ -136,6 +136,8 @@ static int cik_query_video_codecs(struct amdgpu_device *adev, bool encode,
case CHIP_KAVERI:
case CHIP_KABINI:
case CHIP_MULLINS:
+ case CHIP_LIVERPOOL:
+ case CHIP_GLADIUS:
if (encode)
*codecs = &cik_video_codecs_encode;
else
--
2.45.1
@@ -0,0 +1,36 @@
From dc139fd452cfa78583a695b0d4fc2cdec39b31da Mon Sep 17 00:00:00 2001
From: crashniels <39709384+crashniels@users.noreply.github.com>
Date: Fri, 24 May 2024 19:47:37 +0200
Subject: [PATCH 21/22] fix: gcc newer than 11
https://lore.kernel.org/lkml/20220129010215.781601-1-jforbes@fedoraproject.org/t/
---
tools/lib/subcmd/subcmd-util.h | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tools/lib/subcmd/subcmd-util.h b/tools/lib/subcmd/subcmd-util.h
index b2aec04fce8f..7009fc176636 100644
--- a/tools/lib/subcmd/subcmd-util.h
+++ b/tools/lib/subcmd/subcmd-util.h
@@ -49,9 +49,15 @@ static NORETURN inline void die(const char *err, ...)
static inline void *xrealloc(void *ptr, size_t size)
{
- void *ret = realloc(ptr, size);
- if (!ret)
- die("Out of memory, realloc failed");
+ void *ret;
+ if (!size)
+ size = 1;
+ ret = realloc(ptr, size);
+ if (!ret) {
+ ret = realloc(ptr, size);
+ if (!ret)
+ die("Out of memory, realloc failed");
+ }
return ret;
}
--
2.45.1
@@ -0,0 +1,39 @@
From 77961812e981b14669eb51cfa67181149a9bb64a Mon Sep 17 00:00:00 2001
From: crashniels <39709384+crashniels@users.noreply.github.com>
Date: Sat, 25 May 2024 19:32:05 +0200
Subject: [PATCH 22/22] fix: use upstream values
---
drivers/usb/host/xhci-aeolia.c | 2 +-
drivers/usb/host/xhci.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-aeolia.c b/drivers/usb/host/xhci-aeolia.c
index 1401af61430c..9ab0be144f42 100644
--- a/drivers/usb/host/xhci-aeolia.c
+++ b/drivers/usb/host/xhci-aeolia.c
@@ -43,7 +43,7 @@ static void xhci_aeolia_quirks(struct device *dev, struct xhci_hcd *xhci)
* Do not try to enable MSIs, we provide the MSIs ourselves
* Do not touch DMA mask, we need a custom one
*/
- xhci->quirks |= XHCI_PLAT | XHCI_PLAT_DMA;
+ xhci->quirks |= XHCI_PLAT | XHCI_SUSPEND_RESUME_CLKS;
}
/* called during probe() after chip reset completes */
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 1c8fb48c7095..a79e9dc827e4 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -5373,7 +5373,7 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
- if (!(xhci->quirks & XHCI_PLAT_DMA)) {
+ if (!(xhci->quirks & XHCI_SUSPEND_RESUME_CLKS)) {
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
!dma_set_mask(dev, DMA_BIT_MASK(64))) {
xhci_dbg(xhci, "Enabling 64-bit DMA addresses.\n");
--
2.45.1
+112
View File
@@ -0,0 +1,112 @@
pkgname=linux-sony-ps4
pkgver=5.15.110
pkgrel=0
pkgdesc="Sony Playstation 4 kernel fork"
arch="x86_64"
_flavor="sony-ps4"
_carch="x86"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps
pmb:cross-native
pmb:kconfigcheck-community
"
makedepends="
bash
bison
elfutils-dev
findutils
flex
linux-headers
openssl-dev
perl
postmarketos-installkernel
linux-firmware-mrvl
"
# Source
_config="config-$_flavor.$arch"
case $pkgver in
*.*.*) _kernver=${pkgver%.0};;
*.*) _kernver=$pkgver;;
esac
source="
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-${_kernver//_/-}.tar.gz
$_config
0001-feat-very-basic-platform-support.patch
0002-feat-amdgpu-patches.patch
0003-feat-radeon-patches.patch
0004-feat-temperature-sensors.patch
0005-feat-sdhci-support.patch
0006-feat-ethernet-support.patch
0007-feat-usb-support.patch
0008-feat-configuration.patch
0009-feat-trying-to-modernize-ps4-apcie-so-it-works-with-.patch
0010-feat-working-state-broken-gpu.patch
0011-fix-incorrectly-applied-patches-and-missing-patches.patch
0012-fix-radeon-drivers.patch
0013-fix-amdgpu-drivers.patch
0014-fix-re-add-legacy-bridge-functions.patch
0015-feat-potentially-added-belize-ahci-support-in-a-univ.patch
0016-fix-this-probably-needs-to-be-the-amount-of-interrup.patch
0017-Also-on-liverpool-num_crtc-is-6.patch
0018-fix-cherrypick-doubled-CHIP_LIVERPOOL.patch
0019-Missing-break.patch
0020-fix-needed-for-video-codec-support.patch
0021-fix-gcc-newer-than-11.patch
0022-fix-use-upstream-values.patch
"
builddir="$srcdir/linux-${_kernver//_/-}"
prepare() {
default_prepare
cp "$srcdir/$_config" .config
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
}
package() {
mkdir -p "$pkgdir"/boot
make install modules_install \
ARCH="$_carch" \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
405be3edf5855e45b50fd163542e00f58fab0d80c9e93e9605100107eba79ce4b49b83d5ddda3226665bdbdd1c31ac06b4ef05cf87b31f7cf1ff8adf662f2178 linux-5.15.110.tar.gz
1632c7eb73a7341b8fa1981a66bb59fe21aa6d04cad11bbbf85823950451240d942c40c8eb0b7a1301beec00f3375ae84cbb50594cca4f5fa9983fca56f09dae config-sony-ps4.x86_64
7d4e6ab0d273b4d121bfb485334ea949abc4466a914ac596edfae716f3f1d5dde896d27b2b29efd77115d732a0256db3b395ab7cf8d91a47d4a3c45778dc753e 0001-feat-very-basic-platform-support.patch
e69400cbc1772bc247868004f874c174289747fc36f5df6002664a6813fd24b7fe2dae3b6f6e0647466f89735454914d49316bbb996dd41863bcca1424c5191c 0002-feat-amdgpu-patches.patch
cffb257874c4e746c82a06be9b9442df9c2deb897e479c7d75a7d73883a64e0d9f00812e1468d8e3fdd15eda0bcfe92668c96bee2f7e2de57c1088f467b329b4 0003-feat-radeon-patches.patch
262b0934845d9c8bc92c6cacf8cbb1fb697830ac386380c27de586766b801c52ce0230755b62f4abd44c39fc0559446749a212d666636102c35d34299d8cf6c5 0004-feat-temperature-sensors.patch
536daa2a900ae214a2a1cde277c1ae1b9c4d5a740ddf4a8d2d23e5a4578eeb2e274d89ce917d9705495814580ceceb9cbf69ccb81e14d88ac932f84f1bb4fcad 0005-feat-sdhci-support.patch
1f960d7bcb8805f2c86e71125a73e28ba8b6b1dcf230a0994ae140f7874ed3e4d8e6ec867d4bff8fdccbfc94b432ccaf6c01e8774a702984f57bd323bf72c208 0006-feat-ethernet-support.patch
7856b33b05a090009dde83a03ec74044ae64100469ac004c94913a895ccd91c1b7c4623bcc08217e04110a79ef599018a9925c308d8f7e9e89791704675dfc0b 0007-feat-usb-support.patch
2b28e8059c6845ab3e7b64bc84469936f9d5620331b8738b335fdf11b2fc03d83a06c68b323ebe79d374b23f0264bd9a51e2fd6a323119c68d8edce0ec8fcf25 0008-feat-configuration.patch
5ce3347dabc35b419ee71fa1c29ebb1ece570c048439c8cdb43f7503863619c70c2c5af79383bbae23eb7f63e58ac1d4690bd9bced0bb103967392ca19d9f328 0009-feat-trying-to-modernize-ps4-apcie-so-it-works-with-.patch
a57142aa46e698e147f1527383006f77c2b6f62a52520dbcdc9da19782ff89252be841dfe6e2b5b9566c396ec15693a8b54c1ea98ae85d514b844642e1456d31 0010-feat-working-state-broken-gpu.patch
f922606e57a194dbde0bbf702f328b2bcc4116b7a6bf34eda6781414f5685dfad9a48e21af4c33af154c680a9093085432ccc71d3e083b1aec1c0fbfb5ef8b43 0011-fix-incorrectly-applied-patches-and-missing-patches.patch
cb22e3f401178b2801605db766f372a08322248b013f51ede908d0d1ca008c780c98cc53b8252fd473d1def043f44ab8b44530aa9a43d749480517e8e7f33226 0012-fix-radeon-drivers.patch
c8c6a9af6de9324ca66be658be59063c85e579420832e5394a778b8af0119894cc5ac2483a11d6dd1f714d6ac15f719f50de841b896b1c9f153a982dd28d307d 0013-fix-amdgpu-drivers.patch
1e8af016a999f18ca64d09a2dcf55d4dc961c9b5c78f45c5c5b09e22e97d2c76d65dcf4742c1da2dd557e8c995c23237161553946a9622adf51c4d99c59d9d2d 0014-fix-re-add-legacy-bridge-functions.patch
4de5a19976bfcfd6d290256f1ab5eb270d60e037341b8a998d8026751b2d55c911045b6b7034446258a677db668229516995585b8ce8d2ea1a1a49e333ac3164 0015-feat-potentially-added-belize-ahci-support-in-a-univ.patch
e18c4f277793181625c3769f3b5d5f264a6c7c2f562ab4e1638e7f8b3a57cc547ee5bc71f44ec182f1c9609b9d848267370fa85531ff483c9a0a5cb52db4bdcc 0016-fix-this-probably-needs-to-be-the-amount-of-interrup.patch
aa2d70a0dd8cef198d60de66446deead4b1b1a408f975bff2e733c3f554f555a99c1aca4b02ed58abbc609dc90e7711789dd396d1129bd6f96c30d569485acba 0017-Also-on-liverpool-num_crtc-is-6.patch
563b5c3cf8df1f82724b4dd0f21d5231a80c79a7cef5c93de73c6008ff7bd140313b0d7d0f92d4fd95c556ab18087967735c4eade1a98974efa2d3536f2ca01a 0018-fix-cherrypick-doubled-CHIP_LIVERPOOL.patch
38da37f52b3c1a77d80f70accc12351ee4c5e8d1302294d523741724d17a62e22cdf64c6dcbc1b472e3967b417d37754ea6faa5c8d5b4218bf731deeaef6e5e5 0019-Missing-break.patch
ada724aa09e1b29525e1c6bda38cf68fd4c72b9d6b8f45b1f9000e06e67e2c7806f81c53efce246396b5e7dc0d745dead599fce8b3c4108189fa77b40accaff0 0020-fix-needed-for-video-codec-support.patch
70d9dfd868e4da14c0b164f6a3c8450eda733c59b81d19341b54e38ba4faca7943ac3240c5872e08932ffd0b51b0884893d90bec20cd522ce5c0e4c7f37c187a 0021-fix-gcc-newer-than-11.patch
1c166aba9d18171b0a610ea8ed4798f0bb32a6f2d73f70d2fb32aa98ed93437b7bc1f264e8c50e9668e77dc85bd5b1128ead9810bfbb082f5cae919cd32e772a 0022-fix-use-upstream-values.patch
"
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -1,7 +1,7 @@
# Maintainer: Henrik Grimler <henrik@grimler.se>
pkgname=postmarketos-base-downstream
pkgver=2
pkgrel=0
pkgrel=1
pkgdesc="Base package for devices with downstream (vendor) kernels"
url="https://postmarketos.org"
arch="noarch"
@@ -21,8 +21,8 @@ disable_udev_v4l() {
# udev if camera firmware is missing and/or fails to load
pkgdesc="Package to disable udev video4linux rules"
replaces="eudev"
mkdir -p "$subpkgdir"/lib/udev/rules.d
ln -s /dev/null "$subpkgdir"/lib/udev/rules.d/60-persistent-v4l.rules
mkdir -p "$subpkgdir"/usr/lib/udev/rules.d
ln -s /dev/null "$subpkgdir"/usr/lib/udev/rules.d/60-persistent-v4l.rules
}
lightdm() {
+2 -2
View File
@@ -1,7 +1,7 @@
# Maintainer: Petr Hodina <phodina@protonmail.com>
pkgname=postmarketos-base-eink
pkgver=1
pkgrel=1
pkgrel=2
pkgdesc="Base package with some opinionated default for e-ink devices"
# It's worth emphasising the word "opinionated" here, e-ink has some
# obvious differences compared to regular displays, there are cases
@@ -28,7 +28,7 @@ builddir="$srcdir/"
package() {
mkdir -p "$pkgdir"
install -Dm644 "$srcdir"/83-backlight.rules \
"$pkgdir"/lib/udev/rules.d
"$pkgdir"/usr/lib/udev/rules.d
}
gnome() {
@@ -19,4 +19,5 @@
/sbin/udevd
/etc/udev/rules.d
/lib/udev/rules.d
/lib/udev/scsi_id
/usr/lib/udev/rules.d
/usr/lib/udev/scsi_id
+2 -2
View File
@@ -2,7 +2,7 @@
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-initramfs
pkgver=3.3.5
pkgrel=0
pkgrel=1
pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
url="https://postmarketos.org"
options="!check" # no tests
@@ -90,7 +90,7 @@ package() {
sha512sums="
20bc7a21f4f59548b8179c5cb1fc2b3db64eb355988bce992db3bc4075d65b4135ff9dd7d754215d0402978811494449cce476a26cda6bb2f0f8b53ae8e36bd7 00-default.modules
9c0e8f6f61d5da191e03a1aa9d5d0ceb5baf1eae6dbb9bfb0af59817783525119ac8394b135f303f7b6434a3eab0b49185fb90379e06823db847a4999c75ce33 00-initramfs-base.dirs
929a8e6cca6b2b4ac6af89fc3912e80315f51c9bf6e9479124ccb7ebe9e99c6c1cafb98d3aa01b0a76a2f6e0071ba3eb86c7a2169a15c2e1788d69458bea3471 00-initramfs-base.files
8bf038da4055ab67affad4cfdfdb81ea29fb52def6727d1d207ea3d498cb36562dfc2b1c24fdb886cca4fa936ddd6dcec1b969cbec8abf2f003eed6e5564630f 00-initramfs-base.files
c4ce6c9ef5b1aa8fce0937676eb68f0172474cb86f2ab9d839f327b1c58f22ed6ae2a48133dd1c04ede33324ce82f78863f68ab6e62f88b716964b3b84f0ae9e 00-initramfs-extra-base.files
7ea2c318e3b63b84ba8eb09e31dd74cdd9c86f5f4d8970ab54bb9213930e913c09728b60d429828007ea2dbb0472fd50dc3daae2efbe307babf854e4d8ecb238 init.sh
7518662b584328cc94b108d9283c19c4d551d0a25d51b4fed60b4367c129789a5d895ab68244ec448c92c6818e7cefc68552184b6e9098c8f9b9c7fcf008517d init_functions.sh
@@ -5,4 +5,5 @@
/sbin/udevd
/bin/udevadm
/etc/udev/rules.d
/lib/udev/rules.d
/lib/udev/rules.d
/usr/lib/udev/rules.d
+2 -2
View File
@@ -1,7 +1,7 @@
# Maintainer: Caleb Connolly <caleb@connolly.tech>
pkgname=postmarketos-mkinitfs-hook-ci
pkgver=0.1.0
pkgrel=0
pkgrel=1
pkgdesc="Hook for doing automated CI tests in the initramfs"
url="https://postmarketos.org"
source="
@@ -21,5 +21,5 @@ package() {
sha512sums="
43f9d9a35a57845eb36893a3f20d8ff5f20b93b1c22c7c6e3959b07a41b3c5fe2f9941612620cf006a0018b53edae5fdc7ed3006befc6908c19a5617f322dea3 05-ci.sh
35457ab221acd485ebde84fccac2187f36a074554c5f73828f2031f1e8e92ab7b3d46e654f0d7c62c0aa483c1d7f0dc901422fe0398ae0eae6995a2ae539a4af 05-ci.files
69507171a4c4aabc2ae0a2d70dd12822dddfc9cd2855c240a28ba4ca16f1daa96c5c4aef57d08e953083874cfffc783a3054dd4a1ad1636d7aa5e4d2d2fbfd7c 05-ci.files
"
@@ -0,0 +1,7 @@
# With 87a596f7867a49fae78c05042a92bea3e5e24b0d all GNOME-based UIs have the
# default accent color set to green.
#
# However only GNOME 47+ supports accent colors. In order to keep consistency
# keep blue accent color until GNOME mobile is upgraded to 47+.
[org.gnome.desktop.interface]
accent-color='blue'
+11 -3
View File
@@ -1,8 +1,8 @@
# Reference: https://postmarketos.org/uipkg
# Maintainer: Newbyte <newbyte@postmarketos.org>
pkgname=postmarketos-ui-gnome-mobile
pkgver=2
pkgrel=7
pkgver=3
pkgrel=0
pkgdesc="(Wayland) Gnome Shell patched to adapt better to phones (Experimental)"
url="https://gnome.org/"
arch="noarch !armhf !riscv64" # gnome-shell / riscv64: mutter-mobile
@@ -34,13 +34,20 @@ _pmb_recommends="
gnome-extensions-app
"
subpackages="$pkgname-openrc"
source="firefox-wayland.sh"
source="
20_postmarketos-blue-accent.gschema.override
firefox-wayland.sh
"
options="!check"
package() {
install -Dm755 \
"$srcdir"/firefox-wayland.sh \
-t "$pkgdir"/etc/profile.d/
# TODO: Remove once gnome-mobile is upgraded to 47
install -Dm644 "$srcdir"/20_postmarketos-blue-accent.gschema.override \
-t "$pkgdir"/usr/share/glib-2.0/schemas/
}
openrc() {
@@ -52,5 +59,6 @@ openrc() {
}
sha512sums="
224019eb563b62ce3c0cff46f1a4b875b916bd91d3ef866afe4a79da2d4d8b41b86df0e39a598a5dd4dd96483527916b499a66a0b4fddb08e94a7436d6620d5e 20_postmarketos-blue-accent.gschema.override
0d9ec58be7dc354e181989c7f08e7d4dd93fefd06a99e784b87fe898479dd47a40dfa9689c6a63ebdc04bf87883a270686aec27f7cc34cb21ec0f370a4afe2d8 firefox-wayland.sh
"
@@ -0,0 +1,12 @@
# With 87a596f7867a49fae78c05042a92bea3e5e24b0d all GNOME-based UIs have the
# default accent color set to green.
#
# Phosh hasn't implemented accent colors and using green accent colors for apps
# but not for the shell look inconsistent.
#
# Therefore set the blue accent color back until phosh has support for accent colors
#
# Ref: https://gitlab.gnome.org/World/Phosh/phosh/-/merge_requests/1533
# Ref: https://gitlab.com/postmarketOS/pmaports/-/issues/3218
[org.gnome.desktop.interface]
accent-color='blue'
+8 -2
View File
@@ -1,8 +1,8 @@
# Reference: https://postmarketos.org/uipkg
# Maintainer: Newbyte <newbyte@postmarketos.org>
pkgname=postmarketos-ui-phosh
pkgver=22.3
pkgrel=11
pkgver=22.4
pkgrel=0
pkgdesc="(Wayland) Mobile UI initially developed for the Librem 5"
url="https://phosh.mobi"
arch="noarch !armhf"
@@ -28,6 +28,7 @@ _pmb_groups="feedbackd"
install="$pkgname.post-install $pkgname.post-upgrade"
source="
01_postmarketos-ui-phosh.gschema.override
20_postmarketos-blue-accent.gschema.override
mimeapps.list
udiskie.desktop
"
@@ -41,6 +42,10 @@ package() {
"$pkgdir"/usr/share/applications/mimeapps.list
install -Dm644 "$srcdir"/udiskie.desktop \
"$pkgdir"/etc/xdg/autostart/udiskie.desktop
# TODO: Remove once Phosh supports accent colors
install -Dm644 "$srcdir"/20_postmarketos-blue-accent.gschema.override \
-t "$pkgdir"/usr/share/glib-2.0/schemas/
}
openrc() {
@@ -63,6 +68,7 @@ systemd() {
sha512sums="
e577b8073df680ccee75ef5b6bb1f2877d5727687d63d6fd9211298e791b6c9f593eb79278c77a4b4918e3c57333c2a012030baf5a3c8d6d16000cc63a030f84 01_postmarketos-ui-phosh.gschema.override
b5269303032b35d6e249479eb8870063b862280eca9605522f47d09a3c2266861560934643cf4a39af2d309696bad16b086d8b98e1240bbaef5e6ba3048de1dd 20_postmarketos-blue-accent.gschema.override
a741e8db9e4232334b924326c48be4e4c8f7a2382a7608926918a7491c518b2dda551e55a00d4d5fcf58c7950a78dc35d5cc5eaab53ad93a56de40887071f242 mimeapps.list
53f5c565b4ca8a12f12b63ec84a0194ef530703565d123203d41582a35a54d66afaf3a676df158ae0effe327dcfc1c6496a082ce9dbe803b2547417c3c3fad6e udiskie.desktop
"
+2 -3
View File
@@ -1,7 +1,7 @@
# Maintainer: Johannes Marbach <n0-0ne+gitlab@mailbox.org>
pkgname=unl0kr
pkgver=3.2.0
pkgrel=0
pkgrel=1
_commit_lvgl=ceadda8a468b7d5fa6ba973bd82cf610166278d8
pkgdesc="Framebuffer-based disk unlocker for the initramfs based on LVGL"
url="https://gitlab.com/postmarketOS/buffybox"
@@ -82,12 +82,11 @@ pmtest() {
install -Dm644 "$srcdir"/unl0kr.files \
"$subpkgdir"/usr/share/mkinitfs/files/30-unl0kr.files
}
sha512sums="
83d6724750e6f7e048063863e78251d32a23b1c7aa9e3529a0b176c415bda70c91b83924f6a71cc7f5ca29f019e7a974b406f6e83ff038dae92430b53183d5fa buffybox-3.2.0.tar.gz
d3611fe9d55ed105d9567b6019dc49fc0510ac4ed6ca6e15ba0c1bae47f2833d8784b3e008a4dec76dce55bf3809531d07c62e4ba24bafad69c6c54fdd0b70c0 lvgl-ceadda8a468b7d5fa6ba973bd82cf610166278d8.tar.gz
7155c2f95dcf3716c0f392cf5717e96f1414c383a1f7c2ed30a1f8518dfe0b17c3c0e0e93f6476a342504aa855404099e2f5444eeb099023491c9a9a26fa3d90 unl0kr.conf
521379c06843d31304c7317d083472bb0105da7e9360d7a303cb98c84112919278fa8b50c3781d9cf43bb057b7eb7d52a4f4d900be69a0c0d70f97f2e9843140 unl0kr.files
9e3cb41a430f042c59a8a41ee6697a6c85f492092c43b442f720d447f961ea1e0043450283a97e12b982c701654bed4f5ac5d08f4ea4c8e4d365282f72f4f360 unl0kr.files
5386f434cd4f1fb9e0d561a8689e5e85d6a8b3c562823122c082d4932d2fb0ad4edcd635f14f0c61e5c8b5e53648c9937b042409c21683007700faea8894c750 unlock.sh
407180b49c1a05f12bd6ee6e59dca0a6e74fe7b01f195087dcf2865598c47827d0bb569afdba55defa2f9a16437230fa62aa64f35111508b906bcbf9537acba4 30-unl0kr-test.sh
"
+1
View File
@@ -8,4 +8,5 @@
/sbin/udevd
/etc/udev/rules.d
/lib/udev/rules.d
/usr/lib/udev/rules.d
/usr/share/X11/xkb
+1 -1
View File
@@ -1,6 +1,6 @@
pkgname=gnome-settings-daemon-mobile
pkgver=46.0
pkgrel=0
pkgrel=1
pkgdesc="GNOME settings daemon"
url="https://gitlab.gnome.org/verdre/gnome-settings-daemon-mobile"
arch="all"
+1 -1
View File
@@ -2,7 +2,7 @@
pkgname=iio-sensor-proxy
pkgver=9999
pkgrel=4
pkgrel=5
pkgdesc="IIO sensors to D-Bus proxy"
url="https://gitlab.freedesktop.org/hadess/iio-sensor-proxy"
arch="aarch64"
+1 -1
View File
@@ -2,7 +2,7 @@
pkgname=mutter-mobile
pkgver=46.1
pkgrel=0
pkgrel=1
pkgdesc="clutter-based window manager and compositor"
url="https://wiki.gnome.org/Projects/Mutter/"
# ricsv64: doesn't build currently: