diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-04-21 15:51:33 +0200 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2020-04-21 15:51:33 +0200 |
commit | 026b0e49879529dcaf198efcf49ccec280fedfa0 (patch) | |
tree | 7e2788fa485cb8ea57f00d7dd62bc87de023be0f | |
parent | 8751e34793a6ea7d373d81439c3e3b6a4d227ef3 (diff) | |
parent | 71893eb2f68d8dd59d462be73e9832ccb4ccfe9d (diff) | |
download | kernel-5.6.6-250.vanilla.knurd.1.fc31.tar.gz kernel-5.6.6-250.vanilla.knurd.1.fc31.tar.xz kernel-5.6.6-250.vanilla.knurd.1.fc31.zip |
Merge remote-tracking branch 'origin/f31' into f31-user-thl-vanilla-fedorakernel-5.6.6-250.vanilla.knurd.1.fc31
239 files changed, 12196 insertions, 7967 deletions
diff --git a/0001-drm-nouveau-workaround-runpm-fail-by-disabling-PCI-p.patch b/0001-drm-nouveau-workaround-runpm-fail-by-disabling-PCI-p.patch new file mode 100644 index 000000000..1511e4a7a --- /dev/null +++ b/0001-drm-nouveau-workaround-runpm-fail-by-disabling-PCI-p.patch @@ -0,0 +1,141 @@ +From 7a7662fe09eb2ccd2eb93ce7261aa47c86111b4d Mon Sep 17 00:00:00 2001 +From: Karol Herbst <kherbst@redhat.com> +Date: Tue, 24 Mar 2020 21:29:23 +0100 +Subject: [PATCH 1/2] drm/nouveau: workaround runpm fail by disabling PCI power + management on certain intel bridges + +Fixes the infamous 'runtime PM' bug many users are facing on Laptops with +Nvidia Pascal GPUs by skipping said PCI power state changes on the GPU. + +Depending on the used kernel there might be messages like those in demsg: + +"nouveau 0000:01:00.0: Refused to change power state, currently in D3" +"nouveau 0000:01:00.0: can't change power state from D3cold to D0 (config +space inaccessible)" +followed by backtraces of kernel crashes or timeouts within nouveau. + +It's still unkown why this issue exists, but this is a reliable workaround +and solves a very annoying issue for user having to choose between a +crashing kernel or higher power consumption of their Laptops. + +Signed-off-by: Karol Herbst <kherbst@redhat.com> +Cc: Bjorn Helgaas <bhelgaas@google.com> +Cc: Lyude Paul <lyude@redhat.com> +Cc: Rafael J. Wysocki <rjw@rjwysocki.net> +Cc: Mika Westerberg <mika.westerberg@intel.com> +Cc: linux-pci@vger.kernel.org +Cc: linux-pm@vger.kernel.org +Cc: dri-devel@lists.freedesktop.org +Cc: nouveau@lists.freedesktop.org +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205623 +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +--- + drivers/gpu/drm/nouveau/nouveau_drm.c | 63 +++++++++++++++++++++++++++ + drivers/gpu/drm/nouveau/nouveau_drv.h | 2 + + 2 files changed, 65 insertions(+) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c +index 6b1629c14dd7..ca4087f5a15b 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_drm.c ++++ b/drivers/gpu/drm/nouveau/nouveau_drm.c +@@ -618,6 +618,64 @@ nouveau_drm_device_fini(struct drm_device *dev) + kfree(drm); + } + ++/* ++ * On some Intel PCIe bridge controllers doing a ++ * D0 -> D3hot -> D3cold -> D0 sequence causes Nvidia GPUs to not reappear. ++ * Skipping the intermediate D3hot step seems to make it work again. This is ++ * probably caused by not meeting the expectation the involved AML code has ++ * when the GPU is put into D3hot state before invoking it. ++ * ++ * This leads to various manifestations of this issue: ++ * - AML code execution to power on the GPU hits an infinite loop (as the ++ * code waits on device memory to change). ++ * - kernel crashes, as all PCI reads return -1, which most code isn't able ++ * to handle well enough. ++ * ++ * In all cases dmesg will contain at least one line like this: ++ * 'nouveau 0000:01:00.0: Refused to change power state, currently in D3' ++ * followed by a lot of nouveau timeouts. ++ * ++ * In the \_SB.PCI0.PEG0.PG00._OFF code deeper down writes bit 0x80 to the not ++ * documented PCI config space register 0x248 of the Intel PCIe bridge ++ * controller (0x1901) in order to change the state of the PCIe link between ++ * the PCIe port and the GPU. There are alternative code paths using other ++ * registers, which seem to work fine (executed pre Windows 8): ++ * - 0xbc bit 0x20 (publicly available documentation claims 'reserved') ++ * - 0xb0 bit 0x10 (link disable) ++ * Changing the conditions inside the firmware by poking into the relevant ++ * addresses does resolve the issue, but it seemed to be ACPI private memory ++ * and not any device accessible memory at all, so there is no portable way of ++ * changing the conditions. ++ * On a XPS 9560 that means bits [0,3] on \CPEX need to be cleared. ++ * ++ * The only systems where this behavior can be seen are hybrid graphics laptops ++ * with a secondary Nvidia Maxwell, Pascal or Turing GPU. It's unclear whether ++ * this issue only occurs in combination with listed Intel PCIe bridge ++ * controllers and the mentioned GPUs or other devices as well. ++ * ++ * documentation on the PCIe bridge controller can be found in the ++ * "7th Generation Intel® Processor Families for H Platforms Datasheet Volume 2" ++ * Section "12 PCI Express* Controller (x16) Registers" ++ */ ++ ++static void quirk_broken_nv_runpm(struct pci_dev *pdev) ++{ ++ struct drm_device *dev = pci_get_drvdata(pdev); ++ struct nouveau_drm *drm = nouveau_drm(dev); ++ struct pci_dev *bridge = pci_upstream_bridge(pdev); ++ ++ if (!bridge || bridge->vendor != PCI_VENDOR_ID_INTEL) ++ return; ++ ++ switch (bridge->device) { ++ case 0x1901: ++ drm->old_pm_cap = pdev->pm_cap; ++ pdev->pm_cap = 0; ++ NV_INFO(drm, "Disabling PCI power management to avoid bug\n"); ++ break; ++ } ++} ++ + static int nouveau_drm_probe(struct pci_dev *pdev, + const struct pci_device_id *pent) + { +@@ -699,6 +757,7 @@ static int nouveau_drm_probe(struct pci_dev *pdev, + if (ret) + goto fail_drm_dev_init; + ++ quirk_broken_nv_runpm(pdev); + return 0; + + fail_drm_dev_init: +@@ -734,7 +793,11 @@ static void + nouveau_drm_remove(struct pci_dev *pdev) + { + struct drm_device *dev = pci_get_drvdata(pdev); ++ struct nouveau_drm *drm = nouveau_drm(dev); + ++ /* revert our workaround */ ++ if (drm->old_pm_cap) ++ pdev->pm_cap = drm->old_pm_cap; + nouveau_drm_device_remove(dev); + pci_disable_device(pdev); + } +diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h +index c2c332fbde97..2a6519737800 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_drv.h ++++ b/drivers/gpu/drm/nouveau/nouveau_drv.h +@@ -140,6 +140,8 @@ struct nouveau_drm { + + struct list_head clients; + ++ u8 old_pm_cap; ++ + struct { + struct agp_bridge_data *bridge; + u32 base; +-- +2.25.1 + diff --git a/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch b/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch deleted file mode 100644 index 531779ce6..000000000 --- a/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch +++ /dev/null @@ -1,3487 +0,0 @@ -From 25bd71190fef59375de6115044556d062a965801 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 25 Nov 2019 11:12:11 +0100 -Subject: [PATCH v3] fs: Add VirtualBox guest shared folder (vboxsf) support - -VirtualBox hosts can share folders with guests, this commit adds a -VFS driver implementing the Linux-guest side of this, allowing folders -exported by the host to be mounted under Linux. - -This driver depends on the guest <-> host IPC functions exported by -the vboxguest driver. - -Acked-by: Christoph Hellwig <hch@infradead.org> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- -Changes in v19: -- Misc. small code tweaks suggested by Al Viro (no functional changes) -- Do not increment dir_context->pos when dir_emit has returned false. -- Add a WARN_ON check for trying to access beyond the end of a - vboxsf directory buffer, this uses WARN_ON as this means the host has - given us corrupt data -- Catch the user passing the "nls" opt more then once - -Changes in v18: -- Move back to fs/vboxsf for direct submission to Linus -- Squash in a few small fixes done during vboxsf's brief stint in staging -- Add handling of short copies to vboxsf_write_end -- Add a comment about our simple_write_begin usage (Suggested by David Howell) - -Changes in v17: -- Submit upstream through drivers/staging as this is not getting any - traction on the fsdevel list -- Add TODO file -- vboxsf_free_inode uses sbi->idr, call rcu_barrier from put_super to make - sure all delayed rcu free inodes are flushed - -Changes in v16: -- Make vboxsf_parse_monolithic() static, reported-by: kbuild test robot - -Changes in v15: -- Rebase on top of 5.4-rc1 - -Changes in v14 -- Add a commment explaining possible read cache strategies and which one - has been chosen -- Change pagecache-invalidation on open (inode_revalidate) to use - invalidate_inode_pages2() so that mmap-ed pages are dropped from - the cache too -- Add a comment to vboxsf_file_release explaining why the - filemap_write_and_wait() call is done there -- Some minor code tweaks - -Changes in v13 -- Add SPDX tag to Makefile, use foo-y := to set objectfile list -- Drop kerneldoc headers stating the obvious from vfs callbacks, - to avoid them going stale -- Replace sf_ prefix of functions and data-types with vboxsf_ -- Use more normal naming scheme for sbi and private inode data: - struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb); - struct vboxsf_inode *sf_i = VBOXSF_I(inode); -- Refactor directory reading code -- Use goto based unwinding instead of nested if-s in a number of places -- Consolidate dir unlink and rmdir inode_operations into a single function -- Use the page-cache for regular reads/writes too -- Directly set super_operations.free_inode to what used to be our - vboxsf_i_callback, instead of setting super_operations.destroy_inode - to a function which just does: call_rcu(&inode->i_rcu, vboxsf_i_callback); -- Use spinlock_irqsafe for ino_idr_lock - vboxsf_free_inode may be called from a RCU callback, and thus from - softirq context, so we need to use spinlock_irqsafe vboxsf_new_inode. - On alloc_inode failure vboxsf_free_inode may be called from process - context, so it too needs to use spinlock_irqsafe. - -Changes in v12: -- Move make_kuid / make_kgid calls to option parsing time and add - uid_valid / gid_valid checks. -- In init_fs_context call current_uid_gid() to init uid and gid -- Validate dmode, fmode, dmask and fmask options during option parsing -- Use correct types for various mount option variables (kuid_t, kgid_t, umode_t) -- Some small coding-style tweaks - -Changes in v11: -- Convert to the new Documentation/filesystems/mount_api.txt mount API -- Fixed all the function kerneldoc comments to have things in the proper order -- Change type of d_type variable passed as type to dir_emit from int to - unsigned int -- Replaced the fake-ino overflow test with the one suggested by David Howells -- Fixed various coding style issues - -See cover-letter for full changelog including older versions ---- - MAINTAINERS | 6 + - fs/Kconfig | 1 + - fs/Makefile | 1 + - fs/vboxsf/Kconfig | 10 + - fs/vboxsf/Makefile | 5 + - fs/vboxsf/dir.c | 427 +++++++++++++++++ - fs/vboxsf/file.c | 379 +++++++++++++++ - fs/vboxsf/shfl_hostintf.h | 901 ++++++++++++++++++++++++++++++++++++ - fs/vboxsf/super.c | 497 ++++++++++++++++++++ - fs/vboxsf/utils.c | 551 ++++++++++++++++++++++ - fs/vboxsf/vboxsf_wrappers.c | 371 +++++++++++++++ - fs/vboxsf/vfsmod.h | 137 ++++++ - 12 files changed, 3286 insertions(+) - create mode 100644 fs/vboxsf/Kconfig - create mode 100644 fs/vboxsf/Makefile - create mode 100644 fs/vboxsf/dir.c - create mode 100644 fs/vboxsf/file.c - create mode 100644 fs/vboxsf/shfl_hostintf.h - create mode 100644 fs/vboxsf/super.c - create mode 100644 fs/vboxsf/utils.c - create mode 100644 fs/vboxsf/vboxsf_wrappers.c - create mode 100644 fs/vboxsf/vfsmod.h - -diff --git a/MAINTAINERS b/MAINTAINERS -index 56765f542244..db3cec531b32 100644 ---- a/MAINTAINERS -+++ b/MAINTAINERS -@@ -17612,6 +17612,12 @@ F: include/linux/vbox_utils.h - F: include/uapi/linux/vbox*.h - F: drivers/virt/vboxguest/ - -+VIRTUAL BOX SHARED FOLDER VFS DRIVER: -+M: Hans de Goede <hdegoede@redhat.com> -+L: linux-fsdevel@vger.kernel.org -+S: Maintained -+F: fs/vboxsf/* -+ - VIRTUAL SERIO DEVICE DRIVER - M: Stephen Chandler Paul <thatslyude@gmail.com> - S: Maintained -diff --git a/fs/Kconfig b/fs/Kconfig -index 7b623e9fc1b0..8493a3f0c4b1 100644 ---- a/fs/Kconfig -+++ b/fs/Kconfig -@@ -264,6 +264,7 @@ source "fs/pstore/Kconfig" - source "fs/sysv/Kconfig" - source "fs/ufs/Kconfig" - source "fs/erofs/Kconfig" -+source "fs/vboxsf/Kconfig" - - endif # MISC_FILESYSTEMS - -diff --git a/fs/Makefile b/fs/Makefile -index 1148c555c4d3..b807cbff3790 100644 ---- a/fs/Makefile -+++ b/fs/Makefile -@@ -133,3 +133,4 @@ obj-$(CONFIG_CEPH_FS) += ceph/ - obj-$(CONFIG_PSTORE) += pstore/ - obj-$(CONFIG_EFIVAR_FS) += efivarfs/ - obj-$(CONFIG_EROFS_FS) += erofs/ -+obj-$(CONFIG_VBOXSF_FS) += vboxsf/ -diff --git a/fs/vboxsf/Kconfig b/fs/vboxsf/Kconfig -new file mode 100644 -index 000000000000..b84586ae08b3 ---- /dev/null -+++ b/fs/vboxsf/Kconfig -@@ -0,0 +1,10 @@ -+config VBOXSF_FS -+ tristate "VirtualBox guest shared folder (vboxsf) support" -+ depends on X86 && VBOXGUEST -+ select NLS -+ help -+ VirtualBox hosts can share folders with guests, this driver -+ implements the Linux-guest side of this allowing folders exported -+ by the host to be mounted under Linux. -+ -+ If you want to use shared folders in VirtualBox guests, answer Y or M. -diff --git a/fs/vboxsf/Makefile b/fs/vboxsf/Makefile -new file mode 100644 -index 000000000000..9e4328e79623 ---- /dev/null -+++ b/fs/vboxsf/Makefile -@@ -0,0 +1,5 @@ -+# SPDX-License-Identifier: MIT -+ -+obj-$(CONFIG_VBOXSF_FS) += vboxsf.o -+ -+vboxsf-y := dir.o file.o utils.o vboxsf_wrappers.o super.o -diff --git a/fs/vboxsf/dir.c b/fs/vboxsf/dir.c -new file mode 100644 -index 000000000000..dd147b490982 ---- /dev/null -+++ b/fs/vboxsf/dir.c -@@ -0,0 +1,427 @@ -+// SPDX-License-Identifier: MIT -+/* -+ * VirtualBox Guest Shared Folders support: Directory inode and file operations -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#include <linux/namei.h> -+#include <linux/vbox_utils.h> -+#include "vfsmod.h" -+ -+static int vboxsf_dir_open(struct inode *inode, struct file *file) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb); -+ struct shfl_createparms params = {}; -+ struct vboxsf_dir_info *sf_d; -+ int err; -+ -+ sf_d = vboxsf_dir_info_alloc(); -+ if (!sf_d) -+ return -ENOMEM; -+ -+ params.handle = SHFL_HANDLE_NIL; -+ params.create_flags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS | -+ SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; -+ -+ err = vboxsf_create_at_dentry(file_dentry(file), ¶ms); -+ if (err) -+ goto err_free_dir_info; -+ -+ if (params.result != SHFL_FILE_EXISTS) { -+ err = -ENOENT; -+ goto err_close; -+ } -+ -+ err = vboxsf_dir_read_all(sbi, sf_d, params.handle); -+ if (err) -+ goto err_close; -+ -+ vboxsf_close(sbi->root, params.handle); -+ file->private_data = sf_d; -+ return 0; -+ -+err_close: -+ vboxsf_close(sbi->root, params.handle); -+err_free_dir_info: -+ vboxsf_dir_info_free(sf_d); -+ return err; -+} -+ -+static int vboxsf_dir_release(struct inode *inode, struct file *file) -+{ -+ if (file->private_data) -+ vboxsf_dir_info_free(file->private_data); -+ -+ return 0; -+} -+ -+static unsigned int vboxsf_get_d_type(u32 mode) -+{ -+ unsigned int d_type; -+ -+ switch (mode & SHFL_TYPE_MASK) { -+ case SHFL_TYPE_FIFO: -+ d_type = DT_FIFO; -+ break; -+ case SHFL_TYPE_DEV_CHAR: -+ d_type = DT_CHR; -+ break; -+ case SHFL_TYPE_DIRECTORY: -+ d_type = DT_DIR; -+ break; -+ case SHFL_TYPE_DEV_BLOCK: -+ d_type = DT_BLK; -+ break; -+ case SHFL_TYPE_FILE: -+ d_type = DT_REG; -+ break; -+ case SHFL_TYPE_SYMLINK: -+ d_type = DT_LNK; -+ break; -+ case SHFL_TYPE_SOCKET: -+ d_type = DT_SOCK; -+ break; -+ case SHFL_TYPE_WHITEOUT: -+ d_type = DT_WHT; -+ break; -+ default: -+ d_type = DT_UNKNOWN; -+ break; -+ } -+ return d_type; -+} -+ -+static bool vboxsf_dir_emit(struct file *dir, struct dir_context *ctx) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(file_inode(dir)->i_sb); -+ struct vboxsf_dir_info *sf_d = dir->private_data; -+ struct shfl_dirinfo *info; -+ struct vboxsf_dir_buf *b; -+ unsigned int d_type; -+ loff_t i, cur = 0; -+ ino_t fake_ino; -+ void *end; -+ int err; -+ -+ list_for_each_entry(b, &sf_d->info_list, head) { -+try_next_entry: -+ if (ctx->pos >= cur + b->entries) { -+ cur += b->entries; -+ continue; -+ } -+ -+ /* -+ * Note the vboxsf_dir_info objects we are iterating over here -+ * are variable sized, so the info pointer may end up being -+ * unaligned. This is how we get the data from the host. -+ * Since vboxsf is only supported on x86 machines this is not -+ * a problem. -+ */ -+ for (i = 0, info = b->buf; i < ctx->pos - cur; i++) { -+ end = &info->name.string.utf8[info->name.size]; -+ /* Only happens if the host gives us corrupt data */ -+ if (WARN_ON(end > (b->buf + b->used))) -+ return false; -+ info = end; -+ } -+ -+ end = &info->name.string.utf8[info->name.size]; -+ if (WARN_ON(end > (b->buf + b->used))) -+ return false; -+ -+ /* Info now points to the right entry, emit it. */ -+ d_type = vboxsf_get_d_type(info->info.attr.mode); -+ -+ /* -+ * On 32 bit systems pos is 64 signed, while ino is 32 bit -+ * unsigned so fake_ino may overflow, check for this. -+ */ -+ if ((ino_t)(ctx->pos + 1) != (u64)(ctx->pos + 1)) { -+ vbg_err("vboxsf: fake ino overflow, truncating dir\n"); -+ return false; -+ } -+ fake_ino = ctx->pos + 1; -+ -+ if (sbi->nls) { -+ char d_name[NAME_MAX]; -+ -+ err = vboxsf_nlscpy(sbi, d_name, NAME_MAX, -+ info->name.string.utf8, -+ info->name.length); -+ if (err) { -+ /* skip erroneous entry and proceed */ -+ ctx->pos += 1; -+ goto try_next_entry; -+ } -+ -+ return dir_emit(ctx, d_name, strlen(d_name), -+ fake_ino, d_type); -+ } -+ -+ return dir_emit(ctx, info->name.string.utf8, info->name.length, -+ fake_ino, d_type); -+ } -+ -+ return false; -+} -+ -+static int vboxsf_dir_iterate(struct file *dir, struct dir_context *ctx) -+{ -+ bool emitted; -+ -+ do { -+ emitted = vboxsf_dir_emit(dir, ctx); -+ if (emitted) -+ ctx->pos += 1; -+ } while (emitted); -+ -+ return 0; -+} -+ -+const struct file_operations vboxsf_dir_fops = { -+ .open = vboxsf_dir_open, -+ .iterate = vboxsf_dir_iterate, -+ .release = vboxsf_dir_release, -+ .read = generic_read_dir, -+ .llseek = generic_file_llseek, -+}; -+ -+/* -+ * This is called during name resolution/lookup to check if the @dentry in -+ * the cache is still valid. the job is handled by vboxsf_inode_revalidate. -+ */ -+static int vboxsf_dentry_revalidate(struct dentry *dentry, unsigned int flags) -+{ -+ if (flags & LOOKUP_RCU) -+ return -ECHILD; -+ -+ if (d_really_is_positive(dentry)) -+ return vboxsf_inode_revalidate(dentry) == 0; -+ else -+ return vboxsf_stat_dentry(dentry, NULL) == -ENOENT; -+} -+ -+const struct dentry_operations vboxsf_dentry_ops = { -+ .d_revalidate = vboxsf_dentry_revalidate -+}; -+ -+/* iops */ -+ -+static struct dentry *vboxsf_dir_lookup(struct inode *parent, -+ struct dentry *dentry, -+ unsigned int flags) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb); -+ struct shfl_fsobjinfo fsinfo; -+ struct inode *inode; -+ int err; -+ -+ dentry->d_time = jiffies; -+ -+ err = vboxsf_stat_dentry(dentry, &fsinfo); -+ if (err) { -+ inode = (err == -ENOENT) ? NULL : ERR_PTR(err); -+ } else { -+ inode = vboxsf_new_inode(parent->i_sb); -+ if (!IS_ERR(inode)) -+ vboxsf_init_inode(sbi, inode, &fsinfo); -+ } -+ -+ return d_splice_alias(inode, dentry); -+} -+ -+static int vboxsf_dir_instantiate(struct inode *parent, struct dentry *dentry, -+ struct shfl_fsobjinfo *info) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb); -+ struct vboxsf_inode *sf_i; -+ struct inode *inode; -+ -+ inode = vboxsf_new_inode(parent->i_sb); -+ if (IS_ERR(inode)) -+ return PTR_ERR(inode); -+ -+ sf_i = VBOXSF_I(inode); -+ /* The host may have given us different attr then requested */ -+ sf_i->force_restat = 1; -+ vboxsf_init_inode(sbi, inode, info); -+ -+ d_instantiate(dentry, inode); -+ -+ return 0; -+} -+ -+static int vboxsf_dir_create(struct inode *parent, struct dentry *dentry, -+ umode_t mode, int is_dir) -+{ -+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent); -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb); -+ struct shfl_createparms params = {}; -+ int err; -+ -+ params.handle = SHFL_HANDLE_NIL; -+ params.create_flags = SHFL_CF_ACT_CREATE_IF_NEW | -+ SHFL_CF_ACT_FAIL_IF_EXISTS | -+ SHFL_CF_ACCESS_READWRITE | -+ (is_dir ? SHFL_CF_DIRECTORY : 0); -+ params.info.attr.mode = (mode & 0777) | -+ (is_dir ? SHFL_TYPE_DIRECTORY : SHFL_TYPE_FILE); -+ params.info.attr.additional = SHFLFSOBJATTRADD_NOTHING; -+ -+ err = vboxsf_create_at_dentry(dentry, ¶ms); -+ if (err) -+ return err; -+ -+ if (params.result != SHFL_FILE_CREATED) -+ return -EPERM; -+ -+ vboxsf_close(sbi->root, params.handle); -+ -+ err = vboxsf_dir_instantiate(parent, dentry, ¶ms.info); -+ if (err) -+ return err; -+ -+ /* parent directory access/change time changed */ -+ sf_parent_i->force_restat = 1; -+ -+ return 0; -+} -+ -+static int vboxsf_dir_mkfile(struct inode *parent, struct dentry *dentry, -+ umode_t mode, bool excl) -+{ -+ return vboxsf_dir_create(parent, dentry, mode, 0); -+} -+ -+static int vboxsf_dir_mkdir(struct inode *parent, struct dentry *dentry, -+ umode_t mode) -+{ -+ return vboxsf_dir_create(parent, dentry, mode, 1); -+} -+ -+static int vboxsf_dir_unlink(struct inode *parent, struct dentry *dentry) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb); -+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent); -+ struct inode *inode = d_inode(dentry); -+ struct shfl_string *path; -+ u32 flags; -+ int err; -+ -+ if (S_ISDIR(inode->i_mode)) -+ flags = SHFL_REMOVE_DIR; -+ else -+ flags = SHFL_REMOVE_FILE; -+ -+ if (S_ISLNK(inode->i_mode)) -+ flags |= SHFL_REMOVE_SYMLINK; -+ -+ path = vboxsf_path_from_dentry(sbi, dentry); -+ if (IS_ERR(path)) -+ return PTR_ERR(path); -+ -+ err = vboxsf_remove(sbi->root, path, flags); -+ __putname(path); -+ if (err) -+ return err; -+ -+ /* parent directory access/change time changed */ -+ sf_parent_i->force_restat = 1; -+ -+ return 0; -+} -+ -+static int vboxsf_dir_rename(struct inode *old_parent, -+ struct dentry *old_dentry, -+ struct inode *new_parent, -+ struct dentry *new_dentry, -+ unsigned int flags) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(old_parent->i_sb); -+ struct vboxsf_inode *sf_old_parent_i = VBOXSF_I(old_parent); -+ struct vboxsf_inode *sf_new_parent_i = VBOXSF_I(new_parent); -+ u32 shfl_flags = SHFL_RENAME_FILE | SHFL_RENAME_REPLACE_IF_EXISTS; -+ struct shfl_string *old_path, *new_path; -+ int err; -+ -+ if (flags) -+ return -EINVAL; -+ -+ old_path = vboxsf_path_from_dentry(sbi, old_dentry); -+ if (IS_ERR(old_path)) -+ return PTR_ERR(old_path); -+ -+ new_path = vboxsf_path_from_dentry(sbi, new_dentry); -+ if (IS_ERR(new_path)) { -+ err = PTR_ERR(new_path); -+ goto err_put_old_path; -+ } -+ -+ if (d_inode(old_dentry)->i_mode & S_IFDIR) -+ shfl_flags = 0; -+ -+ err = vboxsf_rename(sbi->root, old_path, new_path, shfl_flags); -+ if (err == 0) { -+ /* parent directories access/change time changed */ -+ sf_new_parent_i->force_restat = 1; -+ sf_old_parent_i->force_restat = 1; -+ } -+ -+ __putname(new_path); -+err_put_old_path: -+ __putname(old_path); -+ return err; -+} -+ -+static int vboxsf_dir_symlink(struct inode *parent, struct dentry *dentry, -+ const char *symname) -+{ -+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent); -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb); -+ int symname_size = strlen(symname) + 1; -+ struct shfl_string *path, *ssymname; -+ struct shfl_fsobjinfo info; -+ int err; -+ -+ path = vboxsf_path_from_dentry(sbi, dentry); -+ if (IS_ERR(path)) -+ return PTR_ERR(path); -+ -+ ssymname = kmalloc(SHFLSTRING_HEADER_SIZE + symname_size, GFP_KERNEL); -+ if (!ssymname) { -+ __putname(path); -+ return -ENOMEM; -+ } -+ ssymname->length = symname_size - 1; -+ ssymname->size = symname_size; -+ memcpy(ssymname->string.utf8, symname, symname_size); -+ -+ err = vboxsf_symlink(sbi->root, path, ssymname, &info); -+ kfree(ssymname); -+ __putname(path); -+ if (err) { -+ /* -EROFS means symlinks are note support -> -EPERM */ -+ return (err == -EROFS) ? -EPERM : err; -+ } -+ -+ err = vboxsf_dir_instantiate(parent, dentry, &info); -+ if (err) -+ return err; -+ -+ /* parent directory access/change time changed */ -+ sf_parent_i->force_restat = 1; -+ return 0; -+} -+ -+const struct inode_operations vboxsf_dir_iops = { -+ .lookup = vboxsf_dir_lookup, -+ .create = vboxsf_dir_mkfile, -+ .mkdir = vboxsf_dir_mkdir, -+ .rmdir = vboxsf_dir_unlink, -+ .unlink = vboxsf_dir_unlink, -+ .rename = vboxsf_dir_rename, -+ .symlink = vboxsf_dir_symlink, -+ .getattr = vboxsf_getattr, -+ .setattr = vboxsf_setattr, -+}; -diff --git a/fs/vboxsf/file.c b/fs/vboxsf/file.c -new file mode 100644 -index 000000000000..c4ab5996d97a ---- /dev/null -+++ b/fs/vboxsf/file.c -@@ -0,0 +1,379 @@ -+// SPDX-License-Identifier: MIT -+/* -+ * VirtualBox Guest Shared Folders support: Regular file inode and file ops. -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#include <linux/mm.h> -+#include <linux/page-flags.h> -+#include <linux/pagemap.h> -+#include <linux/highmem.h> -+#include <linux/sizes.h> -+#include "vfsmod.h" -+ -+struct vboxsf_handle { -+ u64 handle; -+ u32 root; -+ u32 access_flags; -+ struct kref refcount; -+ struct list_head head; -+}; -+ -+static int vboxsf_file_open(struct inode *inode, struct file *file) -+{ -+ struct vboxsf_inode *sf_i = VBOXSF_I(inode); -+ struct shfl_createparms params = {}; -+ struct vboxsf_handle *sf_handle; -+ u32 access_flags = 0; -+ int err; -+ -+ sf_handle = kmalloc(sizeof(*sf_handle), GFP_KERNEL); -+ if (!sf_handle) -+ return -ENOMEM; -+ -+ /* -+ * We check the value of params.handle afterwards to find out if -+ * the call succeeded or failed, as the API does not seem to cleanly -+ * distinguish error and informational messages. -+ * -+ * Furthermore, we must set params.handle to SHFL_HANDLE_NIL to -+ * make the shared folders host service use our mode parameter. -+ */ -+ params.handle = SHFL_HANDLE_NIL; -+ if (file->f_flags & O_CREAT) { -+ params.create_flags |= SHFL_CF_ACT_CREATE_IF_NEW; -+ /* -+ * We ignore O_EXCL, as the Linux kernel seems to call create -+ * beforehand itself, so O_EXCL should always fail. -+ */ -+ if (file->f_flags & O_TRUNC) -+ params.create_flags |= SHFL_CF_ACT_OVERWRITE_IF_EXISTS; -+ else -+ params.create_flags |= SHFL_CF_ACT_OPEN_IF_EXISTS; -+ } else { -+ params.create_flags |= SHFL_CF_ACT_FAIL_IF_NEW; -+ if (file->f_flags & O_TRUNC) -+ params.create_flags |= SHFL_CF_ACT_OVERWRITE_IF_EXISTS; -+ } -+ -+ switch (file->f_flags & O_ACCMODE) { -+ case O_RDONLY: -+ access_flags |= SHFL_CF_ACCESS_READ; -+ break; -+ -+ case O_WRONLY: -+ access_flags |= SHFL_CF_ACCESS_WRITE; -+ break; -+ -+ case O_RDWR: -+ access_flags |= SHFL_CF_ACCESS_READWRITE; -+ break; -+ -+ default: -+ WARN_ON(1); -+ } -+ -+ if (file->f_flags & O_APPEND) -+ access_flags |= SHFL_CF_ACCESS_APPEND; -+ -+ params.create_flags |= access_flags; -+ params.info.attr.mode = inode->i_mode; -+ -+ err = vboxsf_create_at_dentry(file_dentry(file), ¶ms); -+ if (err == 0 && params.handle == SHFL_HANDLE_NIL) -+ err = (params.result == SHFL_FILE_EXISTS) ? -EEXIST : -ENOENT; -+ if (err) { -+ kfree(sf_handle); -+ return err; -+ } -+ -+ /* the host may have given us different attr then requested */ -+ sf_i->force_restat = 1; -+ -+ /* init our handle struct and add it to the inode's handles list */ -+ sf_handle->handle = params.handle; -+ sf_handle->root = VBOXSF_SBI(inode->i_sb)->root; -+ sf_handle->access_flags = access_flags; -+ kref_init(&sf_handle->refcount); -+ -+ mutex_lock(&sf_i->handle_list_mutex); -+ list_add(&sf_handle->head, &sf_i->handle_list); -+ mutex_unlock(&sf_i->handle_list_mutex); -+ -+ file->private_data = sf_handle; -+ return 0; -+} -+ -+static void vboxsf_handle_release(struct kref *refcount) -+{ -+ struct vboxsf_handle *sf_handle = -+ container_of(refcount, struct vboxsf_handle, refcount); -+ -+ vboxsf_close(sf_handle->root, sf_handle->handle); -+ kfree(sf_handle); -+} -+ -+static int vboxsf_file_release(struct inode *inode, struct file *file) -+{ -+ struct vboxsf_inode *sf_i = VBOXSF_I(inode); -+ struct vboxsf_handle *sf_handle = file->private_data; -+ -+ /* -+ * When a file is closed on our (the guest) side, we want any subsequent -+ * accesses done on the host side to see all changes done from our side. -+ */ -+ filemap_write_and_wait(inode->i_mapping); -+ -+ mutex_lock(&sf_i->handle_list_mutex); -+ list_del(&sf_handle->head); -+ mutex_unlock(&sf_i->handle_list_mutex); -+ -+ kref_put(&sf_handle->refcount, vboxsf_handle_release); -+ return 0; -+} -+ -+/* -+ * Write back dirty pages now, because there may not be any suitable -+ * open files later -+ */ -+static void vboxsf_vma_close(struct vm_area_struct *vma) -+{ -+ filemap_write_and_wait(vma->vm_file->f_mapping); -+} -+ -+static const struct vm_operations_struct vboxsf_file_vm_ops = { -+ .close = vboxsf_vma_close, -+ .fault = filemap_fault, -+ .map_pages = filemap_map_pages, -+}; -+ -+static int vboxsf_file_mmap(struct file *file, struct vm_area_struct *vma) -+{ -+ int err; -+ -+ err = generic_file_mmap(file, vma); -+ if (!err) -+ vma->vm_ops = &vboxsf_file_vm_ops; -+ -+ return err; -+} -+ -+/* -+ * Note that since we are accessing files on the host's filesystem, files -+ * may always be changed underneath us by the host! -+ * -+ * The vboxsf API between the guest and the host does not offer any functions -+ * to deal with this. There is no inode-generation to check for changes, no -+ * events / callback on changes and no way to lock files. -+ * -+ * To avoid returning stale data when a file gets *opened* on our (the guest) -+ * side, we do a "stat" on the host side, then compare the mtime with the -+ * last known mtime and invalidate the page-cache if they differ. -+ * This is done from vboxsf_inode_revalidate(). -+ * -+ * When reads are done through the read_iter fop, it is possible to do -+ * further cache revalidation then, there are 3 options to deal with this: -+ * -+ * 1) Rely solely on the revalidation done at open time -+ * 2) Do another "stat" and compare mtime again. Unfortunately the vboxsf -+ * host API does not allow stat on handles, so we would need to use -+ * file->f_path.dentry and the stat will then fail if the file was unlinked -+ * or renamed (and there is no thing like NFS' silly-rename). So we get: -+ * 2a) "stat" and compare mtime, on stat failure invalidate the cache -+ * 2b) "stat" and compare mtime, on stat failure do nothing -+ * 3) Simply always call invalidate_inode_pages2_range on the range of the read -+ * -+ * Currently we are keeping things KISS and using option 1. this allows -+ * directly using generic_file_read_iter without wrapping it. -+ * -+ * This means that only data written on the host side before open() on -+ * the guest side is guaranteed to be seen by the guest. If necessary -+ * we may provide other read-cache strategies in the future and make this -+ * configurable through a mount option. -+ */ -+const struct file_operations vboxsf_reg_fops = { -+ .llseek = generic_file_llseek, -+ .read_iter = generic_file_read_iter, -+ .write_iter = generic_file_write_iter, -+ .mmap = vboxsf_file_mmap, -+ .open = vboxsf_file_open, -+ .release = vboxsf_file_release, -+ .fsync = noop_fsync, -+ .splice_read = generic_file_splice_read, -+}; -+ -+const struct inode_operations vboxsf_reg_iops = { -+ .getattr = vboxsf_getattr, -+ .setattr = vboxsf_setattr -+}; -+ -+static int vboxsf_readpage(struct file *file, struct page *page) -+{ -+ struct vboxsf_handle *sf_handle = file->private_data; -+ loff_t off = page_offset(page); -+ u32 nread = PAGE_SIZE; -+ u8 *buf; -+ int err; -+ -+ buf = kmap(page); -+ -+ err = vboxsf_read(sf_handle->root, sf_handle->handle, off, &nread, buf); -+ if (err == 0) { -+ memset(&buf[nread], 0, PAGE_SIZE - nread); -+ flush_dcache_page(page); -+ SetPageUptodate(page); -+ } else { -+ SetPageError(page); -+ } -+ -+ kunmap(page); -+ unlock_page(page); -+ return err; -+} -+ -+static struct vboxsf_handle *vboxsf_get_write_handle(struct vboxsf_inode *sf_i) -+{ -+ struct vboxsf_handle *h, *sf_handle = NULL; -+ -+ mutex_lock(&sf_i->handle_list_mutex); -+ list_for_each_entry(h, &sf_i->handle_list, head) { -+ if (h->access_flags == SHFL_CF_ACCESS_WRITE || -+ h->access_flags == SHFL_CF_ACCESS_READWRITE) { -+ kref_get(&h->refcount); -+ sf_handle = h; -+ break; -+ } -+ } -+ mutex_unlock(&sf_i->handle_list_mutex); -+ -+ return sf_handle; -+} -+ -+static int vboxsf_writepage(struct page *page, struct writeback_control *wbc) -+{ -+ struct inode *inode = page->mapping->host; -+ struct vboxsf_inode *sf_i = VBOXSF_I(inode); -+ struct vboxsf_handle *sf_handle; -+ loff_t off = page_offset(page); -+ loff_t size = i_size_read(inode); -+ u32 nwrite = PAGE_SIZE; -+ u8 *buf; -+ int err; -+ -+ if (off + PAGE_SIZE > size) -+ nwrite = size & ~PAGE_MASK; -+ -+ sf_handle = vboxsf_get_write_handle(sf_i); -+ if (!sf_handle) -+ return -EBADF; -+ -+ buf = kmap(page); -+ err = vboxsf_write(sf_handle->root, sf_handle->handle, -+ off, &nwrite, buf); -+ kunmap(page); -+ -+ kref_put(&sf_handle->refcount, vboxsf_handle_release); -+ -+ if (err == 0) { -+ ClearPageError(page); -+ /* mtime changed */ -+ sf_i->force_restat = 1; -+ } else { -+ ClearPageUptodate(page); -+ } -+ -+ unlock_page(page); -+ return err; -+} -+ -+static int vboxsf_write_end(struct file *file, struct address_space *mapping, -+ loff_t pos, unsigned int len, unsigned int copied, -+ struct page *page, void *fsdata) -+{ -+ struct inode *inode = mapping->host; -+ struct vboxsf_handle *sf_handle = file->private_data; -+ unsigned int from = pos & ~PAGE_MASK; -+ u32 nwritten = len; -+ u8 *buf; -+ int err; -+ -+ /* zero the stale part of the page if we did a short copy */ -+ if (!PageUptodate(page) && copied < len) -+ zero_user(page, from + copied, len - copied); -+ -+ buf = kmap(page); -+ err = vboxsf_write(sf_handle->root, sf_handle->handle, -+ pos, &nwritten, buf + from); -+ kunmap(page); -+ -+ if (err) { -+ nwritten = 0; -+ goto out; -+ } -+ -+ /* mtime changed */ -+ VBOXSF_I(inode)->force_restat = 1; -+ -+ if (!PageUptodate(page) && nwritten == PAGE_SIZE) -+ SetPageUptodate(page); -+ -+ pos += nwritten; -+ if (pos > inode->i_size) -+ i_size_write(inode, pos); -+ -+out: -+ unlock_page(page); -+ put_page(page); -+ -+ return nwritten; -+} -+ -+/* -+ * Note simple_write_begin does not read the page from disk on partial writes -+ * this is ok since vboxsf_write_end only writes the written parts of the -+ * page and it does not call SetPageUptodate for partial writes. -+ */ -+const struct address_space_operations vboxsf_reg_aops = { -+ .readpage = vboxsf_readpage, -+ .writepage = vboxsf_writepage, -+ .set_page_dirty = __set_page_dirty_nobuffers, -+ .write_begin = simple_write_begin, -+ .write_end = vboxsf_write_end, -+}; -+ -+static const char *vboxsf_get_link(struct dentry *dentry, struct inode *inode, -+ struct delayed_call *done) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb); -+ struct shfl_string *path; -+ char *link; -+ int err; -+ -+ if (!dentry) -+ return ERR_PTR(-ECHILD); -+ -+ path = vboxsf_path_from_dentry(sbi, dentry); -+ if (IS_ERR(path)) -+ return ERR_CAST(path); -+ -+ link = kzalloc(PATH_MAX, GFP_KERNEL); -+ if (!link) { -+ __putname(path); -+ return ERR_PTR(-ENOMEM); -+ } -+ -+ err = vboxsf_readlink(sbi->root, path, PATH_MAX, link); -+ __putname(path); -+ if (err) { -+ kfree(link); -+ return ERR_PTR(err); -+ } -+ -+ set_delayed_call(done, kfree_link, link); -+ return link; -+} -+ -+const struct inode_operations vboxsf_lnk_iops = { -+ .get_link = vboxsf_get_link -+}; -diff --git a/fs/vboxsf/shfl_hostintf.h b/fs/vboxsf/shfl_hostintf.h -new file mode 100644 -index 000000000000..aca829062c12 ---- /dev/null -+++ b/fs/vboxsf/shfl_hostintf.h -@@ -0,0 +1,901 @@ -+/* SPDX-License-Identifier: MIT */ -+/* -+ * VirtualBox Shared Folders: host interface definition. -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#ifndef SHFL_HOSTINTF_H -+#define SHFL_HOSTINTF_H -+ -+#include <linux/vbox_vmmdev_types.h> -+ -+/* The max in/out buffer size for a FN_READ or FN_WRITE call */ -+#define SHFL_MAX_RW_COUNT (16 * SZ_1M) -+ -+/* -+ * Structures shared between guest and the service -+ * can be relocated and use offsets to point to variable -+ * length parts. -+ * -+ * Shared folders protocol works with handles. -+ * Before doing any action on a file system object, -+ * one have to obtain the object handle via a SHFL_FN_CREATE -+ * request. A handle must be closed with SHFL_FN_CLOSE. -+ */ -+ -+enum { -+ SHFL_FN_QUERY_MAPPINGS = 1, /* Query mappings changes. */ -+ SHFL_FN_QUERY_MAP_NAME = 2, /* Query map name. */ -+ SHFL_FN_CREATE = 3, /* Open/create object. */ -+ SHFL_FN_CLOSE = 4, /* Close object handle. */ -+ SHFL_FN_READ = 5, /* Read object content. */ -+ SHFL_FN_WRITE = 6, /* Write new object content. */ -+ SHFL_FN_LOCK = 7, /* Lock/unlock a range in the object. */ -+ SHFL_FN_LIST = 8, /* List object content. */ -+ SHFL_FN_INFORMATION = 9, /* Query/set object information. */ -+ /* Note function number 10 is not used! */ -+ SHFL_FN_REMOVE = 11, /* Remove object */ -+ SHFL_FN_MAP_FOLDER_OLD = 12, /* Map folder (legacy) */ -+ SHFL_FN_UNMAP_FOLDER = 13, /* Unmap folder */ -+ SHFL_FN_RENAME = 14, /* Rename object */ -+ SHFL_FN_FLUSH = 15, /* Flush file */ -+ SHFL_FN_SET_UTF8 = 16, /* Select UTF8 filename encoding */ -+ SHFL_FN_MAP_FOLDER = 17, /* Map folder */ -+ SHFL_FN_READLINK = 18, /* Read symlink dest (as of VBox 4.0) */ -+ SHFL_FN_SYMLINK = 19, /* Create symlink (as of VBox 4.0) */ -+ SHFL_FN_SET_SYMLINKS = 20, /* Ask host to show symlinks (4.0+) */ -+}; -+ -+/* Root handles for a mapping are of type u32, Root handles are unique. */ -+#define SHFL_ROOT_NIL UINT_MAX -+ -+/* Shared folders handle for an opened object are of type u64. */ -+#define SHFL_HANDLE_NIL ULLONG_MAX -+ -+/* Hardcoded maximum length (in chars) of a shared folder name. */ -+#define SHFL_MAX_LEN (256) -+/* Hardcoded maximum number of shared folder mapping available to the guest. */ -+#define SHFL_MAX_MAPPINGS (64) -+ -+/** Shared folder string buffer structure. */ -+struct shfl_string { -+ /** Allocated size of the string member in bytes. */ -+ u16 size; -+ -+ /** Length of string without trailing nul in bytes. */ -+ u16 length; -+ -+ /** UTF-8 or UTF-16 string. Nul terminated. */ -+ union { -+ u8 utf8[2]; -+ u16 utf16[1]; -+ u16 ucs2[1]; /* misnomer, use utf16. */ -+ } string; -+}; -+VMMDEV_ASSERT_SIZE(shfl_string, 6); -+ -+/* The size of shfl_string w/o the string part. */ -+#define SHFLSTRING_HEADER_SIZE 4 -+ -+/* Calculate size of the string. */ -+static inline u32 shfl_string_buf_size(const struct shfl_string *string) -+{ -+ return string ? SHFLSTRING_HEADER_SIZE + string->size : 0; -+} -+ -+/* Set user id on execution (S_ISUID). */ -+#define SHFL_UNIX_ISUID 0004000U -+/* Set group id on execution (S_ISGID). */ -+#define SHFL_UNIX_ISGID 0002000U -+/* Sticky bit (S_ISVTX / S_ISTXT). */ -+#define SHFL_UNIX_ISTXT 0001000U -+ -+/* Owner readable (S_IRUSR). */ -+#define SHFL_UNIX_IRUSR 0000400U -+/* Owner writable (S_IWUSR). */ -+#define SHFL_UNIX_IWUSR 0000200U -+/* Owner executable (S_IXUSR). */ -+#define SHFL_UNIX_IXUSR 0000100U -+ -+/* Group readable (S_IRGRP). */ -+#define SHFL_UNIX_IRGRP 0000040U -+/* Group writable (S_IWGRP). */ -+#define SHFL_UNIX_IWGRP 0000020U -+/* Group executable (S_IXGRP). */ -+#define SHFL_UNIX_IXGRP 0000010U -+ -+/* Other readable (S_IROTH). */ -+#define SHFL_UNIX_IROTH 0000004U -+/* Other writable (S_IWOTH). */ -+#define SHFL_UNIX_IWOTH 0000002U -+/* Other executable (S_IXOTH). */ -+#define SHFL_UNIX_IXOTH 0000001U -+ -+/* Named pipe (fifo) (S_IFIFO). */ -+#define SHFL_TYPE_FIFO 0010000U -+/* Character device (S_IFCHR). */ -+#define SHFL_TYPE_DEV_CHAR 0020000U -+/* Directory (S_IFDIR). */ -+#define SHFL_TYPE_DIRECTORY 0040000U -+/* Block device (S_IFBLK). */ -+#define SHFL_TYPE_DEV_BLOCK 0060000U -+/* Regular file (S_IFREG). */ -+#define SHFL_TYPE_FILE 0100000U -+/* Symbolic link (S_IFLNK). */ -+#define SHFL_TYPE_SYMLINK 0120000U -+/* Socket (S_IFSOCK). */ -+#define SHFL_TYPE_SOCKET 0140000U -+/* Whiteout (S_IFWHT). */ -+#define SHFL_TYPE_WHITEOUT 0160000U -+/* Type mask (S_IFMT). */ -+#define SHFL_TYPE_MASK 0170000U -+ -+/* Checks the mode flags indicate a directory (S_ISDIR). */ -+#define SHFL_IS_DIRECTORY(m) (((m) & SHFL_TYPE_MASK) == SHFL_TYPE_DIRECTORY) -+/* Checks the mode flags indicate a symbolic link (S_ISLNK). */ -+#define SHFL_IS_SYMLINK(m) (((m) & SHFL_TYPE_MASK) == SHFL_TYPE_SYMLINK) -+ -+/** The available additional information in a shfl_fsobjattr object. */ -+enum shfl_fsobjattr_add { -+ /** No additional information is available / requested. */ -+ SHFLFSOBJATTRADD_NOTHING = 1, -+ /** -+ * The additional unix attributes (shfl_fsobjattr::u::unix_attr) are -+ * available / requested. -+ */ -+ SHFLFSOBJATTRADD_UNIX, -+ /** -+ * The additional extended attribute size (shfl_fsobjattr::u::size) is -+ * available / requested. -+ */ -+ SHFLFSOBJATTRADD_EASIZE, -+ /** -+ * The last valid item (inclusive). -+ * The valid range is SHFLFSOBJATTRADD_NOTHING thru -+ * SHFLFSOBJATTRADD_LAST. -+ */ -+ SHFLFSOBJATTRADD_LAST = SHFLFSOBJATTRADD_EASIZE, -+ -+ /** The usual 32-bit hack. */ -+ SHFLFSOBJATTRADD_32BIT_SIZE_HACK = 0x7fffffff -+}; -+ -+/** -+ * Additional unix Attributes, these are available when -+ * shfl_fsobjattr.additional == SHFLFSOBJATTRADD_UNIX. -+ */ -+struct shfl_fsobjattr_unix { -+ /** -+ * The user owning the filesystem object (st_uid). -+ * This field is ~0U if not supported. -+ */ -+ u32 uid; -+ -+ /** -+ * The group the filesystem object is assigned (st_gid). -+ * This field is ~0U if not supported. -+ */ -+ u32 gid; -+ -+ /** -+ * Number of hard links to this filesystem object (st_nlink). -+ * This field is 1 if the filesystem doesn't support hardlinking or -+ * the information isn't available. -+ */ -+ u32 hardlinks; -+ -+ /** -+ * The device number of the device which this filesystem object resides -+ * on (st_dev). This field is 0 if this information is not available. -+ */ -+ u32 inode_id_device; -+ -+ /** -+ * The unique identifier (within the filesystem) of this filesystem -+ * object (st_ino). Together with inode_id_device, this field can be -+ * used as a OS wide unique id, when both their values are not 0. -+ * This field is 0 if the information is not available. -+ */ -+ u64 inode_id; -+ -+ /** -+ * User flags (st_flags). -+ * This field is 0 if this information is not available. -+ */ -+ u32 flags; -+ -+ /** -+ * The current generation number (st_gen). -+ * This field is 0 if this information is not available. -+ */ -+ u32 generation_id; -+ -+ /** -+ * The device number of a char. or block device type object (st_rdev). -+ * This field is 0 if the file isn't a char. or block device or when -+ * the OS doesn't use the major+minor device idenfication scheme. -+ */ -+ u32 device; -+} __packed; -+ -+/** Extended attribute size. */ -+struct shfl_fsobjattr_easize { -+ /** Size of EAs. */ -+ s64 cb; -+} __packed; -+ -+/** Shared folder filesystem object attributes. */ -+struct shfl_fsobjattr { -+ /** Mode flags (st_mode). SHFL_UNIX_*, SHFL_TYPE_*, and SHFL_DOS_*. */ -+ u32 mode; -+ -+ /** The additional attributes available. */ -+ enum shfl_fsobjattr_add additional; -+ -+ /** -+ * Additional attributes. -+ * -+ * Unless explicitly specified to an API, the API can provide additional -+ * data as it is provided by the underlying OS. -+ */ -+ union { -+ struct shfl_fsobjattr_unix unix_attr; -+ struct shfl_fsobjattr_easize size; -+ } __packed u; -+} __packed; -+VMMDEV_ASSERT_SIZE(shfl_fsobjattr, 44); -+ -+struct shfl_timespec { -+ s64 ns_relative_to_unix_epoch; -+}; -+ -+/** Filesystem object information structure. */ -+struct shfl_fsobjinfo { -+ /** -+ * Logical size (st_size). -+ * For normal files this is the size of the file. -+ * For symbolic links, this is the length of the path name contained -+ * in the symbolic link. -+ * For other objects this fields needs to be specified. -+ */ -+ s64 size; -+ -+ /** Disk allocation size (st_blocks * DEV_BSIZE). */ -+ s64 allocated; -+ -+ /** Time of last access (st_atime). */ -+ struct shfl_timespec access_time; -+ -+ /** Time of last data modification (st_mtime). */ -+ struct shfl_timespec modification_time; -+ -+ /** -+ * Time of last status change (st_ctime). -+ * If not available this is set to modification_time. -+ */ -+ struct shfl_timespec change_time; -+ -+ /** -+ * Time of file birth (st_birthtime). -+ * If not available this is set to change_time. -+ */ -+ struct shfl_timespec birth_time; -+ -+ /** Attributes. */ -+ struct shfl_fsobjattr attr; -+ -+} __packed; -+VMMDEV_ASSERT_SIZE(shfl_fsobjinfo, 92); -+ -+/** -+ * result of an open/create request. -+ * Along with handle value the result code -+ * identifies what has happened while -+ * trying to open the object. -+ */ -+enum shfl_create_result { -+ SHFL_NO_RESULT, -+ /** Specified path does not exist. */ -+ SHFL_PATH_NOT_FOUND, -+ /** Path to file exists, but the last component does not. */ -+ SHFL_FILE_NOT_FOUND, -+ /** File already exists and either has been opened or not. */ -+ SHFL_FILE_EXISTS, -+ /** New file was created. */ -+ SHFL_FILE_CREATED, -+ /** Existing file was replaced or overwritten. */ -+ SHFL_FILE_REPLACED -+}; -+ -+/* No flags. Initialization value. */ -+#define SHFL_CF_NONE (0x00000000) -+ -+/* -+ * Only lookup the object, do not return a handle. When this is set all other -+ * flags are ignored. -+ */ -+#define SHFL_CF_LOOKUP (0x00000001) -+ -+/* -+ * Open parent directory of specified object. -+ * Useful for the corresponding Windows FSD flag -+ * and for opening paths like \\dir\\*.* to search the 'dir'. -+ */ -+#define SHFL_CF_OPEN_TARGET_DIRECTORY (0x00000002) -+ -+/* Create/open a directory. */ -+#define SHFL_CF_DIRECTORY (0x00000004) -+ -+/* -+ * Open/create action to do if object exists -+ * and if the object does not exists. -+ * REPLACE file means atomically DELETE and CREATE. -+ * OVERWRITE file means truncating the file to 0 and -+ * setting new size. -+ * When opening an existing directory REPLACE and OVERWRITE -+ * actions are considered invalid, and cause returning -+ * FILE_EXISTS with NIL handle. -+ */ -+#define SHFL_CF_ACT_MASK_IF_EXISTS (0x000000f0) -+#define SHFL_CF_ACT_MASK_IF_NEW (0x00000f00) -+ -+/* What to do if object exists. */ -+#define SHFL_CF_ACT_OPEN_IF_EXISTS (0x00000000) -+#define SHFL_CF_ACT_FAIL_IF_EXISTS (0x00000010) -+#define SHFL_CF_ACT_REPLACE_IF_EXISTS (0x00000020) -+#define SHFL_CF_ACT_OVERWRITE_IF_EXISTS (0x00000030) -+ -+/* What to do if object does not exist. */ -+#define SHFL_CF_ACT_CREATE_IF_NEW (0x00000000) -+#define SHFL_CF_ACT_FAIL_IF_NEW (0x00000100) -+ -+/* Read/write requested access for the object. */ -+#define SHFL_CF_ACCESS_MASK_RW (0x00003000) -+ -+/* No access requested. */ -+#define SHFL_CF_ACCESS_NONE (0x00000000) -+/* Read access requested. */ -+#define SHFL_CF_ACCESS_READ (0x00001000) -+/* Write access requested. */ -+#define SHFL_CF_ACCESS_WRITE (0x00002000) -+/* Read/Write access requested. */ -+#define SHFL_CF_ACCESS_READWRITE (0x00003000) -+ -+/* Requested share access for the object. */ -+#define SHFL_CF_ACCESS_MASK_DENY (0x0000c000) -+ -+/* Allow any access. */ -+#define SHFL_CF_ACCESS_DENYNONE (0x00000000) -+/* Do not allow read. */ -+#define SHFL_CF_ACCESS_DENYREAD (0x00004000) -+/* Do not allow write. */ -+#define SHFL_CF_ACCESS_DENYWRITE (0x00008000) -+/* Do not allow access. */ -+#define SHFL_CF_ACCESS_DENYALL (0x0000c000) -+ -+/* Requested access to attributes of the object. */ -+#define SHFL_CF_ACCESS_MASK_ATTR (0x00030000) -+ -+/* No access requested. */ -+#define SHFL_CF_ACCESS_ATTR_NONE (0x00000000) -+/* Read access requested. */ -+#define SHFL_CF_ACCESS_ATTR_READ (0x00010000) -+/* Write access requested. */ -+#define SHFL_CF_ACCESS_ATTR_WRITE (0x00020000) -+/* Read/Write access requested. */ -+#define SHFL_CF_ACCESS_ATTR_READWRITE (0x00030000) -+ -+/* -+ * The file is opened in append mode. -+ * Ignored if SHFL_CF_ACCESS_WRITE is not set. -+ */ -+#define SHFL_CF_ACCESS_APPEND (0x00040000) -+ -+/** Create parameters buffer struct for SHFL_FN_CREATE call */ -+struct shfl_createparms { -+ /** Returned handle of opened object. */ -+ u64 handle; -+ -+ /** Returned result of the operation */ -+ enum shfl_create_result result; -+ -+ /** SHFL_CF_* */ -+ u32 create_flags; -+ -+ /** -+ * Attributes of object to create and -+ * returned actual attributes of opened/created object. -+ */ -+ struct shfl_fsobjinfo info; -+} __packed; -+ -+/** Shared Folder directory information */ -+struct shfl_dirinfo { -+ /** Full information about the object. */ -+ struct shfl_fsobjinfo info; -+ /** -+ * The length of the short field (number of UTF16 chars). -+ * It is 16-bit for reasons of alignment. -+ */ -+ u16 short_name_len; -+ /** -+ * The short name for 8.3 compatibility. -+ * Empty string if not available. -+ */ -+ u16 short_name[14]; -+ struct shfl_string name; -+}; -+ -+/** Shared folder filesystem properties. */ -+struct shfl_fsproperties { -+ /** -+ * The maximum size of a filesystem object name. -+ * This does not include the '\\0'. -+ */ -+ u32 max_component_len; -+ -+ /** -+ * True if the filesystem is remote. -+ * False if the filesystem is local. -+ */ -+ bool remote; -+ -+ /** -+ * True if the filesystem is case sensitive. -+ * False if the filesystem is case insensitive. -+ */ -+ bool case_sensitive; -+ -+ /** -+ * True if the filesystem is mounted read only. -+ * False if the filesystem is mounted read write. -+ */ -+ bool read_only; -+ -+ /** -+ * True if the filesystem can encode unicode object names. -+ * False if it can't. -+ */ -+ bool supports_unicode; -+ -+ /** -+ * True if the filesystem is compresses. -+ * False if it isn't or we don't know. -+ */ -+ bool compressed; -+ -+ /** -+ * True if the filesystem compresses of individual files. -+ * False if it doesn't or we don't know. -+ */ -+ bool file_compression; -+}; -+VMMDEV_ASSERT_SIZE(shfl_fsproperties, 12); -+ -+struct shfl_volinfo { -+ s64 total_allocation_bytes; -+ s64 available_allocation_bytes; -+ u32 bytes_per_allocation_unit; -+ u32 bytes_per_sector; -+ u32 serial; -+ struct shfl_fsproperties properties; -+}; -+ -+ -+/** SHFL_FN_MAP_FOLDER Parameters structure. */ -+struct shfl_map_folder { -+ /** -+ * pointer, in: -+ * Points to struct shfl_string buffer. -+ */ -+ struct vmmdev_hgcm_function_parameter path; -+ -+ /** -+ * pointer, out: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: UTF16 -+ * Path delimiter -+ */ -+ struct vmmdev_hgcm_function_parameter delimiter; -+ -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Case senstive flag -+ */ -+ struct vmmdev_hgcm_function_parameter case_sensitive; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_MAP_FOLDER (4) -+ -+ -+/** SHFL_FN_UNMAP_FOLDER Parameters structure. */ -+struct shfl_unmap_folder { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_UNMAP_FOLDER (1) -+ -+ -+/** SHFL_FN_CREATE Parameters structure. */ -+struct shfl_create { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string buffer. -+ */ -+ struct vmmdev_hgcm_function_parameter path; -+ -+ /** -+ * pointer, in/out: -+ * Points to struct shfl_createparms buffer. -+ */ -+ struct vmmdev_hgcm_function_parameter parms; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_CREATE (3) -+ -+ -+/** SHFL_FN_CLOSE Parameters structure. */ -+struct shfl_close { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * value64, in: -+ * SHFLHANDLE (u64) of object to close. -+ */ -+ struct vmmdev_hgcm_function_parameter handle; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_CLOSE (2) -+ -+ -+/** SHFL_FN_READ Parameters structure. */ -+struct shfl_read { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * value64, in: -+ * SHFLHANDLE (u64) of object to read from. -+ */ -+ struct vmmdev_hgcm_function_parameter handle; -+ -+ /** -+ * value64, in: -+ * Offset to read from. -+ */ -+ struct vmmdev_hgcm_function_parameter offset; -+ -+ /** -+ * value64, in/out: -+ * Bytes to read/How many were read. -+ */ -+ struct vmmdev_hgcm_function_parameter cb; -+ -+ /** -+ * pointer, out: -+ * Buffer to place data to. -+ */ -+ struct vmmdev_hgcm_function_parameter buffer; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_READ (5) -+ -+ -+/** SHFL_FN_WRITE Parameters structure. */ -+struct shfl_write { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * value64, in: -+ * SHFLHANDLE (u64) of object to write to. -+ */ -+ struct vmmdev_hgcm_function_parameter handle; -+ -+ /** -+ * value64, in: -+ * Offset to write to. -+ */ -+ struct vmmdev_hgcm_function_parameter offset; -+ -+ /** -+ * value64, in/out: -+ * Bytes to write/How many were written. -+ */ -+ struct vmmdev_hgcm_function_parameter cb; -+ -+ /** -+ * pointer, in: -+ * Data to write. -+ */ -+ struct vmmdev_hgcm_function_parameter buffer; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_WRITE (5) -+ -+ -+/* -+ * SHFL_FN_LIST -+ * Listing information includes variable length RTDIRENTRY[EX] structures. -+ */ -+ -+#define SHFL_LIST_NONE 0 -+#define SHFL_LIST_RETURN_ONE 1 -+ -+/** SHFL_FN_LIST Parameters structure. */ -+struct shfl_list { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * value64, in: -+ * SHFLHANDLE (u64) of object to be listed. -+ */ -+ struct vmmdev_hgcm_function_parameter handle; -+ -+ /** -+ * value32, in: -+ * List flags SHFL_LIST_*. -+ */ -+ struct vmmdev_hgcm_function_parameter flags; -+ -+ /** -+ * value32, in/out: -+ * Bytes to be used for listing information/How many bytes were used. -+ */ -+ struct vmmdev_hgcm_function_parameter cb; -+ -+ /** -+ * pointer, in/optional -+ * Points to struct shfl_string buffer that specifies a search path. -+ */ -+ struct vmmdev_hgcm_function_parameter path; -+ -+ /** -+ * pointer, out: -+ * Buffer to place listing information to. (struct shfl_dirinfo) -+ */ -+ struct vmmdev_hgcm_function_parameter buffer; -+ -+ /** -+ * value32, in/out: -+ * Indicates a key where the listing must be resumed. -+ * in: 0 means start from begin of object. -+ * out: 0 means listing completed. -+ */ -+ struct vmmdev_hgcm_function_parameter resume_point; -+ -+ /** -+ * pointer, out: -+ * Number of files returned -+ */ -+ struct vmmdev_hgcm_function_parameter file_count; -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_LIST (8) -+ -+ -+/** SHFL_FN_READLINK Parameters structure. */ -+struct shfl_readLink { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string buffer. -+ */ -+ struct vmmdev_hgcm_function_parameter path; -+ -+ /** -+ * pointer, out: -+ * Buffer to place data to. -+ */ -+ struct vmmdev_hgcm_function_parameter buffer; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_READLINK (3) -+ -+ -+/* SHFL_FN_INFORMATION */ -+ -+/* Mask of Set/Get bit. */ -+#define SHFL_INFO_MODE_MASK (0x1) -+/* Get information */ -+#define SHFL_INFO_GET (0x0) -+/* Set information */ -+#define SHFL_INFO_SET (0x1) -+ -+/* Get name of the object. */ -+#define SHFL_INFO_NAME (0x2) -+/* Set size of object (extend/trucate); only applies to file objects */ -+#define SHFL_INFO_SIZE (0x4) -+/* Get/Set file object info. */ -+#define SHFL_INFO_FILE (0x8) -+/* Get volume information. */ -+#define SHFL_INFO_VOLUME (0x10) -+ -+/** SHFL_FN_INFORMATION Parameters structure. */ -+struct shfl_information { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * value64, in: -+ * SHFLHANDLE (u64) of object to be listed. -+ */ -+ struct vmmdev_hgcm_function_parameter handle; -+ -+ /** -+ * value32, in: -+ * SHFL_INFO_* -+ */ -+ struct vmmdev_hgcm_function_parameter flags; -+ -+ /** -+ * value32, in/out: -+ * Bytes to be used for information/How many bytes were used. -+ */ -+ struct vmmdev_hgcm_function_parameter cb; -+ -+ /** -+ * pointer, in/out: -+ * Information to be set/get (shfl_fsobjinfo or shfl_string). Do not -+ * forget to set the shfl_fsobjinfo::attr::additional for a get -+ * operation as well. -+ */ -+ struct vmmdev_hgcm_function_parameter info; -+ -+}; -+ -+/* Number of parameters */ -+#define SHFL_CPARMS_INFORMATION (5) -+ -+ -+/* SHFL_FN_REMOVE */ -+ -+#define SHFL_REMOVE_FILE (0x1) -+#define SHFL_REMOVE_DIR (0x2) -+#define SHFL_REMOVE_SYMLINK (0x4) -+ -+/** SHFL_FN_REMOVE Parameters structure. */ -+struct shfl_remove { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string buffer. -+ */ -+ struct vmmdev_hgcm_function_parameter path; -+ -+ /** -+ * value32, in: -+ * remove flags (file/directory) -+ */ -+ struct vmmdev_hgcm_function_parameter flags; -+ -+}; -+ -+#define SHFL_CPARMS_REMOVE (3) -+ -+ -+/* SHFL_FN_RENAME */ -+ -+#define SHFL_RENAME_FILE (0x1) -+#define SHFL_RENAME_DIR (0x2) -+#define SHFL_RENAME_REPLACE_IF_EXISTS (0x4) -+ -+/** SHFL_FN_RENAME Parameters structure. */ -+struct shfl_rename { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string src. -+ */ -+ struct vmmdev_hgcm_function_parameter src; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string dest. -+ */ -+ struct vmmdev_hgcm_function_parameter dest; -+ -+ /** -+ * value32, in: -+ * rename flags (file/directory) -+ */ -+ struct vmmdev_hgcm_function_parameter flags; -+ -+}; -+ -+#define SHFL_CPARMS_RENAME (4) -+ -+ -+/** SHFL_FN_SYMLINK Parameters structure. */ -+struct shfl_symlink { -+ /** -+ * pointer, in: SHFLROOT (u32) -+ * Root handle of the mapping which name is queried. -+ */ -+ struct vmmdev_hgcm_function_parameter root; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string of path for the new symlink. -+ */ -+ struct vmmdev_hgcm_function_parameter new_path; -+ -+ /** -+ * pointer, in: -+ * Points to struct shfl_string of destination for symlink. -+ */ -+ struct vmmdev_hgcm_function_parameter old_path; -+ -+ /** -+ * pointer, out: -+ * Information about created symlink. -+ */ -+ struct vmmdev_hgcm_function_parameter info; -+ -+}; -+ -+#define SHFL_CPARMS_SYMLINK (4) -+ -+#endif -diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c -new file mode 100644 -index 000000000000..b14ecd2948f4 ---- /dev/null -+++ b/fs/vboxsf/super.c -@@ -0,0 +1,497 @@ -+// SPDX-License-Identifier: MIT -+/* -+ * VirtualBox Guest Shared Folders support: Virtual File System. -+ * -+ * Module initialization/finalization -+ * File system registration/deregistration -+ * Superblock reading -+ * Few utility functions -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#include <linux/idr.h> -+#include <linux/fs_parser.h> -+#include <linux/magic.h> -+#include <linux/module.h> -+#include <linux/nls.h> -+#include <linux/statfs.h> -+#include <linux/vbox_utils.h> -+#include "vfsmod.h" -+ -+#define VBOXSF_SUPER_MAGIC 0x786f4256 /* 'VBox' little endian */ -+ -+#define VBSF_MOUNT_SIGNATURE_BYTE_0 ('\000') -+#define VBSF_MOUNT_SIGNATURE_BYTE_1 ('\377') -+#define VBSF_MOUNT_SIGNATURE_BYTE_2 ('\376') -+#define VBSF_MOUNT_SIGNATURE_BYTE_3 ('\375') -+ -+static int follow_symlinks; -+module_param(follow_symlinks, int, 0444); -+MODULE_PARM_DESC(follow_symlinks, -+ "Let host resolve symlinks rather than showing them"); -+ -+static DEFINE_IDA(vboxsf_bdi_ida); -+static DEFINE_MUTEX(vboxsf_setup_mutex); -+static bool vboxsf_setup_done; -+static struct super_operations vboxsf_super_ops; /* forward declaration */ -+static struct kmem_cache *vboxsf_inode_cachep; -+ -+static char * const vboxsf_default_nls = CONFIG_NLS_DEFAULT; -+ -+enum { opt_nls, opt_uid, opt_gid, opt_ttl, opt_dmode, opt_fmode, -+ opt_dmask, opt_fmask }; -+ -+static const struct fs_parameter_spec vboxsf_param_specs[] = { -+ fsparam_string ("nls", opt_nls), -+ fsparam_u32 ("uid", opt_uid), -+ fsparam_u32 ("gid", opt_gid), -+ fsparam_u32 ("ttl", opt_ttl), -+ fsparam_u32oct ("dmode", opt_dmode), -+ fsparam_u32oct ("fmode", opt_fmode), -+ fsparam_u32oct ("dmask", opt_dmask), -+ fsparam_u32oct ("fmask", opt_fmask), -+ {} -+}; -+ -+static const struct fs_parameter_description vboxsf_fs_parameters = { -+ .name = "vboxsf", -+ .specs = vboxsf_param_specs, -+}; -+ -+static int vboxsf_parse_param(struct fs_context *fc, struct fs_parameter *param) -+{ -+ struct vboxsf_fs_context *ctx = fc->fs_private; -+ struct fs_parse_result result; -+ kuid_t uid; -+ kgid_t gid; -+ int opt; -+ -+ opt = fs_parse(fc, &vboxsf_fs_parameters, param, &result); -+ if (opt < 0) -+ return opt; -+ -+ switch (opt) { -+ case opt_nls: -+ if (ctx->nls_name || fc->purpose != FS_CONTEXT_FOR_MOUNT) { -+ vbg_err("vboxsf: Cannot reconfigure nls option\n"); -+ return -EINVAL; -+ } -+ ctx->nls_name = param->string; -+ param->string = NULL; -+ break; -+ case opt_uid: -+ uid = make_kuid(current_user_ns(), result.uint_32); -+ if (!uid_valid(uid)) -+ return -EINVAL; -+ ctx->o.uid = uid; -+ break; -+ case opt_gid: -+ gid = make_kgid(current_user_ns(), result.uint_32); -+ if (!gid_valid(gid)) -+ return -EINVAL; -+ ctx->o.gid = gid; -+ break; -+ case opt_ttl: -+ ctx->o.ttl = msecs_to_jiffies(result.uint_32); -+ break; -+ case opt_dmode: -+ if (result.uint_32 & ~0777) -+ return -EINVAL; -+ ctx->o.dmode = result.uint_32; -+ ctx->o.dmode_set = true; -+ break; -+ case opt_fmode: -+ if (result.uint_32 & ~0777) -+ return -EINVAL; -+ ctx->o.fmode = result.uint_32; -+ ctx->o.fmode_set = true; -+ break; -+ case opt_dmask: -+ if (result.uint_32 & ~07777) -+ return -EINVAL; -+ ctx->o.dmask = result.uint_32; -+ break; -+ case opt_fmask: -+ if (result.uint_32 & ~07777) -+ return -EINVAL; -+ ctx->o.fmask = result.uint_32; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc) -+{ -+ struct vboxsf_fs_context *ctx = fc->fs_private; -+ struct shfl_string *folder_name, root_path; -+ struct vboxsf_sbi *sbi; -+ struct dentry *droot; -+ struct inode *iroot; -+ char *nls_name; -+ size_t size; -+ int err; -+ -+ if (!fc->source) -+ return -EINVAL; -+ -+ sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); -+ if (!sbi) -+ return -ENOMEM; -+ -+ sbi->o = ctx->o; -+ idr_init(&sbi->ino_idr); -+ spin_lock_init(&sbi->ino_idr_lock); -+ sbi->next_generation = 1; -+ sbi->bdi_id = -1; -+ -+ /* Load nls if not utf8 */ -+ nls_name = ctx->nls_name ? ctx->nls_name : vboxsf_default_nls; -+ if (strcmp(nls_name, "utf8") != 0) { -+ if (nls_name == vboxsf_default_nls) -+ sbi->nls = load_nls_default(); -+ else -+ sbi->nls = load_nls(nls_name); -+ -+ if (!sbi->nls) { -+ vbg_err("vboxsf: Count not load '%s' nls\n", nls_name); -+ err = -EINVAL; -+ goto fail_free; -+ } -+ } -+ -+ sbi->bdi_id = ida_simple_get(&vboxsf_bdi_ida, 0, 0, GFP_KERNEL); -+ if (sbi->bdi_id < 0) { -+ err = sbi->bdi_id; -+ goto fail_free; -+ } -+ -+ err = super_setup_bdi_name(sb, "vboxsf-%s.%d", fc->source, sbi->bdi_id); -+ if (err) -+ goto fail_free; -+ -+ /* Turn source into a shfl_string and map the folder */ -+ size = strlen(fc->source) + 1; -+ folder_name = kmalloc(SHFLSTRING_HEADER_SIZE + size, GFP_KERNEL); -+ if (!folder_name) { -+ err = -ENOMEM; -+ goto fail_free; -+ } -+ folder_name->size = size; -+ folder_name->length = size - 1; -+ strlcpy(folder_name->string.utf8, fc->source, size); -+ err = vboxsf_map_folder(folder_name, &sbi->root); -+ kfree(folder_name); -+ if (err) { -+ vbg_err("vboxsf: Host rejected mount of '%s' with error %d\n", -+ fc->source, err); -+ goto fail_free; -+ } -+ -+ root_path.length = 1; -+ root_path.size = 2; -+ root_path.string.utf8[0] = '/'; -+ root_path.string.utf8[1] = 0; -+ err = vboxsf_stat(sbi, &root_path, &sbi->root_info); -+ if (err) -+ goto fail_unmap; -+ -+ sb->s_magic = VBOXSF_SUPER_MAGIC; -+ sb->s_blocksize = 1024; -+ sb->s_maxbytes = MAX_LFS_FILESIZE; -+ sb->s_op = &vboxsf_super_ops; -+ sb->s_d_op = &vboxsf_dentry_ops; -+ -+ iroot = iget_locked(sb, 0); -+ if (!iroot) { -+ err = -ENOMEM; -+ goto fail_unmap; -+ } -+ vboxsf_init_inode(sbi, iroot, &sbi->root_info); -+ unlock_new_inode(iroot); -+ -+ droot = d_make_root(iroot); -+ if (!droot) { -+ err = -ENOMEM; -+ goto fail_unmap; -+ } -+ -+ sb->s_root = droot; -+ sb->s_fs_info = sbi; -+ return 0; -+ -+fail_unmap: -+ vboxsf_unmap_folder(sbi->root); -+fail_free: -+ if (sbi->bdi_id >= 0) -+ ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id); -+ if (sbi->nls) -+ unload_nls(sbi->nls); -+ idr_destroy(&sbi->ino_idr); -+ kfree(sbi); -+ return err; -+} -+ -+static void vboxsf_inode_init_once(void *data) -+{ -+ struct vboxsf_inode *sf_i = data; -+ -+ mutex_init(&sf_i->handle_list_mutex); -+ inode_init_once(&sf_i->vfs_inode); -+} -+ -+static struct inode *vboxsf_alloc_inode(struct super_block *sb) -+{ -+ struct vboxsf_inode *sf_i; -+ -+ sf_i = kmem_cache_alloc(vboxsf_inode_cachep, GFP_NOFS); -+ if (!sf_i) -+ return NULL; -+ -+ sf_i->force_restat = 0; -+ INIT_LIST_HEAD(&sf_i->handle_list); -+ -+ return &sf_i->vfs_inode; -+} -+ -+static void vboxsf_free_inode(struct inode *inode) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb); -+ unsigned long flags; -+ -+ spin_lock_irqsave(&sbi->ino_idr_lock, flags); -+ idr_remove(&sbi->ino_idr, inode->i_ino); -+ spin_unlock_irqrestore(&sbi->ino_idr_lock, flags); -+ kmem_cache_free(vboxsf_inode_cachep, VBOXSF_I(inode)); -+} -+ -+static void vboxsf_put_super(struct super_block *sb) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(sb); -+ -+ vboxsf_unmap_folder(sbi->root); -+ if (sbi->bdi_id >= 0) -+ ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id); -+ if (sbi->nls) -+ unload_nls(sbi->nls); -+ -+ /* -+ * vboxsf_free_inode uses the idr, make sure all delayed rcu free -+ * inodes are flushed. -+ */ -+ rcu_barrier(); -+ idr_destroy(&sbi->ino_idr); -+ kfree(sbi); -+} -+ -+static int vboxsf_statfs(struct dentry *dentry, struct kstatfs *stat) -+{ -+ struct super_block *sb = dentry->d_sb; -+ struct shfl_volinfo shfl_volinfo; -+ struct vboxsf_sbi *sbi; -+ u32 buf_len; -+ int err; -+ -+ sbi = VBOXSF_SBI(sb); -+ buf_len = sizeof(shfl_volinfo); -+ err = vboxsf_fsinfo(sbi->root, 0, SHFL_INFO_GET | SHFL_INFO_VOLUME, -+ &buf_len, &shfl_volinfo); -+ if (err) -+ return err; -+ -+ stat->f_type = VBOXSF_SUPER_MAGIC; -+ stat->f_bsize = shfl_volinfo.bytes_per_allocation_unit; -+ -+ do_div(shfl_volinfo.total_allocation_bytes, -+ shfl_volinfo.bytes_per_allocation_unit); -+ stat->f_blocks = shfl_volinfo.total_allocation_bytes; -+ -+ do_div(shfl_volinfo.available_allocation_bytes, -+ shfl_volinfo.bytes_per_allocation_unit); -+ stat->f_bfree = shfl_volinfo.available_allocation_bytes; -+ stat->f_bavail = shfl_volinfo.available_allocation_bytes; -+ -+ stat->f_files = 1000; -+ /* -+ * Don't return 0 here since the guest may then think that it is not -+ * possible to create any more files. -+ */ -+ stat->f_ffree = 1000000; -+ stat->f_fsid.val[0] = 0; -+ stat->f_fsid.val[1] = 0; -+ stat->f_namelen = 255; -+ return 0; -+} -+ -+static struct super_operations vboxsf_super_ops = { -+ .alloc_inode = vboxsf_alloc_inode, -+ .free_inode = vboxsf_free_inode, -+ .put_super = vboxsf_put_super, -+ .statfs = vboxsf_statfs, -+}; -+ -+static int vboxsf_setup(void) -+{ -+ int err; -+ -+ mutex_lock(&vboxsf_setup_mutex); -+ -+ if (vboxsf_setup_done) -+ goto success; -+ -+ vboxsf_inode_cachep = -+ kmem_cache_create("vboxsf_inode_cache", -+ sizeof(struct vboxsf_inode), 0, -+ (SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD | -+ SLAB_ACCOUNT), -+ vboxsf_inode_init_once); -+ if (!vboxsf_inode_cachep) { -+ err = -ENOMEM; -+ goto fail_nomem; -+ } -+ -+ err = vboxsf_connect(); -+ if (err) { -+ vbg_err("vboxsf: err %d connecting to guest PCI-device\n", err); -+ vbg_err("vboxsf: make sure you are inside a VirtualBox VM\n"); -+ vbg_err("vboxsf: and check dmesg for vboxguest errors\n"); -+ goto fail_free_cache; -+ } -+ -+ err = vboxsf_set_utf8(); -+ if (err) { -+ vbg_err("vboxsf_setutf8 error %d\n", err); -+ goto fail_disconnect; -+ } -+ -+ if (!follow_symlinks) { -+ err = vboxsf_set_symlinks(); -+ if (err) -+ vbg_warn("vboxsf: Unable to show symlinks: %d\n", err); -+ } -+ -+ vboxsf_setup_done = true; -+success: -+ mutex_unlock(&vboxsf_setup_mutex); -+ return 0; -+ -+fail_disconnect: -+ vboxsf_disconnect(); -+fail_free_cache: -+ kmem_cache_destroy(vboxsf_inode_cachep); -+fail_nomem: -+ mutex_unlock(&vboxsf_setup_mutex); -+ return err; -+} -+ -+static int vboxsf_parse_monolithic(struct fs_context *fc, void *data) -+{ -+ char *options = data; -+ -+ if (options && options[0] == VBSF_MOUNT_SIGNATURE_BYTE_0 && -+ options[1] == VBSF_MOUNT_SIGNATURE_BYTE_1 && -+ options[2] == VBSF_MOUNT_SIGNATURE_BYTE_2 && -+ options[3] == VBSF_MOUNT_SIGNATURE_BYTE_3) { -+ vbg_err("vboxsf: Old binary mount data not supported, remove obsolete mount.vboxsf and/or update your VBoxService.\n"); -+ return -EINVAL; -+ } -+ -+ return generic_parse_monolithic(fc, data); -+} -+ -+static int vboxsf_get_tree(struct fs_context *fc) -+{ -+ int err; -+ -+ err = vboxsf_setup(); -+ if (err) -+ return err; -+ -+ return get_tree_nodev(fc, vboxsf_fill_super); -+} -+ -+static int vboxsf_reconfigure(struct fs_context *fc) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(fc->root->d_sb); -+ struct vboxsf_fs_context *ctx = fc->fs_private; -+ struct inode *iroot = fc->root->d_sb->s_root->d_inode; -+ -+ /* Apply changed options to the root inode */ -+ sbi->o = ctx->o; -+ vboxsf_init_inode(sbi, iroot, &sbi->root_info); -+ -+ return 0; -+} -+ -+static void vboxsf_free_fc(struct fs_context *fc) -+{ -+ struct vboxsf_fs_context *ctx = fc->fs_private; -+ -+ kfree(ctx->nls_name); -+ kfree(ctx); -+} -+ -+static const struct fs_context_operations vboxsf_context_ops = { -+ .free = vboxsf_free_fc, -+ .parse_param = vboxsf_parse_param, -+ .parse_monolithic = vboxsf_parse_monolithic, -+ .get_tree = vboxsf_get_tree, -+ .reconfigure = vboxsf_reconfigure, -+}; -+ -+static int vboxsf_init_fs_context(struct fs_context *fc) -+{ -+ struct vboxsf_fs_context *ctx; -+ -+ ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); -+ if (!ctx) -+ return -ENOMEM; -+ -+ current_uid_gid(&ctx->o.uid, &ctx->o.gid); -+ -+ fc->fs_private = ctx; -+ fc->ops = &vboxsf_context_ops; -+ return 0; -+} -+ -+static struct file_system_type vboxsf_fs_type = { -+ .owner = THIS_MODULE, -+ .name = "vboxsf", -+ .init_fs_context = vboxsf_init_fs_context, -+ .parameters = &vboxsf_fs_parameters, -+ .kill_sb = kill_anon_super -+}; -+ -+/* Module initialization/finalization handlers */ -+static int __init vboxsf_init(void) -+{ -+ return register_filesystem(&vboxsf_fs_type); -+} -+ -+static void __exit vboxsf_fini(void) -+{ -+ unregister_filesystem(&vboxsf_fs_type); -+ -+ mutex_lock(&vboxsf_setup_mutex); -+ if (vboxsf_setup_done) { -+ vboxsf_disconnect(); -+ /* -+ * Make sure all delayed rcu free inodes are flushed -+ * before we destroy the cache. -+ */ -+ rcu_barrier(); -+ kmem_cache_destroy(vboxsf_inode_cachep); -+ } -+ mutex_unlock(&vboxsf_setup_mutex); -+} -+ -+module_init(vboxsf_init); -+module_exit(vboxsf_fini); -+ -+MODULE_DESCRIPTION("Oracle VM VirtualBox Module for Host File System Access"); -+MODULE_AUTHOR("Oracle Corporation"); -+MODULE_LICENSE("GPL v2"); -+MODULE_ALIAS_FS("vboxsf"); -diff --git a/fs/vboxsf/utils.c b/fs/vboxsf/utils.c -new file mode 100644 -index 000000000000..96bd160da48b ---- /dev/null -+++ b/fs/vboxsf/utils.c -@@ -0,0 +1,551 @@ -+// SPDX-License-Identifier: MIT -+/* -+ * VirtualBox Guest Shared Folders support: Utility functions. -+ * Mainly conversion from/to VirtualBox/Linux data structures. -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#include <linux/namei.h> -+#include <linux/nls.h> -+#include <linux/sizes.h> -+#include <linux/vfs.h> -+#include "vfsmod.h" -+ -+struct inode *vboxsf_new_inode(struct super_block *sb) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(sb); -+ struct inode *inode; -+ unsigned long flags; -+ int cursor, ret; -+ u32 gen; -+ -+ inode = new_inode(sb); -+ if (!inode) -+ return ERR_PTR(-ENOMEM); -+ -+ idr_preload(GFP_KERNEL); -+ spin_lock_irqsave(&sbi->ino_idr_lock, flags); -+ cursor = idr_get_cursor(&sbi->ino_idr); -+ ret = idr_alloc_cyclic(&sbi->ino_idr, inode, 1, 0, GFP_ATOMIC); -+ if (ret >= 0 && ret < cursor) -+ sbi->next_generation++; -+ gen = sbi->next_generation; -+ spin_unlock_irqrestore(&sbi->ino_idr_lock, flags); -+ idr_preload_end(); -+ -+ if (ret < 0) { -+ iput(inode); -+ return ERR_PTR(ret); -+ } -+ -+ inode->i_ino = ret; -+ inode->i_generation = gen; -+ return inode; -+} -+ -+/* set [inode] attributes based on [info], uid/gid based on [sbi] */ -+void vboxsf_init_inode(struct vboxsf_sbi *sbi, struct inode *inode, -+ const struct shfl_fsobjinfo *info) -+{ -+ const struct shfl_fsobjattr *attr; -+ s64 allocated; -+ int mode; -+ -+ attr = &info->attr; -+ -+#define mode_set(r) ((attr->mode & (SHFL_UNIX_##r)) ? (S_##r) : 0) -+ -+ mode = mode_set(IRUSR); -+ mode |= mode_set(IWUSR); -+ mode |= mode_set(IXUSR); -+ -+ mode |= mode_set(IRGRP); -+ mode |= mode_set(IWGRP); -+ mode |= mode_set(IXGRP); -+ -+ mode |= mode_set(IROTH); -+ mode |= mode_set(IWOTH); -+ mode |= mode_set(IXOTH); -+ -+#undef mode_set -+ -+ /* We use the host-side values for these */ -+ inode->i_flags |= S_NOATIME | S_NOCMTIME; -+ inode->i_mapping->a_ops = &vboxsf_reg_aops; -+ -+ if (SHFL_IS_DIRECTORY(attr->mode)) { -+ inode->i_mode = sbi->o.dmode_set ? sbi->o.dmode : mode; -+ inode->i_mode &= ~sbi->o.dmask; -+ inode->i_mode |= S_IFDIR; -+ inode->i_op = &vboxsf_dir_iops; -+ inode->i_fop = &vboxsf_dir_fops; -+ /* -+ * XXX: this probably should be set to the number of entries -+ * in the directory plus two (. ..) -+ */ -+ set_nlink(inode, 1); -+ } else if (SHFL_IS_SYMLINK(attr->mode)) { -+ inode->i_mode = sbi->o.fmode_set ? sbi->o.fmode : mode; -+ inode->i_mode &= ~sbi->o.fmask; -+ inode->i_mode |= S_IFLNK; -+ inode->i_op = &vboxsf_lnk_iops; -+ set_nlink(inode, 1); -+ } else { -+ inode->i_mode = sbi->o.fmode_set ? sbi->o.fmode : mode; -+ inode->i_mode &= ~sbi->o.fmask; -+ inode->i_mode |= S_IFREG; -+ inode->i_op = &vboxsf_reg_iops; -+ inode->i_fop = &vboxsf_reg_fops; -+ set_nlink(inode, 1); -+ } -+ -+ inode->i_uid = sbi->o.uid; -+ inode->i_gid = sbi->o.gid; -+ -+ inode->i_size = info->size; -+ inode->i_blkbits = 12; -+ /* i_blocks always in units of 512 bytes! */ -+ allocated = info->allocated + 511; -+ do_div(allocated, 512); -+ inode->i_blocks = allocated; -+ -+ inode->i_atime = ns_to_timespec64( -+ info->access_time.ns_relative_to_unix_epoch); -+ inode->i_ctime = ns_to_timespec64( -+ info->change_time.ns_relative_to_unix_epoch); -+ inode->i_mtime = ns_to_timespec64( -+ info->modification_time.ns_relative_to_unix_epoch); -+} -+ -+int vboxsf_create_at_dentry(struct dentry *dentry, -+ struct shfl_createparms *params) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb); -+ struct shfl_string *path; -+ int err; -+ -+ path = vboxsf_path_from_dentry(sbi, dentry); -+ if (IS_ERR(path)) -+ return PTR_ERR(path); -+ -+ err = vboxsf_create(sbi->root, path, params); -+ __putname(path); -+ -+ return err; -+} -+ -+int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path, -+ struct shfl_fsobjinfo *info) -+{ -+ struct shfl_createparms params = {}; -+ int err; -+ -+ params.handle = SHFL_HANDLE_NIL; -+ params.create_flags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; -+ -+ err = vboxsf_create(sbi->root, path, ¶ms); -+ if (err) -+ return err; -+ -+ if (params.result != SHFL_FILE_EXISTS) -+ return -ENOENT; -+ -+ if (info) -+ *info = params.info; -+ -+ return 0; -+} -+ -+int vboxsf_stat_dentry(struct dentry *dentry, struct shfl_fsobjinfo *info) -+{ -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb); -+ struct shfl_string *path; -+ int err; -+ -+ path = vboxsf_path_from_dentry(sbi, dentry); -+ if (IS_ERR(path)) -+ return PTR_ERR(path); -+ -+ err = vboxsf_stat(sbi, path, info); -+ __putname(path); -+ return err; -+} -+ -+int vboxsf_inode_revalidate(struct dentry *dentry) -+{ -+ struct vboxsf_sbi *sbi; -+ struct vboxsf_inode *sf_i; -+ struct shfl_fsobjinfo info; -+ struct timespec64 prev_mtime; -+ struct inode *inode; -+ int err; -+ -+ if (!dentry || !d_really_is_positive(dentry)) -+ return -EINVAL; -+ -+ inode = d_inode(dentry); -+ prev_mtime = inode->i_mtime; -+ sf_i = VBOXSF_I(inode); -+ sbi = VBOXSF_SBI(dentry->d_sb); -+ if (!sf_i->force_restat) { -+ if (time_before(jiffies, dentry->d_time + sbi->o.ttl)) -+ return 0; -+ } -+ -+ err = vboxsf_stat_dentry(dentry, &info); -+ if (err) -+ return err; -+ -+ dentry->d_time = jiffies; -+ sf_i->force_restat = 0; -+ vboxsf_init_inode(sbi, inode, &info); -+ -+ /* -+ * If the file was changed on the host side we need to invalidate the -+ * page-cache for it. Note this also gets triggered by our own writes, -+ * this is unavoidable. -+ */ -+ if (timespec64_compare(&inode->i_mtime, &prev_mtime) > 0) -+ invalidate_inode_pages2(inode->i_mapping); -+ -+ return 0; -+} -+ -+int vboxsf_getattr(const struct path *path, struct kstat *kstat, -+ u32 request_mask, unsigned int flags) -+{ -+ int err; -+ struct dentry *dentry = path->dentry; -+ struct inode *inode = d_inode(dentry); -+ struct vboxsf_inode *sf_i = VBOXSF_I(inode); -+ -+ switch (flags & AT_STATX_SYNC_TYPE) { -+ case AT_STATX_DONT_SYNC: -+ err = 0; -+ break; -+ case AT_STATX_FORCE_SYNC: -+ sf_i->force_restat = 1; -+ /* fall-through */ -+ default: -+ err = vboxsf_inode_revalidate(dentry); -+ } -+ if (err) -+ return err; -+ -+ generic_fillattr(d_inode(dentry), kstat); -+ return 0; -+} -+ -+int vboxsf_setattr(struct dentry *dentry, struct iattr *iattr) -+{ -+ struct vboxsf_inode *sf_i = VBOXSF_I(d_inode(dentry)); -+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb); -+ struct shfl_createparms params = {}; -+ struct shfl_fsobjinfo info = {}; -+ u32 buf_len; -+ int err; -+ -+ params.handle = SHFL_HANDLE_NIL; -+ params.create_flags = SHFL_CF_ACT_OPEN_IF_EXISTS | -+ SHFL_CF_ACT_FAIL_IF_NEW | -+ SHFL_CF_ACCESS_ATTR_WRITE; -+ -+ /* this is at least required for Posix hosts */ -+ if (iattr->ia_valid & ATTR_SIZE) -+ params.create_flags |= SHFL_CF_ACCESS_WRITE; -+ -+ err = vboxsf_create_at_dentry(dentry, ¶ms); -+ if (err || params.result != SHFL_FILE_EXISTS) -+ return err ? err : -ENOENT; -+ -+#define mode_set(r) ((iattr->ia_mode & (S_##r)) ? SHFL_UNIX_##r : 0) -+ -+ /* -+ * Setting the file size and setting the other attributes has to -+ * be handled separately. -+ */ -+ if (iattr->ia_valid & (ATTR_MODE | ATTR_ATIME | ATTR_MTIME)) { -+ if (iattr->ia_valid & ATTR_MODE) { -+ info.attr.mode = mode_set(IRUSR); -+ info.attr.mode |= mode_set(IWUSR); -+ info.attr.mode |= mode_set(IXUSR); -+ info.attr.mode |= mode_set(IRGRP); -+ info.attr.mode |= mode_set(IWGRP); -+ info.attr.mode |= mode_set(IXGRP); -+ info.attr.mode |= mode_set(IROTH); -+ info.attr.mode |= mode_set(IWOTH); -+ info.attr.mode |= mode_set(IXOTH); -+ -+ if (iattr->ia_mode & S_IFDIR) -+ info.attr.mode |= SHFL_TYPE_DIRECTORY; -+ else -+ info.attr.mode |= SHFL_TYPE_FILE; -+ } -+ -+ if (iattr->ia_valid & ATTR_ATIME) -+ info.access_time.ns_relative_to_unix_epoch = -+ timespec64_to_ns(&iattr->ia_atime); -+ -+ if (iattr->ia_valid & ATTR_MTIME) -+ info.modification_time.ns_relative_to_unix_epoch = -+ timespec64_to_ns(&iattr->ia_mtime); -+ -+ /* -+ * Ignore ctime (inode change time) as it can't be set -+ * from userland anyway. -+ */ -+ -+ buf_len = sizeof(info); -+ err = vboxsf_fsinfo(sbi->root, params.handle, -+ SHFL_INFO_SET | SHFL_INFO_FILE, &buf_len, -+ &info); -+ if (err) { -+ vboxsf_close(sbi->root, params.handle); -+ return err; -+ } -+ -+ /* the host may have given us different attr then requested */ -+ sf_i->force_restat = 1; -+ } -+ -+#undef mode_set -+ -+ if (iattr->ia_valid & ATTR_SIZE) { -+ memset(&info, 0, sizeof(info)); -+ info.size = iattr->ia_size; -+ buf_len = sizeof(info); -+ err = vboxsf_fsinfo(sbi->root, params.handle, -+ SHFL_INFO_SET | SHFL_INFO_SIZE, &buf_len, -+ &info); -+ if (err) { -+ vboxsf_close(sbi->root, params.handle); -+ return err; -+ } -+ -+ /* the host may have given us different attr then requested */ -+ sf_i->force_restat = 1; -+ } -+ -+ vboxsf_close(sbi->root, params.handle); -+ -+ /* Update the inode with what the host has actually given us. */ -+ if (sf_i->force_restat) -+ vboxsf_inode_revalidate(dentry); -+ -+ return 0; -+} -+ -+/* -+ * [dentry] contains string encoded in coding system that corresponds -+ * to [sbi]->nls, we must convert it to UTF8 here. -+ * Returns a shfl_string allocated through __getname (must be freed using -+ * __putname), or an ERR_PTR on error. -+ */ -+struct shfl_string *vboxsf_path_from_dentry(struct vboxsf_sbi *sbi, -+ struct dentry *dentry) -+{ -+ struct shfl_string *shfl_path; -+ int path_len, out_len, nb; -+ char *buf, *path; -+ wchar_t uni; -+ u8 *out; -+ -+ buf = __getname(); -+ if (!buf) -+ return ERR_PTR(-ENOMEM); -+ -+ path = dentry_path_raw(dentry, buf, PATH_MAX); -+ if (IS_ERR(path)) { -+ __putname(buf); -+ return ERR_CAST(path); -+ } -+ path_len = strlen(path); -+ -+ if (sbi->nls) { -+ shfl_path = __getname(); -+ if (!shfl_path) { -+ __putname(buf); -+ return ERR_PTR(-ENOMEM); -+ } -+ -+ out = shfl_path->string.utf8; -+ out_len = PATH_MAX - SHFLSTRING_HEADER_SIZE - 1; -+ -+ while (path_len) { -+ nb = sbi->nls->char2uni(path, path_len, &uni); -+ if (nb < 0) { -+ __putname(shfl_path); -+ __putname(buf); -+ return ERR_PTR(-EINVAL); -+ } -+ path += nb; -+ path_len -= nb; -+ -+ nb = utf32_to_utf8(uni, out, out_len); -+ if (nb < 0) { -+ __putname(shfl_path); -+ __putname(buf); -+ return ERR_PTR(-ENAMETOOLONG); -+ } -+ out += nb; -+ out_len -= nb; -+ } -+ *out = 0; -+ shfl_path->length = out - shfl_path->string.utf8; -+ shfl_path->size = shfl_path->length + 1; -+ __putname(buf); -+ } else { -+ if ((SHFLSTRING_HEADER_SIZE + path_len + 1) > PATH_MAX) { -+ __putname(buf); -+ return ERR_PTR(-ENAMETOOLONG); -+ } -+ /* -+ * dentry_path stores the name at the end of buf, but the -+ * shfl_string string we return must be properly aligned. -+ */ -+ shfl_path = (struct shfl_string *)buf; -+ memmove(shfl_path->string.utf8, path, path_len); -+ shfl_path->string.utf8[path_len] = 0; -+ shfl_path->length = path_len; -+ shfl_path->size = path_len + 1; -+ } -+ -+ return shfl_path; -+} -+ -+int vboxsf_nlscpy(struct vboxsf_sbi *sbi, char *name, size_t name_bound_len, -+ const unsigned char *utf8_name, size_t utf8_len) -+{ -+ const char *in; -+ char *out; -+ size_t out_len; -+ size_t out_bound_len; -+ size_t in_bound_len; -+ -+ in = utf8_name; -+ in_bound_len = utf8_len; -+ -+ out = name; -+ out_len = 0; -+ /* Reserve space for terminating 0 */ -+ out_bound_len = name_bound_len - 1; -+ -+ while (in_bound_len) { -+ int nb; -+ unicode_t uni; -+ -+ nb = utf8_to_utf32(in, in_bound_len, &uni); -+ if (nb < 0) -+ return -EINVAL; -+ -+ in += nb; -+ in_bound_len -= nb; -+ -+ nb = sbi->nls->uni2char(uni, out, out_bound_len); -+ if (nb < 0) -+ return nb; -+ -+ out += nb; -+ out_bound_len -= nb; -+ out_len += nb; -+ } -+ -+ *out = 0; -+ -+ return 0; -+} -+ -+static struct vboxsf_dir_buf *vboxsf_dir_buf_alloc(struct list_head *list) -+{ -+ struct vboxsf_dir_buf *b; -+ -+ b = kmalloc(sizeof(*b), GFP_KERNEL); -+ if (!b) -+ return NULL; -+ -+ b->buf = kmalloc(DIR_BUFFER_SIZE, GFP_KERNEL); -+ if (!b->buf) { -+ kfree(b); -+ return NULL; -+ } -+ -+ b->entries = 0; -+ b->used = 0; -+ b->free = DIR_BUFFER_SIZE; -+ list_add(&b->head, list); -+ -+ return b; -+} -+ -+static void vboxsf_dir_buf_free(struct vboxsf_dir_buf *b) -+{ -+ list_del(&b->head); -+ kfree(b->buf); -+ kfree(b); -+} -+ -+struct vboxsf_dir_info *vboxsf_dir_info_alloc(void) -+{ -+ struct vboxsf_dir_info *p; -+ -+ p = kmalloc(sizeof(*p), GFP_KERNEL); -+ if (!p) -+ return NULL; -+ -+ INIT_LIST_HEAD(&p->info_list); -+ return p; -+} -+ -+void vboxsf_dir_info_free(struct vboxsf_dir_info *p) -+{ -+ struct list_head *list, *pos, *tmp; -+ -+ list = &p->info_list; -+ list_for_each_safe(pos, tmp, list) { -+ struct vboxsf_dir_buf *b; -+ -+ b = list_entry(pos, struct vboxsf_dir_buf, head); -+ vboxsf_dir_buf_free(b); -+ } -+ kfree(p); -+} -+ -+int vboxsf_dir_read_all(struct vboxsf_sbi *sbi, struct vboxsf_dir_info *sf_d, -+ u64 handle) -+{ -+ struct vboxsf_dir_buf *b; -+ u32 entries, size; -+ int err = 0; -+ void *buf; -+ -+ /* vboxsf_dirinfo returns 1 on end of dir */ -+ while (err == 0) { -+ b = vboxsf_dir_buf_alloc(&sf_d->info_list); -+ if (!b) { -+ err = -ENOMEM; -+ break; -+ } -+ -+ buf = b->buf; -+ size = b->free; -+ -+ err = vboxsf_dirinfo(sbi->root, handle, NULL, 0, 0, -+ &size, buf, &entries); -+ if (err < 0) -+ break; -+ -+ b->entries += entries; -+ b->free -= size; -+ b->used += size; -+ } -+ -+ if (b && b->used == 0) -+ vboxsf_dir_buf_free(b); -+ -+ /* -EILSEQ means the host could not translate a filename, ignore */ -+ if (err > 0 || err == -EILSEQ) -+ err = 0; -+ -+ return err; -+} -diff --git a/fs/vboxsf/vboxsf_wrappers.c b/fs/vboxsf/vboxsf_wrappers.c -new file mode 100644 -index 000000000000..bfc78a097dae ---- /dev/null -+++ b/fs/vboxsf/vboxsf_wrappers.c -@@ -0,0 +1,371 @@ -+// SPDX-License-Identifier: MIT -+/* -+ * Wrapper functions for the shfl host calls. -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#include <linux/mm.h> -+#include <linux/slab.h> -+#include <linux/vbox_err.h> -+#include <linux/vbox_utils.h> -+#include "vfsmod.h" -+ -+#define SHFL_REQUEST \ -+ (VMMDEV_REQUESTOR_KERNEL | VMMDEV_REQUESTOR_USR_DRV_OTHER | \ -+ VMMDEV_REQUESTOR_CON_DONT_KNOW | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN) -+ -+static u32 vboxsf_client_id; -+ -+int vboxsf_connect(void) -+{ -+ struct vbg_dev *gdev; -+ struct vmmdev_hgcm_service_location loc; -+ int err, vbox_status; -+ -+ loc.type = VMMDEV_HGCM_LOC_LOCALHOST_EXISTING; -+ strcpy(loc.u.localhost.service_name, "VBoxSharedFolders"); -+ -+ gdev = vbg_get_gdev(); -+ if (IS_ERR(gdev)) -+ return -ENODEV; /* No guest-device */ -+ -+ err = vbg_hgcm_connect(gdev, SHFL_REQUEST, &loc, -+ &vboxsf_client_id, &vbox_status); -+ vbg_put_gdev(gdev); -+ -+ return err ? err : vbg_status_code_to_errno(vbox_status); -+} -+ -+void vboxsf_disconnect(void) -+{ -+ struct vbg_dev *gdev; -+ int vbox_status; -+ -+ gdev = vbg_get_gdev(); -+ if (IS_ERR(gdev)) -+ return; /* guest-device is gone, already disconnected */ -+ -+ vbg_hgcm_disconnect(gdev, SHFL_REQUEST, vboxsf_client_id, &vbox_status); -+ vbg_put_gdev(gdev); -+} -+ -+static int vboxsf_call(u32 function, void *parms, u32 parm_count, int *status) -+{ -+ struct vbg_dev *gdev; -+ int err, vbox_status; -+ -+ gdev = vbg_get_gdev(); -+ if (IS_ERR(gdev)) -+ return -ESHUTDOWN; /* guest-dev removed underneath us */ -+ -+ err = vbg_hgcm_call(gdev, SHFL_REQUEST, vboxsf_client_id, function, -+ U32_MAX, parms, parm_count, &vbox_status); -+ vbg_put_gdev(gdev); -+ -+ if (err < 0) -+ return err; -+ -+ if (status) -+ *status = vbox_status; -+ -+ return vbg_status_code_to_errno(vbox_status); -+} -+ -+int vboxsf_map_folder(struct shfl_string *folder_name, u32 *root) -+{ -+ struct shfl_map_folder parms; -+ int err, status; -+ -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL; -+ parms.path.u.pointer.size = shfl_string_buf_size(folder_name); -+ parms.path.u.pointer.u.linear_addr = (uintptr_t)folder_name; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = 0; -+ -+ parms.delimiter.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.delimiter.u.value32 = '/'; -+ -+ parms.case_sensitive.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.case_sensitive.u.value32 = 1; -+ -+ err = vboxsf_call(SHFL_FN_MAP_FOLDER, &parms, SHFL_CPARMS_MAP_FOLDER, -+ &status); -+ if (err == -ENOSYS && status == VERR_NOT_IMPLEMENTED) -+ vbg_err("%s: Error host is too old\n", __func__); -+ -+ *root = parms.root.u.value32; -+ return err; -+} -+ -+int vboxsf_unmap_folder(u32 root) -+{ -+ struct shfl_unmap_folder parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ return vboxsf_call(SHFL_FN_UNMAP_FOLDER, &parms, -+ SHFL_CPARMS_UNMAP_FOLDER, NULL); -+} -+ -+/** -+ * vboxsf_create - Create a new file or folder -+ * @root: Root of the shared folder in which to create the file -+ * @parsed_path: The path of the file or folder relative to the shared folder -+ * @param: create_parms Parameters for file/folder creation. -+ * -+ * Create a new file or folder or open an existing one in a shared folder. -+ * Note this function always returns 0 / success unless an exceptional condition -+ * occurs - out of memory, invalid arguments, etc. If the file or folder could -+ * not be opened or created, create_parms->handle will be set to -+ * SHFL_HANDLE_NIL on return. In this case the value in create_parms->result -+ * provides information as to why (e.g. SHFL_FILE_EXISTS), create_parms->result -+ * is also set on success as additional information. -+ * -+ * Returns: -+ * 0 or negative errno value. -+ */ -+int vboxsf_create(u32 root, struct shfl_string *parsed_path, -+ struct shfl_createparms *create_parms) -+{ -+ struct shfl_create parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL; -+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path); -+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path; -+ -+ parms.parms.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL; -+ parms.parms.u.pointer.size = sizeof(struct shfl_createparms); -+ parms.parms.u.pointer.u.linear_addr = (uintptr_t)create_parms; -+ -+ return vboxsf_call(SHFL_FN_CREATE, &parms, SHFL_CPARMS_CREATE, NULL); -+} -+ -+int vboxsf_close(u32 root, u64 handle) -+{ -+ struct shfl_close parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.handle.u.value64 = handle; -+ -+ return vboxsf_call(SHFL_FN_CLOSE, &parms, SHFL_CPARMS_CLOSE, NULL); -+} -+ -+int vboxsf_remove(u32 root, struct shfl_string *parsed_path, u32 flags) -+{ -+ struct shfl_remove parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path); -+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path; -+ -+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.flags.u.value32 = flags; -+ -+ return vboxsf_call(SHFL_FN_REMOVE, &parms, SHFL_CPARMS_REMOVE, NULL); -+} -+ -+int vboxsf_rename(u32 root, struct shfl_string *src_path, -+ struct shfl_string *dest_path, u32 flags) -+{ -+ struct shfl_rename parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.src.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.src.u.pointer.size = shfl_string_buf_size(src_path); -+ parms.src.u.pointer.u.linear_addr = (uintptr_t)src_path; -+ -+ parms.dest.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.dest.u.pointer.size = shfl_string_buf_size(dest_path); -+ parms.dest.u.pointer.u.linear_addr = (uintptr_t)dest_path; -+ -+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.flags.u.value32 = flags; -+ -+ return vboxsf_call(SHFL_FN_RENAME, &parms, SHFL_CPARMS_RENAME, NULL); -+} -+ -+int vboxsf_read(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf) -+{ -+ struct shfl_read parms; -+ int err; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.handle.u.value64 = handle; -+ parms.offset.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.offset.u.value64 = offset; -+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.cb.u.value32 = *buf_len; -+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT; -+ parms.buffer.u.pointer.size = *buf_len; -+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ err = vboxsf_call(SHFL_FN_READ, &parms, SHFL_CPARMS_READ, NULL); -+ -+ *buf_len = parms.cb.u.value32; -+ return err; -+} -+ -+int vboxsf_write(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf) -+{ -+ struct shfl_write parms; -+ int err; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.handle.u.value64 = handle; -+ parms.offset.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.offset.u.value64 = offset; -+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.cb.u.value32 = *buf_len; -+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.buffer.u.pointer.size = *buf_len; -+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ err = vboxsf_call(SHFL_FN_WRITE, &parms, SHFL_CPARMS_WRITE, NULL); -+ -+ *buf_len = parms.cb.u.value32; -+ return err; -+} -+ -+/* Returns 0 on success, 1 on end-of-dir, negative errno otherwise */ -+int vboxsf_dirinfo(u32 root, u64 handle, -+ struct shfl_string *parsed_path, u32 flags, u32 index, -+ u32 *buf_len, struct shfl_dirinfo *buf, u32 *file_count) -+{ -+ struct shfl_list parms; -+ int err, status; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.handle.u.value64 = handle; -+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.flags.u.value32 = flags; -+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.cb.u.value32 = *buf_len; -+ if (parsed_path) { -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path); -+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path; -+ } else { -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_IN; -+ parms.path.u.pointer.size = 0; -+ parms.path.u.pointer.u.linear_addr = 0; -+ } -+ -+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT; -+ parms.buffer.u.pointer.size = *buf_len; -+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ parms.resume_point.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.resume_point.u.value32 = index; -+ parms.file_count.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.file_count.u.value32 = 0; /* out parameter only */ -+ -+ err = vboxsf_call(SHFL_FN_LIST, &parms, SHFL_CPARMS_LIST, &status); -+ if (err == -ENODATA && status == VERR_NO_MORE_FILES) -+ err = 1; -+ -+ *buf_len = parms.cb.u.value32; -+ *file_count = parms.file_count.u.value32; -+ return err; -+} -+ -+int vboxsf_fsinfo(u32 root, u64 handle, u32 flags, -+ u32 *buf_len, void *buf) -+{ -+ struct shfl_information parms; -+ int err; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT; -+ parms.handle.u.value64 = handle; -+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.flags.u.value32 = flags; -+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.cb.u.value32 = *buf_len; -+ parms.info.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL; -+ parms.info.u.pointer.size = *buf_len; -+ parms.info.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ err = vboxsf_call(SHFL_FN_INFORMATION, &parms, SHFL_CPARMS_INFORMATION, -+ NULL); -+ -+ *buf_len = parms.cb.u.value32; -+ return err; -+} -+ -+int vboxsf_readlink(u32 root, struct shfl_string *parsed_path, -+ u32 buf_len, u8 *buf) -+{ -+ struct shfl_readLink parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path); -+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path; -+ -+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT; -+ parms.buffer.u.pointer.size = buf_len; -+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ return vboxsf_call(SHFL_FN_READLINK, &parms, SHFL_CPARMS_READLINK, -+ NULL); -+} -+ -+int vboxsf_symlink(u32 root, struct shfl_string *new_path, -+ struct shfl_string *old_path, struct shfl_fsobjinfo *buf) -+{ -+ struct shfl_symlink parms; -+ -+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT; -+ parms.root.u.value32 = root; -+ -+ parms.new_path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.new_path.u.pointer.size = shfl_string_buf_size(new_path); -+ parms.new_path.u.pointer.u.linear_addr = (uintptr_t)new_path; -+ -+ parms.old_path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN; -+ parms.old_path.u.pointer.size = shfl_string_buf_size(old_path); -+ parms.old_path.u.pointer.u.linear_addr = (uintptr_t)old_path; -+ -+ parms.info.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT; -+ parms.info.u.pointer.size = sizeof(struct shfl_fsobjinfo); -+ parms.info.u.pointer.u.linear_addr = (uintptr_t)buf; -+ -+ return vboxsf_call(SHFL_FN_SYMLINK, &parms, SHFL_CPARMS_SYMLINK, NULL); -+} -+ -+int vboxsf_set_utf8(void) -+{ -+ return vboxsf_call(SHFL_FN_SET_UTF8, NULL, 0, NULL); -+} -+ -+int vboxsf_set_symlinks(void) -+{ -+ return vboxsf_call(SHFL_FN_SET_SYMLINKS, NULL, 0, NULL); -+} -diff --git a/fs/vboxsf/vfsmod.h b/fs/vboxsf/vfsmod.h -new file mode 100644 -index 000000000000..18f95b00fc33 ---- /dev/null -+++ b/fs/vboxsf/vfsmod.h -@@ -0,0 +1,137 @@ -+/* SPDX-License-Identifier: MIT */ -+/* -+ * VirtualBox Guest Shared Folders support: module header. -+ * -+ * Copyright (C) 2006-2018 Oracle Corporation -+ */ -+ -+#ifndef VFSMOD_H -+#define VFSMOD_H -+ -+#include <linux/backing-dev.h> -+#include <linux/idr.h> -+#include "shfl_hostintf.h" -+ -+#define DIR_BUFFER_SIZE SZ_16K -+ -+/* The cast is to prevent assignment of void * to pointers of arbitrary type */ -+#define VBOXSF_SBI(sb) ((struct vboxsf_sbi *)(sb)->s_fs_info) -+#define VBOXSF_I(i) container_of(i, struct vboxsf_inode, vfs_inode) -+ -+struct vboxsf_options { -+ unsigned long ttl; -+ kuid_t uid; -+ kgid_t gid; -+ bool dmode_set; -+ bool fmode_set; -+ umode_t dmode; -+ umode_t fmode; -+ umode_t dmask; -+ umode_t fmask; -+}; -+ -+struct vboxsf_fs_context { -+ struct vboxsf_options o; -+ char *nls_name; -+}; -+ -+/* per-shared folder information */ -+struct vboxsf_sbi { -+ struct vboxsf_options o; -+ struct shfl_fsobjinfo root_info; -+ struct idr ino_idr; -+ spinlock_t ino_idr_lock; /* This protects ino_idr */ -+ struct nls_table *nls; -+ u32 next_generation; -+ u32 root; -+ int bdi_id; -+}; -+ -+/* per-inode information */ -+struct vboxsf_inode { -+ /* some information was changed, update data on next revalidate */ -+ int force_restat; -+ /* list of open handles for this inode + lock protecting it */ -+ struct list_head handle_list; -+ /* This mutex protects handle_list accesses */ -+ struct mutex handle_list_mutex; -+ /* The VFS inode struct */ -+ struct inode vfs_inode; -+}; -+ -+struct vboxsf_dir_info { -+ struct list_head info_list; -+}; -+ -+struct vboxsf_dir_buf { -+ size_t entries; -+ size_t free; -+ size_t used; -+ void *buf; -+ struct list_head head; -+}; -+ -+/* globals */ -+extern const struct inode_operations vboxsf_dir_iops; -+extern const struct inode_operations vboxsf_lnk_iops; -+extern const struct inode_operations vboxsf_reg_iops; -+extern const struct file_operations vboxsf_dir_fops; -+extern const struct file_operations vboxsf_reg_fops; -+extern const struct address_space_operations vboxsf_reg_aops; -+extern const struct dentry_operations vboxsf_dentry_ops; -+ -+/* from utils.c */ -+struct inode *vboxsf_new_inode(struct super_block *sb); -+void vboxsf_init_inode(struct vboxsf_sbi *sbi, struct inode *inode, -+ const struct shfl_fsobjinfo *info); -+int vboxsf_create_at_dentry(struct dentry *dentry, -+ struct shfl_createparms *params); -+int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path, -+ struct shfl_fsobjinfo *info); -+int vboxsf_stat_dentry(struct dentry *dentry, struct shfl_fsobjinfo *info); -+int vboxsf_inode_revalidate(struct dentry *dentry); -+int vboxsf_getattr(const struct path *path, struct kstat *kstat, -+ u32 request_mask, unsigned int query_flags); -+int vboxsf_setattr(struct dentry *dentry, struct iattr *iattr); -+struct shfl_string *vboxsf_path_from_dentry(struct vboxsf_sbi *sbi, -+ struct dentry *dentry); -+int vboxsf_nlscpy(struct vboxsf_sbi *sbi, char *name, size_t name_bound_len, -+ const unsigned char *utf8_name, size_t utf8_len); -+struct vboxsf_dir_info *vboxsf_dir_info_alloc(void); -+void vboxsf_dir_info_free(struct vboxsf_dir_info *p); -+int vboxsf_dir_read_all(struct vboxsf_sbi *sbi, struct vboxsf_dir_info *sf_d, -+ u64 handle); -+ -+/* from vboxsf_wrappers.c */ -+int vboxsf_connect(void); -+void vboxsf_disconnect(void); -+ -+int vboxsf_create(u32 root, struct shfl_string *parsed_path, -+ struct shfl_createparms *create_parms); -+ -+int vboxsf_close(u32 root, u64 handle); -+int vboxsf_remove(u32 root, struct shfl_string *parsed_path, u32 flags); -+int vboxsf_rename(u32 root, struct shfl_string *src_path, -+ struct shfl_string *dest_path, u32 flags); -+ -+int vboxsf_read(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf); -+int vboxsf_write(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf); -+ -+int vboxsf_dirinfo(u32 root, u64 handle, -+ struct shfl_string *parsed_path, u32 flags, u32 index, -+ u32 *buf_len, struct shfl_dirinfo *buf, u32 *file_count); -+int vboxsf_fsinfo(u32 root, u64 handle, u32 flags, -+ u32 *buf_len, void *buf); -+ -+int vboxsf_map_folder(struct shfl_string *folder_name, u32 *root); -+int vboxsf_unmap_folder(u32 root); -+ -+int vboxsf_readlink(u32 root, struct shfl_string *parsed_path, -+ u32 buf_len, u8 *buf); -+int vboxsf_symlink(u32 root, struct shfl_string *new_path, -+ struct shfl_string *old_path, struct shfl_fsobjinfo *buf); -+ -+int vboxsf_set_utf8(void); -+int vboxsf_set_symlinks(void); -+ -+#endif --- -2.25.0 - diff --git a/0002-drm-nouveau-gr-gp107-gp108-implement-workaround-for-.patch b/0002-drm-nouveau-gr-gp107-gp108-implement-workaround-for-.patch new file mode 100644 index 000000000..554800010 --- /dev/null +++ b/0002-drm-nouveau-gr-gp107-gp108-implement-workaround-for-.patch @@ -0,0 +1,68 @@ +From 37b556606d1217b4367e622d88cef11c65764386 Mon Sep 17 00:00:00 2001 +From: Ben Skeggs <bskeggs@redhat.com> +Date: Tue, 31 Mar 2020 16:08:44 +1000 +Subject: [PATCH 2/2] drm/nouveau/gr/gp107,gp108: implement workaround for HW + hanging during init + +Certain boards with GP107/GP108 chipsets hang (often, but randomly) for +unknown reasons during GR initialisation. + +The first tell-tale symptom of this issue is: + +nouveau 0000:01:00.0: bus: MMIO read of 00000000 FAULT at 409800 [ TIMEOUT ] + +appearing in dmesg, likely followed by many other failures being logged. + +Karol found this WAR for the issue a while back, but efforts to isolate +the root cause and proper fix have not yielded success so far. I've +modified the original patch to include a few more details, limit it to +GP107/GP108 by default, and added a config option to override this choice. + +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +Reviewed-by: Karol Herbst <kherbst@redhat.com> +--- + .../gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 26 +++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +index dd8f85b8b3a7..f2f5636efac4 100644 +--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c ++++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c +@@ -1981,8 +1981,34 @@ gf100_gr_init_(struct nvkm_gr *base) + { + struct gf100_gr *gr = gf100_gr(base); + struct nvkm_subdev *subdev = &base->engine.subdev; ++ struct nvkm_device *device = subdev->device; ++ bool reset = device->chipset == 0x137 || device->chipset == 0x138; + u32 ret; + ++ /* On certain GP107/GP108 boards, we trigger a weird issue where ++ * GR will stop responding to PRI accesses after we've asked the ++ * SEC2 RTOS to boot the GR falcons. This happens with far more ++ * frequency when cold-booting a board (ie. returning from D3). ++ * ++ * The root cause for this is not known and has proven difficult ++ * to isolate, with many avenues being dead-ends. ++ * ++ * A workaround was discovered by Karol, whereby putting GR into ++ * reset for an extended period right before initialisation ++ * prevents the problem from occuring. ++ * ++ * XXX: As RM does not require any such workaround, this is more ++ * of a hack than a true fix. ++ */ ++ reset = nvkm_boolopt(device->cfgopt, "NvGrResetWar", reset); ++ if (reset) { ++ nvkm_mask(device, 0x000200, 0x00001000, 0x00000000); ++ nvkm_rd32(device, 0x000200); ++ msleep(50); ++ nvkm_mask(device, 0x000200, 0x00001000, 0x00001000); ++ nvkm_rd32(device, 0x000200); ++ } ++ + nvkm_pmu_pgob(gr->base.engine.subdev.device->pmu, false); + + ret = nvkm_falcon_get(&gr->fecs.falcon, subdev); +-- +2.25.1 + diff --git a/20200310_chris_chris_wilson_co_uk.patch b/20200310_chris_chris_wilson_co_uk.patch deleted file mode 100644 index 9b2dad2ed..000000000 --- a/20200310_chris_chris_wilson_co_uk.patch +++ /dev/null @@ -1,559 +0,0 @@ -From MAILER-DAEMON Thu Mar 12 13:30:18 2020 -From: Chris Wilson <chris@chris-wilson.co.uk> -To: stable@vger.kernel.org -Cc: Chris Wilson <chris@chris-wilson.co.uk>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Jani Nikula <jani.nikula@intel.com> -Subject: [PATCH 1/5] drm/i915: Check activity on i915_vma after confirming pin_count==0 -Date: Tue, 10 Mar 2020 20:40:42 +0000 -Message-Id: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -Sender: stable-owner@vger.kernel.org -List-ID: <stable.vger.kernel.org> -X-Mailing-List: stable@vger.kernel.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -Only assert that the i915_vma is now idle if and only if no other pins -are present. If another user has the i915_vma pinned, they may submit -more work to the i915_vma skipping the vm->mutex used to serialise the -unbind. We need to wait again, if we want to continue and unbind this -vma. - -However, if we own the i915_vma (we hold the vm->mutex for the unbind -and the pin_count is 0), we can assert that the vma remains idle as we -unbind. - -Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex") -Closes: https://gitlab.freedesktop.org/drm/intel/issues/530 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20200123224459.38128-1-chris@chris-wilson.co.uk -(cherry picked from commit 60e94557fff1f5514c7fc4da7ddc2c7a13ffff26) -Signed-off-by: Jani Nikula <jani.nikula@intel.com> -(cherry picked from commit e4edd4fcbf4daf9d4319bef0bfaf350cb672239a) ---- - drivers/gpu/drm/i915/i915_vma.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c -index 01c822256b39..7c7e152cc5ff 100644 ---- a/drivers/gpu/drm/i915/i915_vma.c -+++ b/drivers/gpu/drm/i915/i915_vma.c -@@ -1149,16 +1149,26 @@ int __i915_vma_unbind(struct i915_vma *vma) - if (ret) - return ret; - -- GEM_BUG_ON(i915_vma_is_active(vma)); - if (i915_vma_is_pinned(vma)) { - vma_print_allocator(vma, "is pinned"); - return -EBUSY; - } - -- GEM_BUG_ON(i915_vma_is_active(vma)); -+ /* -+ * After confirming that no one else is pinning this vma, wait for -+ * any laggards who may have crept in during the wait (through -+ * a residual pin skipping the vm->mutex) to complete. -+ */ -+ ret = i915_vma_sync(vma); -+ if (ret) -+ return ret; -+ - if (!drm_mm_node_allocated(&vma->node)) - return 0; - -+ GEM_BUG_ON(i915_vma_is_pinned(vma)); -+ GEM_BUG_ON(i915_vma_is_active(vma)); -+ - if (i915_vma_is_map_and_fenceable(vma)) { - /* - * Check that we have flushed all writes through the GGTT --- -2.25.1 - - -From MAILER-DAEMON Thu Mar 12 13:30:18 2020 -From: Chris Wilson <chris@chris-wilson.co.uk> -To: stable@vger.kernel.org -Cc: Chris Wilson <chris@chris-wilson.co.uk>, Matthew Auld <matthew.auld@intel.com> -Subject: [PATCH 2/5] drm/i915/gem: Avoid parking the vma as we unbind -Date: Tue, 10 Mar 2020 20:40:43 +0000 -Message-Id: <20200310204046.3995087-2-chris@chris-wilson.co.uk> -In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -References: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -Sender: stable-owner@vger.kernel.org -List-ID: <stable.vger.kernel.org> -X-Mailing-List: stable@vger.kernel.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -In order to avoid keeping a reference on the i915_vma (which is long -overdue!) we have to coordinate all the possible lifetimes and only use -the vma while we know it is alive. In this episode, we are reminded that -while idle, the closed vma are destroyed. So if the GT idles while we are -working with the vma, the vma itself becomes invalid. - -First class i915_vma here we come, but in the meantime keep piling on -the straw. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Reviewed-by: Matthew Auld <matthew.auld@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191203155032.3137263-1-chris@chris-wilson.co.uk -(cherry picked from commit cb6c3d45f948f8f184687a23fea30017d01e892f) ---- - drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 3f07948ea4da..f7c52b437f6a 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -128,18 +128,33 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - struct i915_vma, - obj_link))) { - struct i915_address_space *vm = vma->vm; -+ bool awake = false; - -- ret = -EBUSY; -+ ret = -EAGAIN; - if (!i915_vm_tryopen(vm)) - break; - -+ /* Prevent vma being freed by i915_vma_parked as we unbind */ -+ if (intel_gt_pm_get_if_awake(vm->gt)) { -+ awake = true; -+ } else { -+ if (i915_vma_is_closed(vma)) { -+ spin_unlock(&obj->vma.lock); -+ goto err_vm; -+ } -+ } -+ - list_move_tail(&vma->obj_link, &still_in_list); - spin_unlock(&obj->vma.lock); - -+ ret = -EBUSY; - if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || - !i915_vma_is_active(vma)) - ret = i915_vma_unbind(vma); - -+ if (awake) -+ intel_gt_pm_put(vm->gt); -+err_vm: - i915_vm_close(vm); - spin_lock(&obj->vma.lock); - } --- -2.25.1 - - -From MAILER-DAEMON Thu Mar 12 13:30:18 2020 -From: Chris Wilson <chris@chris-wilson.co.uk> -To: stable@vger.kernel.org -Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com> -Subject: [PATCH 3/5] drm/i915: Add a simple is-bound check before unbinding -Date: Tue, 10 Mar 2020 20:40:44 +0000 -Message-Id: <20200310204046.3995087-3-chris@chris-wilson.co.uk> -In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -References: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -Sender: stable-owner@vger.kernel.org -List-ID: <stable.vger.kernel.org> -X-Mailing-List: stable@vger.kernel.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -Only acquire the various atomic references required to unbind the vma if -we do need to unbind the vma. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Acked-by: Imre Deak <imre.deak@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-1-chris@chris-wilson.co.uk -(cherry picked from commit f5af1659d809e264d619e5f483fd8f47bced3b6a) ---- - drivers/gpu/drm/i915/i915_gem.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index f7c52b437f6a..998b67e3466e 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -130,6 +130,10 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - struct i915_address_space *vm = vma->vm; - bool awake = false; - -+ list_move_tail(&vma->obj_link, &still_in_list); -+ if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK)) -+ continue; -+ - ret = -EAGAIN; - if (!i915_vm_tryopen(vm)) - break; -@@ -144,7 +148,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - } - } - -- list_move_tail(&vma->obj_link, &still_in_list); - spin_unlock(&obj->vma.lock); - - ret = -EBUSY; --- -2.25.1 - - -From MAILER-DAEMON Thu Mar 12 13:30:18 2020 -From: Chris Wilson <chris@chris-wilson.co.uk> -To: stable@vger.kernel.org -Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com> -Subject: [PATCH 4/5] drm/i915: Introduce a vma.kref -Date: Tue, 10 Mar 2020 20:40:45 +0000 -Message-Id: <20200310204046.3995087-4-chris@chris-wilson.co.uk> -In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -References: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -Sender: stable-owner@vger.kernel.org -List-ID: <stable.vger.kernel.org> -X-Mailing-List: stable@vger.kernel.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -Start introducing a kref on i915_vma in order to protect the vma unbind -(i915_gem_object_unbind) from a parallel destruction (i915_vma_parked). -Later, we will use the refcount to manage all access and turn i915_vma -into a first class container. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Imre Deak <imre.deak@intel.com> -Acked-by: Imre Deak <imre.deak@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-2-chris@chris-wilson.co.uk -(cherry picked from commit 76f9764cc3d538435262dea885bf69fac2415402) ---- - drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +- - .../gpu/drm/i915/gem/selftests/huge_pages.c | 3 +-- - .../drm/i915/gem/selftests/i915_gem_mman.c | 4 +-- - drivers/gpu/drm/i915/i915_gem.c | 26 +++++++------------ - drivers/gpu/drm/i915/i915_gem_gtt.c | 5 ++-- - drivers/gpu/drm/i915/i915_vma.c | 9 ++++--- - drivers/gpu/drm/i915/i915_vma.h | 25 +++++++++++++++--- - 7 files changed, 44 insertions(+), 30 deletions(-) - -diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c -index a596548c07bf..b6937469ffd3 100644 ---- a/drivers/gpu/drm/i915/gem/i915_gem_object.c -+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c -@@ -174,7 +174,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915, - GEM_BUG_ON(vma->obj != obj); - spin_unlock(&obj->vma.lock); - -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - spin_lock(&obj->vma.lock); - } -diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -index 688c49a24f32..bd1e2c12de63 100644 ---- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c -@@ -1110,8 +1110,7 @@ static int __igt_write_huge(struct intel_context *ce, - out_vma_unpin: - i915_vma_unpin(vma); - out_vma_close: -- i915_vma_destroy(vma); -- -+ __i915_vma_put(vma); - return err; - } - -diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -index 29b2077b73d2..d226e55df8b2 100644 ---- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c -@@ -161,7 +161,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj, - kunmap(p); - - out: -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - return err; - } - -@@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj, - if (err) - return err; - -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - if (igt_timeout(end_time, - "%s: timed out after tiling=%d stride=%d\n", -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 998b67e3466e..67a8e7408e67 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -128,7 +128,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - struct i915_vma, - obj_link))) { - struct i915_address_space *vm = vma->vm; -- bool awake = false; - - list_move_tail(&vma->obj_link, &still_in_list); - if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK)) -@@ -139,25 +138,18 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj, - break; - - /* Prevent vma being freed by i915_vma_parked as we unbind */ -- if (intel_gt_pm_get_if_awake(vm->gt)) { -- awake = true; -- } else { -- if (i915_vma_is_closed(vma)) { -- spin_unlock(&obj->vma.lock); -- goto err_vm; -- } -- } -- -+ vma = __i915_vma_get(vma); - spin_unlock(&obj->vma.lock); - -- ret = -EBUSY; -- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || -- !i915_vma_is_active(vma)) -- ret = i915_vma_unbind(vma); -+ if (vma) { -+ ret = -EBUSY; -+ if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE || -+ !i915_vma_is_active(vma)) -+ ret = i915_vma_unbind(vma); -+ -+ __i915_vma_put(vma); -+ } - -- if (awake) -- intel_gt_pm_put(vm->gt); --err_vm: - i915_vm_close(vm); - spin_lock(&obj->vma.lock); - } -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index 44727806dfd7..dd2c20f7d4d2 100644 ---- a/drivers/gpu/drm/i915/i915_gem_gtt.c -+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -522,7 +522,7 @@ void __i915_vm_close(struct i915_address_space *vm) - - atomic_and(~I915_VMA_PIN_MASK, &vma->flags); - WARN_ON(__i915_vma_unbind(vma)); -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - - i915_gem_object_put(obj); - } -@@ -1790,7 +1790,7 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm) - { - struct gen6_ppgtt *ppgtt = to_gen6_ppgtt(i915_vm_to_ppgtt(vm)); - -- i915_vma_destroy(ppgtt->vma); -+ __i915_vma_put(ppgtt->vma); - - gen6_ppgtt_free_pd(ppgtt); - free_scratch(vm); -@@ -1878,6 +1878,7 @@ static struct i915_vma *pd_vma_create(struct gen6_ppgtt *ppgtt, int size) - - i915_active_init(&vma->active, NULL, NULL); - -+ kref_init(&vma->ref); - mutex_init(&vma->pages_mutex); - vma->vm = i915_vm_get(&ggtt->vm); - vma->ops = &pd_vma_ops; -diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c -index 7c7e152cc5ff..5309872442bc 100644 ---- a/drivers/gpu/drm/i915/i915_vma.c -+++ b/drivers/gpu/drm/i915/i915_vma.c -@@ -112,6 +112,7 @@ vma_create(struct drm_i915_gem_object *obj, - if (vma == NULL) - return ERR_PTR(-ENOMEM); - -+ kref_init(&vma->ref); - mutex_init(&vma->pages_mutex); - vma->vm = i915_vm_get(vm); - vma->ops = &vm->vma_ops; -@@ -978,8 +979,10 @@ void i915_vma_reopen(struct i915_vma *vma) - __i915_vma_remove_closed(vma); - } - --void i915_vma_destroy(struct i915_vma *vma) -+void i915_vma_release(struct kref *ref) - { -+ struct i915_vma *vma = container_of(ref, typeof(*vma), ref); -+ - if (drm_mm_node_allocated(&vma->node)) { - mutex_lock(&vma->vm->mutex); - atomic_and(~I915_VMA_PIN_MASK, &vma->flags); -@@ -1027,7 +1030,7 @@ void i915_vma_parked(struct intel_gt *gt) - spin_unlock_irq(>->closed_lock); - - if (obj) { -- i915_vma_destroy(vma); -+ __i915_vma_put(vma); - i915_gem_object_put(obj); - } - -@@ -1202,7 +1205,7 @@ int __i915_vma_unbind(struct i915_vma *vma) - i915_vma_detach(vma); - vma_unbind_pages(vma); - -- drm_mm_remove_node(&vma->node); /* pairs with i915_vma_destroy() */ -+ drm_mm_remove_node(&vma->node); /* pairs with i915_vma_release() */ - return 0; - } - -diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h -index 465932813bc5..ce1db908ad69 100644 ---- a/drivers/gpu/drm/i915/i915_vma.h -+++ b/drivers/gpu/drm/i915/i915_vma.h -@@ -51,14 +51,19 @@ enum i915_cache_level; - */ - struct i915_vma { - struct drm_mm_node node; -- struct drm_i915_gem_object *obj; -+ - struct i915_address_space *vm; - const struct i915_vma_ops *ops; -- struct i915_fence_reg *fence; -+ -+ struct drm_i915_gem_object *obj; - struct dma_resv *resv; /** Alias of obj->resv */ -+ - struct sg_table *pages; - void __iomem *iomap; - void *private; /* owned by creator */ -+ -+ struct i915_fence_reg *fence; -+ - u64 size; - u64 display_alignment; - struct i915_page_sizes page_sizes; -@@ -71,6 +76,7 @@ struct i915_vma { - * handles (but same file) for execbuf, i.e. the number of aliases - * that exist in the ctx->handle_vmas LUT for this vma. - */ -+ struct kref ref; - atomic_t open_count; - atomic_t flags; - /** -@@ -333,7 +339,20 @@ int __must_check i915_vma_unbind(struct i915_vma *vma); - void i915_vma_unlink_ctx(struct i915_vma *vma); - void i915_vma_close(struct i915_vma *vma); - void i915_vma_reopen(struct i915_vma *vma); --void i915_vma_destroy(struct i915_vma *vma); -+ -+static inline struct i915_vma *__i915_vma_get(struct i915_vma *vma) -+{ -+ if (kref_get_unless_zero(&vma->ref)) -+ return vma; -+ -+ return NULL; -+} -+ -+void i915_vma_release(struct kref *ref); -+static inline void __i915_vma_put(struct i915_vma *vma) -+{ -+ kref_put(&vma->ref, i915_vma_release); -+} - - #define assert_vma_held(vma) dma_resv_assert_held((vma)->resv) - --- -2.25.1 - - -From MAILER-DAEMON Thu Mar 12 13:30:18 2020 -From: Chris Wilson <chris@chris-wilson.co.uk> -To: stable@vger.kernel.org -Cc: Chris Wilson <chris@chris-wilson.co.uk>, Kenneth Graunke <kenneth@whitecape.org>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Matthew Auld <matthew.auld@intel.com> -Subject: [PATCH 5/5] drm/i915: Serialise i915_active_acquire() with __active_retire() -Date: Tue, 10 Mar 2020 20:40:46 +0000 -Message-Id: <20200310204046.3995087-5-chris@chris-wilson.co.uk> -In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -References: <20200310204046.3995087-1-chris@chris-wilson.co.uk> -Sender: stable-owner@vger.kernel.org -List-ID: <stable.vger.kernel.org> -X-Mailing-List: stable@vger.kernel.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -As __active_retire() does it's final atomic_dec() under the -ref->tree_lock spinlock, in order to prevent ourselves from reusing the -ref->cache and ref->tree as they are being destroyed, we need to -serialise with the retirement during i915_active_acquire(). - -[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157! -[ +0.000011] invalid opcode: 0000 [#1] SMP -[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89 -[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019 -[ +0.000082] Workqueue: events_unbound active_work [i915] -[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915] -[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a -[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286 -[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000 -[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28 -[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50 -[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930 -[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988 -[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000 -[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0 -[ +0.000002] PKRU: 55555554 -[ +0.000001] Call Trace: -[ +0.000010] process_one_work+0x1aa/0x350 -[ +0.000004] worker_thread+0x4d/0x3a0 -[ +0.000004] kthread+0xfb/0x130 -[ +0.000004] ? process_one_work+0x350/0x350 -[ +0.000003] ? kthread_park+0x90/0x90 -[ +0.000005] ret_from_fork+0x1f/0x40 - -Reported-by: Kenneth Graunke <kenneth@whitecape.org> -Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree") -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Cc: Kenneth Graunke <kenneth@whitecape.org> -Cc: Matthew Auld <matthew.auld@intel.com> -Tested-by: Kenneth Graunke <kenneth@whitecape.org> -Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> -Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk -(cherry picked from commit bbca083de291a03ffe1a1eb0832a0d74f8b64898) ---- - drivers/gpu/drm/i915/i915_active.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c -index a19e7d89bc8a..378b52d1ab74 100644 ---- a/drivers/gpu/drm/i915/i915_active.c -+++ b/drivers/gpu/drm/i915/i915_active.c -@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref) - - static void debug_active_activate(struct i915_active *ref) - { -- spin_lock_irq(&ref->tree_lock); -+ lockdep_assert_held(&ref->tree_lock); - if (!atomic_read(&ref->count)) /* before the first inc */ - debug_object_activate(ref, &active_debug_desc); -- spin_unlock_irq(&ref->tree_lock); - } - - static void debug_active_deactivate(struct i915_active *ref) -@@ -407,8 +406,10 @@ int i915_active_acquire(struct i915_active *ref) - if (!atomic_read(&ref->count) && ref->active) - err = ref->active(ref); - if (!err) { -+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */ - debug_active_activate(ref); - atomic_inc(&ref->count); -+ spin_unlock_irq(&ref->tree_lock); - } - - mutex_unlock(&ref->mutex); --- -2.25.1 - - diff --git a/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch b/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch deleted file mode 100644 index 86824875b..000000000 --- a/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch +++ /dev/null @@ -1,905 +0,0 @@ -From patchwork Tue Jan 7 18:15:54 2020 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net> -X-Patchwork-Id: 11321573 -Return-Path: - <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6D8381398 - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:16:25 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id 0478120848 - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:16:24 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="SQ2gKFhN"; - dkim=fail reason="signature verification failed" (1024-bit key) - header.d=gmx.net header.i=@gmx.net header.b="BJDhWiM+" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0478120848 -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=gmx.net -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: - List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: - In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: - Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc - :Resent-Message-ID:List-Owner; - bh=YkqzhAYhCTWbi2xiP7xxu+Dn8Q8DmCRb4IJ4Bu0zhz8=; b=SQ2gKFhNqib/g5IS6Ax5bJ6+91 - NnToAV0XRtMvD+Mv//d/rvzEQuagdTXc7G1qFGgWXJVH3dbQAnlgt/iNOwtDxAT/4PcAn4h5HFAag - 66kkhMcZAbA7JExXlnqfMil9fKX3gFJPxRophEP+3IPQkJpQyaYcSgCT7q1qWI0ea7WoySKITupFB - /zqJdAB1FovALLqUMblrq+3yz5V5mtmXHbZ9XlaH2vZivUkozyl7y2lTwVupfEMEOX3tMsZKKw7kO - 3zP1295r9jZD5AxI56MIxKUhe09ZgdaStZfRckzxKLVvphRbmbdj/a5lDLwebJ01BvFOZMnhxpSiD - oPP03MfQ==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotOw-00044e-SA; Tue, 07 Jan 2020 18:16:22 +0000 -Received: from mout.gmx.net ([212.227.15.19]) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotOo-0003u6-Ni - for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000 -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; - s=badeba3b8450; t=1578420965; - bh=u7twVNjh2D9zy5OC10Di3QMaWd8qSsrGW9KSWjAYn3g=; - h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; - b=BJDhWiM+5P9ZadhIRk4bTNFKVwW+JTvjQQxBte6Z9/lEi/hUMLjX6X6wI0UsdG/9q - F4Cwa0tCAECdod5u4KiSRbsYOd1o4Z/dYru23Wk+v5LX/L1GSxqimU6Rt6Y750q8m7 - H8qhNz2GpltKbfQYfiCht8+4Noq2Ir1n+/dUhyGU= -X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c -Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com - (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id - 1M6llE-1im9Zy3f6U-008MHP; Tue, 07 Jan 2020 19:16:05 +0100 -From: Stefan Wahren <wahrenst@gmx.net> -To: Zhang Rui <rui.zhang@intel.com>, - Daniel Lezcano <daniel.lezcano@linaro.org>, - Amit Kucheria <amit.kucheria@verdurent.com>, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - Florian Fainelli <f.fainelli@gmail.com>, - Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> -Subject: [PATCH V3 1/4] dt-bindings: Add Broadcom AVS RO thermal -Date: Tue, 7 Jan 2020 19:15:54 +0100 -Message-Id: <1578420957-32229-2-git-send-email-wahrenst@gmx.net> -X-Mailer: git-send-email 2.7.4 -In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -X-Provags-ID: V03:K1:JNoVLD/m7l4v/En9GYWWvMF90Sn/VtIIReEvqeT1ahKtoJ1LkyQ - iAtYBYTb+NwFUEidrSbyieU8GW35aLLzyYQnuJTNqPmnSbG2PnoXvhwHuDsxvWSwUy6mkwH - 8ZEA1Til7h0N3jLmIx+k620EBhcirK4sOEO1dRoCyQ0YuU8w1s6WymV1wzmIWI654AscZ9o - J8IrwX+k75qsiQ2SovoOg== -X-Spam-Flag: NO -X-UI-Out-Filterresults: notjunk:1;V03:K0:1m7ABTNKeYs=:dwivK5EisaHNhkVyhbAPYp - kvAhhRRErs0LcQc8ZbpEAx/yq5NZ5xne4VViuO86ljYW/FoCw48Pz8APxSxRAFasQ5XgUJLP5 - TwCvRfPRrdfLO3tE5KvLJTW7FJPetXyuRGB9vpPgp8f7UmdUL542Li3JvUZ33oouVIjMEPek6 - eJ7EymgiCWO2bamuE79cyu30HsDd1LGBBQrzvFwQleMU8BbbLmaiQtIfSxdPKqyjHm+bvLtDP - uK/ei0MTgAsXPpgIdHoGsb71RQ0HY5PtjoLmMsNb3Nvcu9FNWgu+ybES1IfFGXvrkd1C8fgCB - Q5VlqL1b7kUD0EHnh7rjg8rGKBiaqdQCE0rsj3GJDHLnhxpSblechYL1CIMYh0+YmL8VtDREe - qzbJ3wdWDTKF1F8njEuuvjb05/C/4X6IzbpEWS5uxJ9wVdqWX2b6MpQQ7x7H4B88IHb0/IU+D - vdYY8z+R3R5MkQzZJngkBLWIif2N/omDDhmHv+9TJcHmvbZJaDpHIfZ0rdtGe50zbA3DaQjjs - bDwDylhHw0I+Hc8nBJUH7PN84Fiiime6VMByUd9PFiy9cpm2bP6AwEi1Mwefb1URWcmgwnYEe - JmxWZoJ8JfGcW8ITKWyEuka8Ux5E2Ci1R82cWYUo5brxrZvFcYg2pUnUwpOysMZzLKCUWy2FL - QwuEZfTk676yMpqbF1y0Xsuf+c9Q9pOvwzC3N+VKiDm3UOdnS5kmkaDAtRFJVCderrdeMv11a - S2iZm2wNIvmHXsogK8savP05nVqWUbyf8h2vR0jlTRBz2kAyQmtZrJyPLBjww/6Vrx7SeElxk - alcdmtEi3tdo6eMkRsFebFaCUPqItnfbJbHbXJ4udFSh4fsjduS3UppT4JbCCzqm+XNGVrUqR - BT9vCmRbySk5wIT3D0Eg76wFeIZv4OSRzQguvVF9jkBp1Rpg++L8ryT16Wlox17PM5Er2T8Hn - DvtQYG2N0H4cY1aJW/zPeQBWHH1uSqJfAew37CAL+skNaSTa0vFcZ767XBCfg6RLfXyKh85qm - Gt8gRY7Js2eGw9uR74OlrgJ4TIun187UAelKzqsGADORGyoHo1fMJuk0Mdiowqu+iX5qn3+cE - hCcZPwE2VuH0H9J8fUNRrotICpKdurbLvl40ubrd7Ke2b80dNLZfLbLnOKHSQyYy7TFJ8FgZ0 - eSlGh0KXP7kZU1n2gIGKqpYdthjTXDHyHw9QqRUStYpd/WtcY5d4gxnomwYCghPPhaIzjeHkD - ifQLPwagP2YYxjG2ZH8f8ZQSh3kEP4r9bbTGpIw== -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20200107_101615_067475_AF11981B -X-CRM114-Status: GOOD ( 11.10 ) -X-Spam-Score: -0.2 (/) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-0.2 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, - no trust [212.227.15.19 listed in list.dnswl.org] - 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail - provider (wahrenst[at]gmx.net) - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from - envelope-from domain - 0.1 DKIM_SIGNED Message has a DKIM or DK signature, - not necessarily - valid - -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from - author's domain - -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, - Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org, - linux-pm@vger.kernel.org -MIME-Version: 1.0 -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -Since the BCM2711 doesn't have a AVS TMON block, the thermal information -must be retrieved from the AVS ring oscillator block. This block is part -of the AVS monitor which contains a bunch of raw sensors. - -Signed-off-by: Stefan Wahren <wahrenst@gmx.net> -Reviewed-by: Rob Herring <robh@kernel.org> -Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - .../bindings/thermal/brcm,avs-ro-thermal.yaml | 45 ++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml - --- -2.7.4 - -diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml -new file mode 100644 -index 0000000..98e7b57 ---- /dev/null -+++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml -@@ -0,0 +1,45 @@ -+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/thermal/brcm,avs-ro-thermal.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Broadcom AVS ring oscillator thermal -+ -+maintainers: -+ - Stefan Wahren <wahrenst@gmx.net> -+ -+description: |+ -+ The thermal node should be the child of a syscon node with the -+ required property: -+ -+ - compatible: Should be one of the following: -+ "brcm,bcm2711-avs-monitor", "syscon", "simple-mfd" -+ -+ Refer to the the bindings described in -+ Documentation/devicetree/bindings/mfd/syscon.txt -+ -+properties: -+ compatible: -+ const: brcm,bcm2711-thermal -+ -+ reg: -+ maxItems: 1 -+ -+required: -+ - compatible -+ - reg -+ -+examples: -+ - | -+ avs-monitor@7d5d2000 { -+ compatible = "brcm,bcm2711-avs-monitor", -+ "syscon", "simple-mfd"; -+ reg = <0x7d5d2000 0xf00>; -+ -+ thermal: thermal { -+ compatible = "brcm,bcm2711-thermal"; -+ #thermal-sensor-cells = <0>; -+ }; -+ }; -+... - -From patchwork Tue Jan 7 18:15:55 2020 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net> -X-Patchwork-Id: 11321579 -Return-Path: - <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4EEC4138D - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:17:14 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id 1A18F20848 - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:17:14 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="WN1BmRCI"; - dkim=fail reason="signature verification failed" (1024-bit key) - header.d=gmx.net header.i=@gmx.net header.b="JbSBDGbs" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A18F20848 -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=gmx.net -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: - List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: - In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: - Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc - :Resent-Message-ID:List-Owner; - bh=rd33uxZir356e7wb2uZqLp6zepYzCUaWcTH20TBa6Qk=; b=WN1BmRCI/FB6C4+ssKo3wCeIYT - 5K0oT/RSBHeB2bGbPVTr2hxGUgjDDUXvnyAUw5RMItV3h54Q8JS41AP+v6VpB99bd0X+8HrC3rHa9 - ZD6AcP0l8Qovx8Tk427GW5beomc7Z0mUK9NY2xfcEc81gfGAOa0+cOMBAoj7OSqAe3qXB4e/X0uWO - Z8MrJvtd7wZzzvsXaEKac7C+gzrIZbm108W/rSS2205m8+TdzBCWB1PK23JgnqLZDzWt2Z0bfBI+W - Yy4G5buoin/9QXdofS3uI/23A833iKxHljZL12/xWtwCy70/sqWVvTv13U3aKNh5SzqQ2zBi4nT+1 - ed+Q4ktg==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotPk-0004my-Pu; Tue, 07 Jan 2020 18:17:12 +0000 -Received: from mout.gmx.net ([212.227.15.18]) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotOp-0003ud-1M - for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000 -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; - s=badeba3b8450; t=1578420965; - bh=4mbXLn8R9HTqHSqjDYTVnf33y1TLbPgq1QZsQUXuORI=; - h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; - b=JbSBDGbsT0C/YiJLKHHclDX+IekngU601r/NZUXbm7pEwIYsEG9Fpom2kM2knFKu6 - P8bgl9yGKGMF3bKRLNYwPzCNgXdBIDyzI8MsZOrBpZG4jgG62ofrIuBWMuCDJ2if7S - 9nt5L4RoIxNX7cPNA8tE7jX2d15dzT534YUlWCzQ= -X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c -Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com - (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id - 1M7sDg-1il3eJ1VuE-0053xL; Tue, 07 Jan 2020 19:16:05 +0100 -From: Stefan Wahren <wahrenst@gmx.net> -To: Zhang Rui <rui.zhang@intel.com>, - Daniel Lezcano <daniel.lezcano@linaro.org>, - Amit Kucheria <amit.kucheria@verdurent.com>, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - Florian Fainelli <f.fainelli@gmail.com>, - Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> -Subject: [PATCH V3 2/4] thermal: Add BCM2711 thermal driver -Date: Tue, 7 Jan 2020 19:15:55 +0100 -Message-Id: <1578420957-32229-3-git-send-email-wahrenst@gmx.net> -X-Mailer: git-send-email 2.7.4 -In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -X-Provags-ID: V03:K1:yFvB7JDgtfyjUut8k1Chkrb/ErSVsg3EvQyWqLPXb8cBJL7dcQK - dsv56Ee8bmn70zRFQcp+ZxoKnJOLsQX8yr4SSStLpZInOQB1eFljwNlqO1yvOMTchBW9aNV - 8K/3K5y1XYvkIucOrqA4mcg/Abn6C2HRj+YX30kIzWXSZJYVPfGO7BlReGxXXeOS3RN/0+v - AxjdzIeF7ITk0B2E8IlXg== -X-Spam-Flag: NO -X-UI-Out-Filterresults: notjunk:1;V03:K0:jTzlGkSo9bo=:dlU7pPc0rf9QUy9ZULoDP9 - 8GSLL1VdjzaySpcK+jGdXJmnrTtTdrwOVCM13Yj+OFiXY9BhB02v3Y1/GACb0zByQF6m5R+HY - E9rP1h/ZotZ106drpf22Cq8qEcdAIN5naIaEYooguO0tmeziCzo2zdEeRvJQpiw0XPxJzNMRM - 6r/2TRXgeXb53bBysAa4tCjXgXGwqtbF0WKTAsWBjogBF/6lwK2AgGFC8X4mY7XOv8GZOq+EO - eCr92WcgDG5MIwJF7G+Q/SWbTCV+S7Fs8D52Iy3YYtdNKYJa8Mq2PmZs+zx2feLAmwfSxGctw - EuEMw9cv1bA2tVzuUn7GiFQYGlJpxGvvCrxvU6F99yw9ECI3c3zIOHKmsXPlWMBQo9AuD/0rF - P//MLHaS7rzJds2En+JKdP/bAR2XxC/qCtHnF7VIxMkbrXUU69CYWVTAz5gaxFv5CtBY5kqmi - /AkDqAJimergmP6IIVtmEpgO5aE2KcbFFWtqt8e+OshhR/JDJ6JP8+kZUnbV9e0nY2cUJQqeT - n30n/BPVfHDvMlXeHpI//Eo90SBCEVY9BRd90Q/9tmyRckXcLt+mK9USdZAkyrq7X+eXNlB2b - QPHkn7XPbEso/0K2GzZCEO+kh5IKoYf4o53VM++6q7SDY48oU7MGG29P36RlK40W4wxgYcnbQ - G6ofOpVasFvQlsfoWZAy3tMP3h7pzSXTMzfb+oBl+20O/5R32GpSWt/jO/Rfhyk+Ho+MGiQwA - TqHZK+xG6BWesd9jIKv+A0n/NnxbHfylDpSRa0x4Al27WH1GQcN70HE+B91a58+3NmNd8cl1u - nR++5B6h+UhxHjwY3mJFn6JaJE9tzHZYUcYYH6JeUq03cFXZC9Fxdns96ofekPi24KiO9T49q - byceV+B8w4shzosvTwbuExqTP6JvIQU0VGVNzFhWlFvoMardYHn0PWKlIy16TPVaRXEL7yl2U - +TRzGy2pXi4g1TkFMGGmRU17UYWsREIKw3+RqOSuq8riGSWZrUgVbk2wJLp/0kS4pLMUzaF/a - QMemNPTBJfdX15J9IiNHnOMDGmEdpRucbFs9HYRn4HhWDMl1TskP5nyUiG8p+7ET3PLjS+r4K - IFzT7g2tghwbdcDkMOjwK1CFXVblw2fUa5gjZoLCAb+psUornL0pyskLONpUQDgX+FONMdu5C - gXIa+nu2CgDmi+mxoDIx4hSim5yfx1eGeryexRr5UiX4wdT0jXDx3nyfK+z9DTgBbIwY0D0qM - gN5jbjyZRfDrlBl1cMJHAWyDEdL42xvNhWkeV0Q== -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20200107_101615_404914_F8328398 -X-CRM114-Status: GOOD ( 17.41 ) -X-Spam-Score: -0.2 (/) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-0.2 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, - no trust [212.227.15.18 listed in list.dnswl.org] - 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail - provider (wahrenst[at]gmx.net) - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from - envelope-from domain - 0.1 DKIM_SIGNED Message has a DKIM or DK signature, - not necessarily - valid - -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from - author's domain - -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, - Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org, - linux-pm@vger.kernel.org -MIME-Version: 1.0 -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -This adds the thermal sensor driver for the Broadcom BCM2711 SoC, -which is placed on the Raspberry Pi 4. The driver only provides -SoC temperature reading so far. - -Signed-off-by: Stefan Wahren <wahrenst@gmx.net> -Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - drivers/thermal/broadcom/Kconfig | 7 ++ - drivers/thermal/broadcom/Makefile | 1 + - drivers/thermal/broadcom/bcm2711_thermal.c | 129 +++++++++++++++++++++++++++++ - 3 files changed, 137 insertions(+) - create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c - --- -2.7.4 - -diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig -index cf43e15..061f1db 100644 ---- a/drivers/thermal/broadcom/Kconfig -+++ b/drivers/thermal/broadcom/Kconfig -@@ -1,4 +1,11 @@ - # SPDX-License-Identifier: GPL-2.0-only -+config BCM2711_THERMAL -+ tristate "Broadcom AVS RO thermal sensor driver" -+ depends on ARCH_BCM2835 || COMPILE_TEST -+ depends on THERMAL_OF && MFD_SYSCON -+ help -+ Support for thermal sensors on Broadcom BCM2711 SoCs. -+ - config BCM2835_THERMAL - tristate "Thermal sensors on bcm2835 SoC" - depends on ARCH_BCM2835 || COMPILE_TEST -diff --git a/drivers/thermal/broadcom/Makefile b/drivers/thermal/broadcom/Makefile -index 490ab1f..c917b24 100644 ---- a/drivers/thermal/broadcom/Makefile -+++ b/drivers/thermal/broadcom/Makefile -@@ -1,4 +1,5 @@ - # SPDX-License-Identifier: GPL-2.0-only -+obj-$(CONFIG_BCM2711_THERMAL) += bcm2711_thermal.o - obj-$(CONFIG_BCM2835_THERMAL) += bcm2835_thermal.o - obj-$(CONFIG_BRCMSTB_THERMAL) += brcmstb_thermal.o - obj-$(CONFIG_BCM_NS_THERMAL) += ns-thermal.o -diff --git a/drivers/thermal/broadcom/bcm2711_thermal.c b/drivers/thermal/broadcom/bcm2711_thermal.c -new file mode 100644 -index 0000000..b1d3c4d ---- /dev/null -+++ b/drivers/thermal/broadcom/bcm2711_thermal.c -@@ -0,0 +1,129 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Broadcom AVS RO thermal sensor driver -+ * -+ * based on brcmstb_thermal -+ * -+ * Copyright (C) 2020 Stefan Wahren -+ */ -+ -+#include <linux/bitops.h> -+#include <linux/clk.h> -+#include <linux/device.h> -+#include <linux/err.h> -+#include <linux/io.h> -+#include <linux/kernel.h> -+#include <linux/mfd/syscon.h> -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/of_device.h> -+#include <linux/regmap.h> -+#include <linux/thermal.h> -+ -+#include "../thermal_hwmon.h" -+ -+#define AVS_RO_TEMP_STATUS 0x200 -+ #define AVS_RO_TEMP_STATUS_valid_msk (BIT(16) | BIT(10)) -+ #define AVS_RO_TEMP_STATUS_data_msk GENMASK(9, 0) -+ -+struct bcm2711_thermal_priv { -+ struct regmap *regmap; -+ struct device *dev; -+ struct thermal_zone_device *thermal; -+}; -+ -+static int bcm2711_get_temp(void *data, int *temp) -+{ -+ struct bcm2711_thermal_priv *priv = data; -+ int slope = thermal_zone_get_slope(priv->thermal); -+ int offset = thermal_zone_get_offset(priv->thermal); -+ u32 val; -+ int ret; -+ long t; -+ -+ ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val); -+ if (ret) -+ return ret; -+ -+ if (!(val & AVS_RO_TEMP_STATUS_valid_msk)) { -+ dev_err(priv->dev, "reading not valid\n"); -+ return -EIO; -+ } -+ -+ val &= AVS_RO_TEMP_STATUS_data_msk; -+ -+ /* Convert a HW code to a temperature reading (millidegree celsius) */ -+ t = slope * val + offset; -+ if (t < 0) -+ *temp = 0; -+ else -+ *temp = t; -+ -+ return 0; -+} -+ -+static const struct thermal_zone_of_device_ops bcm2711_thermal_of_ops = { -+ .get_temp = bcm2711_get_temp, -+}; -+ -+static const struct of_device_id bcm2711_thermal_id_table[] = { -+ { .compatible = "brcm,bcm2711-thermal" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, bcm2711_thermal_id_table); -+ -+static int bcm2711_thermal_probe(struct platform_device *pdev) -+{ -+ struct thermal_zone_device *thermal; -+ struct bcm2711_thermal_priv *priv; -+ struct device *dev = &pdev->dev; -+ struct device_node *parent; -+ struct regmap *regmap; -+ int ret; -+ -+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); -+ if (!priv) -+ return -ENOMEM; -+ -+ /* get regmap from syscon node */ -+ parent = of_get_parent(dev->of_node); /* parent should be syscon node */ -+ regmap = syscon_node_to_regmap(parent); -+ of_node_put(parent); -+ if (IS_ERR(regmap)) { -+ ret = PTR_ERR(regmap); -+ dev_err(dev, "failed to get regmap: %d\n", ret); -+ return ret; -+ } -+ priv->regmap = regmap; -+ priv->dev = dev; -+ -+ thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv, -+ &bcm2711_thermal_of_ops); -+ if (IS_ERR(thermal)) { -+ ret = PTR_ERR(thermal); -+ dev_err(dev, "could not register sensor: %d\n", ret); -+ return ret; -+ } -+ -+ priv->thermal = thermal; -+ -+ thermal->tzp->no_hwmon = false; -+ ret = thermal_add_hwmon_sysfs(thermal); -+ if (ret) -+ return ret; -+ -+ return 0; -+} -+ -+static struct platform_driver bcm2711_thermal_driver = { -+ .probe = bcm2711_thermal_probe, -+ .driver = { -+ .name = "bcm2711_thermal", -+ .of_match_table = bcm2711_thermal_id_table, -+ }, -+}; -+module_platform_driver(bcm2711_thermal_driver); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Stefan Wahren"); -+MODULE_DESCRIPTION("Broadcom AVS RO thermal sensor driver"); - -From patchwork Tue Jan 7 18:15:56 2020 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net> -X-Patchwork-Id: 11321577 -Return-Path: - <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E3DA138D - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:17:03 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id D9D1920848 - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:17:02 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="ik3qMsDb"; - dkim=fail reason="signature verification failed" (1024-bit key) - header.d=gmx.net header.i=@gmx.net header.b="dq7Bd9O5" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D9D1920848 -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=gmx.net -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: - List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: - In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: - Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc - :Resent-Message-ID:List-Owner; - bh=3Jmn1DTkt6iHJo4nKs/bZbMCywPz9fpkSPNvdSNQuD0=; b=ik3qMsDbyY7oIjPW5+6nccv1h7 - oTVZ+0E3fy/IjWBwKY5FfojiU4G096Dur2GDb1EeYQdJPYEusJkMhhogib+k9m2wcU+Ho8h2EZeKF - Jll43seK5zjOJwQO8N/Jv0wOd2UqlWswRCLEoAUgGbDEU5gYR8Ue2MPlCFqJMBEeZ8KC3SeWIfYgi - fLTUD74gERNQ7YL6u8uEq8Nx6BUgyW0/HUQ3Km8r9DMV7NbRoKm07M+5sKldGxSqxMRWUkW1aq9YV - cQW+XybMtNHLfcTOJYOvyQApYP0CK8q+I+xtd4SM150gTyCKEhDUAk+UFEUnJ9pDgTeh6yGqQqv5I - BmWUq8aQ==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotPZ-0004bP-3J; Tue, 07 Jan 2020 18:17:01 +0000 -Received: from mout.gmx.net ([212.227.15.18]) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotOp-0003ue-1N - for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000 -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; - s=badeba3b8450; t=1578420966; - bh=aWglA2PfdwtIHtm2mDExM6LOMnFuWnZiRAiujdoAMW8=; - h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; - b=dq7Bd9O5pRIoP35pWiEbr3vIwPVUIZdztKslWibSe4sYkKnlLAbn2Tly+3mecxMX4 - plidbchinnJHsr1byo3468d32bXORW9ghvyBGxOn50Zs4URcLnZ6Mj9sUeBhkRs9yz - afE9G4bQQvpFS9Aa/ELtd1yj+QyiHuLkxDC5oxSA= -X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c -Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com - (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id - 1MoO2E-1jUaw13WDg-00onqT; Tue, 07 Jan 2020 19:16:05 +0100 -From: Stefan Wahren <wahrenst@gmx.net> -To: Zhang Rui <rui.zhang@intel.com>, - Daniel Lezcano <daniel.lezcano@linaro.org>, - Amit Kucheria <amit.kucheria@verdurent.com>, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - Florian Fainelli <f.fainelli@gmail.com>, - Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> -Subject: [PATCH V3 3/4] ARM: dts: bcm2711: Enable thermal -Date: Tue, 7 Jan 2020 19:15:56 +0100 -Message-Id: <1578420957-32229-4-git-send-email-wahrenst@gmx.net> -X-Mailer: git-send-email 2.7.4 -In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -X-Provags-ID: V03:K1:nnCaGh26y5WZ7Y+Du8wo80ycqs5dd0zUOiU8IyxmRBut3vh+kbS - hWpSdRT6jUdGy0zdQC4p0GWbndKZlE8PcisuGyj1O6JS+PZF0lvHyqMgg93jy1GqVcINVAT - m9kwkGNF9DR+OKHvvajSgRYV5gRp3BIZpN7jBioSwAr2xEZCwI3aFYzZL0/nM1tdwZi08do - f9kojNp6jUr4vT/oaeL8g== -X-Spam-Flag: NO -X-UI-Out-Filterresults: notjunk:1;V03:K0:eypfnYKWbbQ=:3vD1OpSV55xSk4yzLYUc8F - ss17pikWe3sKTkGoI3BFvSL2dMCJntwyDYvcMBefgSpGcgd2z3eK3CjpAhx5Z35UkdK7cr6ep - lsMn51ut2iKyCZ1FGpPY5mDJroBPqJFUDxNCh0BAQJn/Vyd5aWvtIStBX8vhSZeSLwOpkgYtq - INAm+O2AD+nw7gqpqya1+fc2pMPvW9S2I6sYSLCuOP1gqJraZSDDgUp8hn2DbLlhVPgD5MSet - VUMc8Crizcnnhu+3dx1SJtxS/Vykaw4X0YVr5/sV3mNPI9sqSWpndRywGkJfhs6ruCBSTZPqD - lR/PwjRR58iwZ2J2O3oBfahA9dQYEQNQqxsQxIcJ296R7AyEpq8PePDjT6Z0qKPaIP1KiR9/8 - bq+HA6Be/peO7fvhwDxJNy0yQSnXJDjLqu8Gop7ybALxiK+c+alVEtyBJwd7wL+FCdL3hNnHi - gGsohKQNAHfMWgJXcnYBqr/mcSjQf07IYNuidrfs7biH4SIVMneDFBM+bDyXpPKaHrAf3f8AJ - 6RwAQAuSBoGRrR6lOKFx63o3tmAI4R/vfyosXbLXm8nheUTCB3tmW+/J++QiCrafqCA8rzZCF - eZgIaNncjMxPxyUmV608AjOWEnE6xf0cXC57Cw6mOq19oVtp3qesCkDvbyaAskyCX2IXZJ7hp - R4RpokH33Uhu6IaIyGV2LuP3GZK9YmAOG1CZc6l5u7se8WRN7N1n2HkLLe2u6DM/WjZmdT7HR - uOAbQn7NWoke1DXdnj57eY3h0Y+OJlYvhkdh7pWVUiWRLRqOOnD+ME2CRRRqD6RlKuSilEpeu - qvPT2/eJFvIL4pejhNNrPB2C3RiHhHmyeUbQo+2Na5X/sLn3vwhfDac57ev5NKIeD7FPGPgzr - 4YF/E/rSQhXylqhqwomJMyE77jIsa09OD73gY0UYIW38Z3bfj1MlNpM3Dzq68Uy7ILcunYJgS - JYdohNePZWLE8JBRj3z04HdTs4ogtDQLrJZEoPqWJwyYXpIblHXV3hcEm99M6ZiBCVeJQz2st - narTYNER7iY19YC1Bc/z0ahz5Y/DiKEZI1KwPjmqzwl9DtgiFpahgvJ/htv/UFTl6UZHKBM9g - k/uJbVQbreofaRz730uheNJu0ruz6QvWSAMa21Ge+vl84CGbcDOtC2ydUXhbjpVYa12n5Eg5A - pQS244oqQTS3hWqK8xrFNm4jmBcCDAPGv3xVBW1Jg6pRqybLzta5jN+FfPaMbWh0yVV5VO6qu - tKLGAzCzdsJVRK3ly7+y1msAZ7D0THx91qoghfQ== -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20200107_101615_402374_8C4F49A4 -X-CRM114-Status: GOOD ( 10.05 ) -X-Spam-Score: -0.2 (/) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-0.2 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail - provider (wahrenst[at]gmx.net) - -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, - no trust [212.227.15.18 listed in list.dnswl.org] - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from - envelope-from domain - 0.1 DKIM_SIGNED Message has a DKIM or DK signature, - not necessarily - valid - -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from - author's domain - -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, - Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org, - linux-pm@vger.kernel.org -MIME-Version: 1.0 -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -This enables thermal for the BCM2711 (used on Raspberry Pi 4) by adding -the AVS monitor and a subnode for the thermal part. - -Signed-off-by: Stefan Wahren <wahrenst@gmx.net> -Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - --- -2.7.4 - -diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi -index 961bed8..96f341d 100644 ---- a/arch/arm/boot/dts/bcm2711.dtsi -+++ b/arch/arm/boot/dts/bcm2711.dtsi -@@ -66,6 +66,17 @@ - IRQ_TYPE_LEVEL_HIGH)>; - }; - -+ avs_monitor: avs-monitor@7d5d2000 { -+ compatible = "brcm,bcm2711-avs-monitor", -+ "syscon", "simple-mfd"; -+ reg = <0x7d5d2000 0xf00>; -+ -+ thermal: thermal { -+ compatible = "brcm,bcm2711-thermal"; -+ #thermal-sensor-cells = <0>; -+ }; -+ }; -+ - dma: dma@7e007000 { - compatible = "brcm,bcm2835-dma"; - reg = <0x7e007000 0xb00>; -@@ -363,6 +374,7 @@ - - &cpu_thermal { - coefficients = <(-487) 410040>; -+ thermal-sensors = <&thermal>; - }; - - &dsi0 { - -From patchwork Tue Jan 7 18:15:57 2020 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net> -X-Patchwork-Id: 11321575 -Return-Path: - <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E84E3138D - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:16:44 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id C25C220848 - for <patchwork-linux-arm@patchwork.kernel.org>; - Tue, 7 Jan 2020 18:16:44 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="EHM8n8KN"; - dkim=fail reason="signature verification failed" (1024-bit key) - header.d=gmx.net header.i=@gmx.net header.b="Idmw230V" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C25C220848 -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=gmx.net -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: - List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: - In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: - Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc - :Resent-Message-ID:List-Owner; - bh=FI3zHZWFfRXQ5XfvKcNW0c7MrnTDIP/1CsQtLlw0qhk=; b=EHM8n8KNF/sE/U53eeci7J27D/ - L6VFKJctUZqFEOfeRIf3CEPuX3Pk7huocVD4K/yvqJnuSIC9Sje4gjYORUjtz0xEW8CKjxjf5sbo4 - iYEtnBsDYtEQWwTsMvpNbOtR9yZQiY7fMcQK8nhC4R5A9vtv43ytxgkV84YVL5SLBHhGZjzUmuRb9 - FKBtltjzocTcD8mbcVN6Lvjcu/a4J5A+/LHRH7nzuQ7ChaJ9Mw/y7zJHcaBuEOhba/3Dzd9+03jLD - oOExZgjTpNtAXsLye/WHt/BTHen3PFAjAAMLvLPE6fEStapg1ZuOa2ueopvmsCSgQ7KMmBHUkX5NX - 8kfsNepQ==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotPH-0004Mo-B2; Tue, 07 Jan 2020 18:16:43 +0000 -Received: from mout.gmx.net ([212.227.15.19]) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1iotOo-0003u5-Ni - for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000 -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; - s=badeba3b8450; t=1578420966; - bh=ywvSvkZtxIFgQK2uzodzJ55BZghcFbFAXSLbAwo36wY=; - h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; - b=Idmw230VWPBhZW2v+dAYw62P6JElxPEL/uqCuoHO0gDvDK3VOnfVdcv9d1ALNkZ2+ - Y+8kPpr9BiXxUfm8bw+Xmjv/SzBxlFpg2EK/a8Hg1b+OzEQC+AII1OlGsc5FjmhCdA - PYd0h0yBiUAl3qCFDZaEL6GR5SqLeAQ2sKdGgVLY= -X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c -Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com - (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id - 1M1HZo-1irdDo1LiM-002s6V; Tue, 07 Jan 2020 19:16:06 +0100 -From: Stefan Wahren <wahrenst@gmx.net> -To: Zhang Rui <rui.zhang@intel.com>, - Daniel Lezcano <daniel.lezcano@linaro.org>, - Amit Kucheria <amit.kucheria@verdurent.com>, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - Florian Fainelli <f.fainelli@gmail.com>, - Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> -Subject: [PATCH V3 4/4] ARM: configs: Build BCM2711 thermal as module -Date: Tue, 7 Jan 2020 19:15:57 +0100 -Message-Id: <1578420957-32229-5-git-send-email-wahrenst@gmx.net> -X-Mailer: git-send-email 2.7.4 -In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net> -X-Provags-ID: V03:K1:KgT8/xCsDfTXBG/ZvIRxjN+W6EAwuQgL8jv7F25Vy4z+LXj8G1P - FvRXVhgSwOlulZ964d6rnvX7HL7dcwoY5KFt4EhM20cYoQ7YJ90EDHTamYirCxIqbox1UqU - ONycfR3lNn3uKEv5yBZAPy3RJBy/loio9XdwmoBs6tYkYaaVTtIztndrmforVufG7I03eQv - W3OI55XFGJevmqp5FLjsQ== -X-Spam-Flag: NO -X-UI-Out-Filterresults: notjunk:1;V03:K0:XO0bOe0Ep8o=:kSgMi1gYunuPgzCu/XiJe8 - 55cXkb2VEpp+0ZB7lgktyFvshluW/8SnuuoMm0yhsBOUju5moUy3EZx62VduAycSWKQ78+NnI - nuuYaeMimJEZFIkXd/bIo8qA7TQgY5Ai7wFwAtnufeOK6yhqeXld+O6drS9SE7OUPwiRaFLvX - a4z3zZIJ/WSdgxfIjZJl+1A8tbqJu7QHtc7BvlrnNqu0L7T9RP/4wKZFs+iqJxgb56ONYX6aW - eJEAdrGioHnjoWK1N2opYc6mYPThXU7WIGI67W1LEp4sdfzemZwQzCuEX4itQkAnL2DeCQ5Ga - TB3twKe/JfrKyCgWbB1LzE4zIekmdDkNCLP1O1ry0t5+zdTGCZqjgF0aW1XQwp7nUNAKqvnkR - oGFH00fcZrTjP7GTsAHM1SFbj/j8S4XbS2KGdNqEc+X3ozKoe941uA4inBhtY+DCHFbDc82RB - saG1XiaXGsPKwjXuAqFoy+XoGrMHnHWh5g9mP7Zd8K8eY9UW2y2qLVLlIfRct6viL+vCIg5bq - bBOs7WNQuQK66Q8JwSFVNkWe5cjQ4sjCurxBOCJu6414eyACNqp75abbUH3UXbZ1ZWeQB05gV - pAQjr6XZtxFBUpzRIscP1mp92bxLC60clMvMwMY7L3J2tmJzvf+8KaEZ46/AXpMn/5UHILhV8 - RHgsmsQOZtPYbgegdxdoBc4kR22+31P9QayG4NNZpKN6TEFlqDfoNUbNez4dIJleG22IlSiAm - HnfbzPvVXjeK2JiZBcfGTDhAuoGbB8Fj+2eQ26gxDe6zKM6e+8/ggitNae4Dbbw0frlGYT/H6 - Wawodx5tZYYdi+XZ6h7xR7gVz+qUtDxU3/g+269QUGswvjIS+a6z7lzkEuyK7V6ieV8u7Eh4X - sN1khUObrdWcgax2sqRsD0RD05hMRw3yVlf9xuWpUo/SWo+mVR/rXK6YkXDiRCL5kmMzaJ/ZF - b4PktMNM1fUynsV780QqPYKWWfAdvMlDCWnofVBqBUPHArgmZeAkiFzfCcecwEBz+jAxwUZmE - ANzUWQENqeKB/qYYpxtBwoBTpfvKT9aAuk83/Xxf8kHjFo2JE0BLWXqe+/i6FQUtXR4VmNd2G - UVWlOQJHCJCaXerv7dUwcdFH2tluzwimauf3xv9Suhg06gzqG2AzZefj6DSqfSFAESG+a1r9m - u1k2ZLky+lFSekVHbbxsc5W/2rXnl7YvbHVJ1NqvR0HhNJjn7ISBZGvzeJz7kFQCKjXZiQA76 - XprBZmCVmQkyOoIyjE6h4g5xdzecqsXUyniZ7MA== -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20200107_101615_064044_029A3653 -X-CRM114-Status: GOOD ( 10.12 ) -X-Spam-Score: -0.2 (/) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-0.2 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail - provider (wahrenst[at]gmx.net) - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, - no trust [212.227.15.19 listed in list.dnswl.org] - -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from - envelope-from domain - 0.1 DKIM_SIGNED Message has a DKIM or DK signature, - not necessarily - valid - -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from - author's domain - -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, - Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org, - linux-pm@vger.kernel.org -MIME-Version: 1.0 -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -This builds the BCM2711 thermal driver as module for the Raspberry Pi 4. - -Signed-off-by: Stefan Wahren <wahrenst@gmx.net> -Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - arch/arm/configs/multi_v7_defconfig | 1 + - arch/arm64/configs/defconfig | 1 + - 2 files changed, 2 insertions(+) - --- -2.7.4 - -diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig -index 3f1b96d..f5d19cc 100644 ---- a/arch/arm/configs/multi_v7_defconfig -+++ b/arch/arm/configs/multi_v7_defconfig -@@ -496,6 +496,7 @@ CONFIG_IMX_THERMAL=y - CONFIG_ROCKCHIP_THERMAL=y - CONFIG_RCAR_THERMAL=y - CONFIG_ARMADA_THERMAL=y -+CONFIG_BCM2711_THERMAL=m - CONFIG_BCM2835_THERMAL=m - CONFIG_BRCMSTB_THERMAL=m - CONFIG_ST_THERMAL_MEMMAP=y -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 6a83ba2..b2f6673 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -442,6 +442,7 @@ CONFIG_ROCKCHIP_THERMAL=m - CONFIG_RCAR_THERMAL=y - CONFIG_RCAR_GEN3_THERMAL=y - CONFIG_ARMADA_THERMAL=y -+CONFIG_BCM2711_THERMAL=m - CONFIG_BCM2835_THERMAL=m - CONFIG_BRCMSTB_THERMAL=m - CONFIG_EXYNOS_THERMAL=y diff --git a/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch b/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch new file mode 100644 index 000000000..dd0087104 --- /dev/null +++ b/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch @@ -0,0 +1,168 @@ +From patchwork Wed Mar 4 13:24:37 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11420129 +Return-Path: + <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 13:24:52 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 13:24:52 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="rVot4hOX" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To + :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: + Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: + List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi + AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ + YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI + 3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+ + 3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk + vPYT4iiUYIWQEEsfDJoA==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 28610AAC7; + Wed, 4 Mar 2020 13:24:42 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: Rob Herring <robh+dt@kernel.org>, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus +Date: Wed, 4 Mar 2020 14:24:37 +0100 +Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C +X-CRM114-Status: GOOD ( 14.37 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org, + linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +Depending on bcm2711's revision its emmc2 controller might have +different DMA constraints. Raspberry Pi 4's firmware will take care of +updating those, but only if a certain alias is found in the device tree. +So, move emmc2 into its own bus, so as not to pollute other devices with +dma-ranges changes and create the emmc2bus alias. + +Based in Phil ELwell's downstream implementation. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +--- + +Changes since v1: + - Add comment in dt + - Fix commit title + + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 + + arch/arm/boot/dts/bcm2711.dtsi | 25 ++++++++++++++++++++----- + 2 files changed, 21 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +index 1d4b589fe233..e26ea9006378 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -20,6 +20,7 @@ memory@0 { + }; + + aliases { ++ emmc2bus = &emmc2bus; + ethernet0 = &genet; + pcie0 = &pcie0; + }; +diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi +index d1e684d0acfd..a91cf68e3c4c 100644 +--- a/arch/arm/boot/dts/bcm2711.dtsi ++++ b/arch/arm/boot/dts/bcm2711.dtsi +@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 { + status = "disabled"; + }; + ++ hvs@7e400000 { ++ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; ++ }; ++ }; ++ ++ /* ++ * emmc2 has different DMA constraints based on SoC revisions. It was ++ * moved into its own bus, so as for RPi4's firmware to update them. ++ * The firmware will find whether the emmc2bus alias is defined, and if ++ * so, it'll edit the dma-ranges property below accordingly. ++ */ ++ emmc2bus: emmc2bus { ++ compatible = "simple-bus"; ++ #address-cells = <2>; ++ #size-cells = <1>; ++ ++ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; ++ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>; ++ + emmc2: emmc2@7e340000 { + compatible = "brcm,bcm2711-emmc2"; +- reg = <0x7e340000 0x100>; ++ reg = <0x0 0x7e340000 0x100>; + interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clocks BCM2711_CLOCK_EMMC2>; + status = "disabled"; + }; +- +- hvs@7e400000 { +- interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; +- }; + }; + + arm-pmu { diff --git a/ARM64-Tegra-fixes.patch b/ARM64-Tegra-fixes.patch new file mode 100644 index 000000000..6ddfc2322 --- /dev/null +++ b/ARM64-Tegra-fixes.patch @@ -0,0 +1,477 @@ +From patchwork Mon Feb 24 14:34:33 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1243145 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=duOxTEf6; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48R4Mz3K4gz9sRR + for <incoming@patchwork.ozlabs.org>; + Tue, 25 Feb 2020 01:34:55 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727815AbgBXOew (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Mon, 24 Feb 2020 09:34:52 -0500 +Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6094 "EHLO + hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727498AbgBXOew (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Mon, 24 Feb 2020 09:34:52 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e53debf0001>; Mon, 24 Feb 2020 06:33:35 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Mon, 24 Feb 2020 06:34:51 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:51 -0800 +Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL101.nvidia.com + (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Mon, 24 Feb 2020 14:34:50 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com + (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Mon, 24 Feb 2020 14:34:50 +0000 +Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e53df090001>; Mon, 24 Feb 2020 06:34:50 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Thierry Reding <thierry.reding@gmail.com> +CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>, + Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org> +Subject: [PATCH 1/4] ARM64: Tegra: Enable I2C controller for EEPROM +Date: Mon, 24 Feb 2020 14:34:33 +0000 +Message-ID: <20200224143436.5438-1-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1582554815; bh=SKhUz0YkoB6pD4YoE/4KFxZbYw2qmSp519cZdmcBM3o=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + X-NVConfidentiality:MIME-Version:Content-Type; + b=duOxTEf6wTpBnmdA4GzgtJ0CYXr5t34ZZNN48pc9hExmRqaCcppGHAY2wcXqnjNmL + YwvDy0gfFikGS9gPJKICW2X6f4iOcgfnVhYOWdgnzSFD1bhtOoN+bEcXPC+LRDY89m + uAwuuKQR4MMohz9C8MW8xyatlc13ZEU0jeW1+S3PYfX2GhwRUooeFCGnmLUso5s2DZ + 65p26CoCGdQNBARsw2TNevBzLshNSXvHBdlFiKSs4S0hB7yJJrCwZx2JsjOm+aRtb3 + dgVHvAZAd8GLLKC8NvPCAhbIRhDt0vkyWmqHnB5suduti7g4QA1Eb8HLAXB5ptvzeK + jor+qP+NC8CVQ== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +Commit a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 +module") populated the EEPROM on the Jetson TX1 module, but did not +enable the corresponding I2C controller. Enable the I2C controller so +that this EEPROM can be accessed. + +Fixes: a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 module") + +Cc: <stable@vger.kernel.org> +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi +index cb58f79deb48..95b1a6e76e6e 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi ++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi +@@ -265,6 +265,8 @@ + }; + + i2c@7000c500 { ++ status = "okay"; ++ + /* module ID EEPROM */ + eeprom@50 { + compatible = "atmel,24c02"; + +From patchwork Mon Feb 24 14:34:34 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1243146 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=YrupJt5o; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48R4N1059Pz9sRR + for <incoming@patchwork.ozlabs.org>; + Tue, 25 Feb 2020 01:34:57 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727498AbgBXOe4 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Mon, 24 Feb 2020 09:34:56 -0500 +Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8365 "EHLO + hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727803AbgBXOe4 (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Mon, 24 Feb 2020 09:34:56 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e53deec0000>; Mon, 24 Feb 2020 06:34:20 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Mon, 24 Feb 2020 06:34:55 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:55 -0800 +Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com + (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Mon, 24 Feb 2020 14:34:55 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com + (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Mon, 24 Feb 2020 14:34:55 +0000 +Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e53df0d0000>; Mon, 24 Feb 2020 06:34:54 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Thierry Reding <thierry.reding@gmail.com> +CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>, + Jon Hunter <jonathanh@nvidia.com> +Subject: [PATCH 2/4] ARM64: tegra: Add EEPROM supplies +Date: Mon, 24 Feb 2020 14:34:34 +0000 +Message-ID: <20200224143436.5438-2-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com> +References: <20200224143436.5438-1-jonathanh@nvidia.com> +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1582554860; bh=XQRed+hM+dOmUn7lEyFBRTITiHe/kmVf6bYnTKyb4yU=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + In-Reply-To:References:X-NVConfidentiality:MIME-Version: + Content-Type; + b=YrupJt5osNrArZbD3/6N+E76P788S2kgwb7HnwldZ99/x70lrAIXTKHOx35uqz7o0 + bsYj1jAiz+BrmkHt678TBaesev2pBBcp8G+zkGDX+M6MWEvTixhn0bBERoHpnmuhQl + 1fWBcDKGg9r4KT46RFxrjCcRek8FB1gb1nM00FneNHFyguKuZEzRuMvoPfZEPr0Pm3 + HaB3AybSYgm2KABS5aZo/a2/9sIP0Bx2St673Bx+9vz89pPr8lWjHZO9QjIUdJn2Qw + 5rEeeEdOKkbx0RMyKaPAPIdhmrnVzrcyrnZYmf0KnxXJCWitqt2cyAu6uDjPI8kiL+ + JhWqRAza5osKg== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +The following warning is observed on Jetson TX1, Jetson Nano and Jetson +TX2 platforms because the supply regulators are not specified for the +EEPROMs. + + WARNING KERN at24 0-0050: 0-0050 supply vcc not found, using dummy regulator + WARNING KERN at24 0-0057: 0-0057 supply vcc not found, using dummy regulator + +For both of these platforms the EEPROM is powered by the main 1.8V +supply rail and so populate the supply for these devices to fix these +warnings. + +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 + + arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 + + arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 1 + + arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 + + arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 2 ++ + 5 files changed, 6 insertions(+) + +diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +index d7628f5afb85..961b1be0c56b 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts ++++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +@@ -226,6 +226,7 @@ + compatible = "atmel,24c02"; + reg = <0x57>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; +diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi +index 947744d0f04c..da96de04d003 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi ++++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi +@@ -171,6 +171,7 @@ + compatible = "atmel,24c02"; + reg = <0x50>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; +diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi +index 95b1a6e76e6e..f87d2437d11c 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi ++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi +@@ -272,6 +272,7 @@ + compatible = "atmel,24c02"; + reg = <0x50>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; +diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts +index a3cafe39ba4c..c70a610f8e3a 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts ++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts +@@ -85,6 +85,7 @@ + compatible = "atmel,24c02"; + reg = <0x57>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; +diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts +index 848afd855da6..21ed1756b889 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts ++++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts +@@ -114,6 +114,7 @@ + compatible = "atmel,24c02"; + reg = <0x50>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; +@@ -124,6 +125,7 @@ + compatible = "atmel,24c02"; + reg = <0x57>; + ++ vcc-supply = <&vdd_1v8>; + address-bits = <8>; + page-size = <8>; + size = <256>; + +From patchwork Mon Feb 24 14:34:35 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1243147 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=cDDn02CY; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48R4N43Xmtz9sRQ + for <incoming@patchwork.ozlabs.org>; + Tue, 25 Feb 2020 01:35:00 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727825AbgBXOfA (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Mon, 24 Feb 2020 09:35:00 -0500 +Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8373 "EHLO + hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727803AbgBXOfA (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Mon, 24 Feb 2020 09:35:00 -0500 +Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e53def00000>; Mon, 24 Feb 2020 06:34:24 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate102.nvidia.com (PGP Universal service); + Mon, 24 Feb 2020 06:34:59 -0800 +X-PGP-Universal: processed; + by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:34:59 -0800 +Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com + (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Mon, 24 Feb 2020 14:34:59 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com + (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Mon, 24 Feb 2020 14:34:58 +0000 +Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e53df110000>; Mon, 24 Feb 2020 06:34:58 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Thierry Reding <thierry.reding@gmail.com> +CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>, + Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org> +Subject: [PATCH 3/4] ARM64: tegra: Fix Tegra186 SOR supply +Date: Mon, 24 Feb 2020 14:34:35 +0000 +Message-ID: <20200224143436.5438-3-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com> +References: <20200224143436.5438-1-jonathanh@nvidia.com> +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1582554864; bh=lUBb2WrI059cKuJQ/lQ6zAeA/dUVGu1GIMzWYnFLzuA=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + In-Reply-To:References:X-NVConfidentiality:MIME-Version: + Content-Type; + b=cDDn02CYOMd1x5bK/t7LoZ9fYn59xu8HcaGTMnsTAUfJYYkF5vUqcWjve/5PtksEv + +bYF/ELx+KLrbyXQ4LtKHW1V8F2iDHhNR1Rrs+/MUuPuxuOXwTsaYJgLd2A/FWO54O + men6fW7E5dJS7lmfJ050sgzZs+TABrFO/dyzOfrekczCVpqlnJEsPvdpFlBbzg125A + ZW3sMSe1pW+54pvkCWL7YF/RFnb9zefc0feJmu0Ky+kMH2QOFPSvufzsFBxOr1bUaJ + wqzLNTYwY6tWNy7axusq4KLKuCViERaAqSs/UlzzsrOQHJeecBOlH2GkFi8z7JASz2 + ucv0C5PUNzlTg== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +The following warning is observed on the Jetson TX2 platform ... + + WARNING KERN tegra-sor 15540000.sor: 15540000.sor supply \ + vdd-hdmi-dp-pll not found, using dummy regulator + +The problem is caused because the regulator for the SOR device is +missing the '-supply' suffix in Device-Tree. Therefore, add the +'-supply' suffix to fix this warning. + +Fixes: 3fdfaf8718fa arm64: tegra: Enable DP support on Jetson TX2 + +Cc: <stable@vger.kernel.org> +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +index 961b1be0c56b..1af7f9ffb7b6 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts ++++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts +@@ -278,7 +278,7 @@ + status = "okay"; + + avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>; +- vdd-hdmi-dp-pll = <&vdd_1v8_ap>; ++ vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>; + + nvidia,dpaux = <&dpaux>; + }; + +From patchwork Mon Feb 24 14:34:36 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1243148 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=K9z8jYfd; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48R4N71cwzz9sRQ + for <incoming@patchwork.ozlabs.org>; + Tue, 25 Feb 2020 01:35:03 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727830AbgBXOfC (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Mon, 24 Feb 2020 09:35:02 -0500 +Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6117 "EHLO + hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727803AbgBXOfC (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Mon, 24 Feb 2020 09:35:02 -0500 +Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e53deca0000>; Mon, 24 Feb 2020 06:33:46 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate102.nvidia.com (PGP Universal service); + Mon, 24 Feb 2020 06:35:01 -0800 +X-PGP-Universal: processed; + by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:35:01 -0800 +Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com + (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Mon, 24 Feb 2020 14:35:01 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com + (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Mon, 24 Feb 2020 14:35:01 +0000 +Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e53df140006>; Mon, 24 Feb 2020 06:35:01 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Thierry Reding <thierry.reding@gmail.com> +CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>, + Jon Hunter <jonathanh@nvidia.com> +Subject: [PATCH 4/4] ARM64: tegra: Populate LP8557 backlight regulator +Date: Mon, 24 Feb 2020 14:34:36 +0000 +Message-ID: <20200224143436.5438-4-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com> +References: <20200224143436.5438-1-jonathanh@nvidia.com> +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1582554826; bh=8MBs7jrK7WrFNE7o6bG0zu41Sicfxu97bK94j6RYNJs=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + In-Reply-To:References:X-NVConfidentiality:MIME-Version: + Content-Type; + b=K9z8jYfdaYDh/XGz5S/vyzBWYN4ZPYT6jkue5E5YiUVIyQgLCoZqfSIh3h9luB+/C + DhYTYMkUQRLasUE0VX9dr4Bn0Hxeaw8DjYS7BUq4LqfNwWjsCSsNEhk26FGBEUvhRH + i2nMUMk5Ivw78ouR6qNZhI6freANsproJ+yQkA0cC9WXj5mQw4xcKRmL48dccxrX47 + aQi0BDk3SCzZBAa+4G3yynAGiRNiFuLVWkg/vFMcq1JDp6a2mVs/CS3Qj0/heE9gPn + Qr2Wy0Oa6tg3jhxR9hk7qyy5FlkfDAtJOlUt6sPloPS4bhqqDJtbnXZL7lzHDP+sw+ + RZcjavnvJtCIQ== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +The following warning is observed on Jetson TX1 platform because the +supply regulator is not specified for the backlight. + + WARNING KERN lp855x 0-002c: 0-002c supply power not found, using dummy regulator + +The backlight supply is provided by the 3.3V SYS rail and so add this +as the supply for the backlight. + +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts +index c70a610f8e3a..ea0e1efa6973 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts ++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts +@@ -56,6 +56,7 @@ + backlight: backlight@2c { + compatible = "ti,lp8557"; + reg = <0x2c>; ++ power-supply = <&vdd_3v3_sys>; + + dev-ctrl = /bits/ 8 <0x80>; + init-brt = /bits/ 8 <0xff>; diff --git a/Add-LCD-support-for-Pine64-Pinebook-1080p.patch b/Add-LCD-support-for-Pine64-Pinebook-1080p.patch new file mode 100644 index 000000000..632601e4c --- /dev/null +++ b/Add-LCD-support-for-Pine64-Pinebook-1080p.patch @@ -0,0 +1,1033 @@ +From patchwork Wed Feb 26 08:10:07 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com> +X-Patchwork-Id: 11405511 +Return-Path: + <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C17F138D + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:10:50 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 285BF20714 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:10:50 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="cdeyR8r0"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="Q0cii6N4" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 285BF20714 +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=Peo+SfFmr062rl3tgDW98UrixycGQzBn/gdB0fqrEec=; b=cdeyR8r0WrrQXL + fhHLecv9WUzj5mN4Jb7+S8U3VVCIJu7TkDD13MiIv2xqHbC9HXLBkGdb2Vrq2Rcfkl/jwWjXcgwST + vrUCWMU4jaNlxmeTiAXDyI1I6SEZ/9haXD8IUv7hU1BNoVyeH2GeaVHvTAwIA7TKEWzJHb3/naGAz + Yir51L7gXJoATQ86WVBgdnZ/6rUUmZe1Gs9aHwEjMZ5Rz/9WNydTH/VLWBCVDA9zdZiq8+jhja7y6 + Dh8VhWGpCuvJ/6W0c7viQtFIuJAYI2cYQmI+ebHLMeiv0g7cZnaTxi/PPSICIl3iA9MSUbfVcYSoC + Ro1yQC9H+yqHToXqdWTg==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmK-0000to-Bs; Wed, 26 Feb 2020 08:10:48 +0000 +Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmH-0000rv-7o + for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:46 +0000 +Received: by mail-pl1-x644.google.com with SMTP id a6so990257plm.3 + for <linux-arm-kernel@lists.infradead.org>; + Wed, 26 Feb 2020 00:10:44 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=; + b=Q0cii6N45xFi8jvZk47bAoc1Nxu6hFKn2R/6gr1ZfjKbVoDJZ64PKB8Z3UWgfpC96z + m858biDFlV7/4mo1LjVTUmbbBHm1yKrJnJ3uLVZBlEdyOFSDznZRxrzu6B/mSXoBfdGU + mlGpBVLSLPU/z8ykPcedU1XFyCgTRivYgIcpSqG+QITc7/eIRdzyugFFz9Yzl27ql70w + 8AlOefrAt/HgAlO+4L6JoXtZp+YN7BobPP6qXr0OfqH/1PLZecbnI0vC7uItRmmZkPfN + j7AsPd8mIOV8s5KgCaaK+xwtreytUn7QQZvq+Frfrl0pLWndKlgav8D5uWnV85pooXdR + SCgg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=; + b=ECNexu4zW9OhYucRWaQRPAtEEWE7WmtUxDePEa2BlUp2b5Kd9R3BagblFLB6VAHhjR + wSrCiVTMvlAgNAiXJuKq/J5YnOKBFR7YdGYc9odgo3waiK/XQw5lNOjmNA3hJepAn0wb + MXB9jYsbW2B5kyNLwCFFG6d6jTJEY6Q87mzTx3wqL6nBq6sjdHN5JvBkaERdHCCqKUVH + /jOwV7W2QFG0Kb+DYvfelZbfBCUOMf68VHiwQICiY52q5geL/Oa8/ZO56kEfCx3geUXF + qCuCL4PKAO3hL6jqm5peuzVj69VP64wtkL/eTdM7KKlJDTczayTs3A6DMsI9lRzmA7Ro + w63A== +X-Gm-Message-State: APjAAAWTEdsoaCfLa1vBLhPyuzgRQw35FJ8aGRWduCgpvWjMqcy6TWNi + T7YrobqhUcuRzq8O/y3mjZo= +X-Google-Smtp-Source: + APXvYqwzmN2dNDKDPwprqjYoy3wHRxeIo1QTGdy8Nrs8WKG2CT6K8e2fuBfcpdmu4anfHjvkmdpjJQ== +X-Received: by 2002:a17:902:6184:: with SMTP id + u4mr2301682plj.216.1582704644297; + Wed, 26 Feb 2020 00:10:44 -0800 (PST) +Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net. + [216.71.213.236]) + by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.43 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 26 Feb 2020 00:10:43 -0800 (PST) +From: Vasily Khoruzhick <anarsoul@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>, + Andrzej Hajda <a.hajda@samsung.com>, + Neil Armstrong <narmstrong@baylibre.com>, + Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, + Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, + Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>, + Heiko Stuebner <heiko.stuebner@theobroma-systems.com>, + Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>, + Stephen Rothwell <sfr@canb.auug.org.au>, + Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org, + devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org +Subject: [PATCH v2 2/6] drm/bridge: anx6345: don't print error message if + regulator is not ready +Date: Wed, 26 Feb 2020 00:10:07 -0800 +Message-Id: <20200226081011.1347245-3-anarsoul@gmail.com> +X-Mailer: git-send-email 2.25.0 +In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com> +References: <20200226081011.1347245-1-anarsoul@gmail.com> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200226_001045_305939_7F59723B +X-CRM114-Status: GOOD ( 13.16 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2607:f8b0:4864:20:0:0:0:644 listed in] + [list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [anarsoul[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +We don't want to print scary message if devm_regulator_get() returns +-EPROBE_DEFER + +Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +--- + drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c +index 0d8d083b0207..0bf81b9b5faa 100644 +--- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c ++++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c +@@ -714,14 +714,18 @@ static int anx6345_i2c_probe(struct i2c_client *client, + /* 1.2V digital core power regulator */ + anx6345->dvdd12 = devm_regulator_get(dev, "dvdd12"); + if (IS_ERR(anx6345->dvdd12)) { +- DRM_ERROR("dvdd12-supply not found\n"); ++ if (PTR_ERR(anx6345->dvdd12) != -EPROBE_DEFER) ++ DRM_ERROR("Failed to get dvdd12 supply (%ld)\n", ++ PTR_ERR(anx6345->dvdd12)); + return PTR_ERR(anx6345->dvdd12); + } + + /* 2.5V digital core power regulator */ + anx6345->dvdd25 = devm_regulator_get(dev, "dvdd25"); + if (IS_ERR(anx6345->dvdd25)) { +- DRM_ERROR("dvdd25-supply not found\n"); ++ if (PTR_ERR(anx6345->dvdd25) != -EPROBE_DEFER) ++ DRM_ERROR("Failed to get dvdd25 supply (%ld)\n", ++ PTR_ERR(anx6345->dvdd25)); + return PTR_ERR(anx6345->dvdd25); + } + + +From patchwork Wed Feb 26 08:10:08 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com> +X-Patchwork-Id: 11405525 +Return-Path: + <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BA056930 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:11:35 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 9013820714 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:11:35 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="LGhb4fkQ"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="ZqFr2Xde" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9013820714 +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=8ADp0ZCf/RXeiG8WcqeiUa/p9bRVFg9MWHrmkEvydR4=; b=LGhb4fkQPVOahi + BJtXEN4XzL/JpAolHzThXXSCz6Ga6a4XRsdusD5lW+G9d20OKblS1Li2yUXQBF3gD69zww/f2uZ89 + SCjOIeF8YUi4eRd//H2ki/ugHNFjjr7D5+6X8lBg3oTpatQ2D+Snv83BF6PgDCBec7lxy6SgUaP77 + ouDw0lLlP00NBYXZp31b5lBknpI4oolPTNfq/3hCcsnQGKORXv4xPzuVGOj8m4Aj9K9Uc1D9o+S9t + kYan/5JdjUcE2XmXgKkvQ4mK60O74eH9QZ1nqDxgtvQHnX7+JWnWoTTiYsV+8A/TxWEOTIeLpKZQJ + f5BizujU0K80o5bM8ckg==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rn4-0001aC-Nf; Wed, 26 Feb 2020 08:11:34 +0000 +Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmI-0000se-31 + for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:47 +0000 +Received: by mail-pj1-x1044.google.com with SMTP id fa20so941191pjb.1 + for <linux-arm-kernel@lists.infradead.org>; + Wed, 26 Feb 2020 00:10:45 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=; + b=ZqFr2XdedoNMMzSdc2eWipJbPoWCSoIWOaxz1zsBu+w5FRw0nlJVp7B9aMcVR/ECrM + fWpYYrpUhtSvO1rGsvHH3i7x8JxpD2QgM4DK0weubmj2twGyNSOa9Gvtg6KWDj0oARIV + ossJG+QlPSs1QhoRE2faVAv1lrRd7/LwUBqX6m+LwRkGl9SmUJ5qeccTbXxGKO/jke+J + hejsi+GJu4wBCG1LLI2Rb9i3hLwtSZ88dY/P2BygJXrOuCX1Xh6+4AO3P044cgvoby3X + oVgYppEgNor2/7HskWoAIOtOe2teNJqCPhYgfnRcBTVY+U0Ce7WQEZmjOKtWi3whIYeH + uQBQ== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=; + b=j3wqnMuutM7fm6+CgtpzUtqOybHnpB5v7GqNm5NrPLnZppqmIhQfo+XB29LZIR96Qs + Jy7BnRxwn82nTsr0gsi1J1SPyTVkFBfD/FPq2K+ScOhP7bMVMYU+T7gh7VCDvj1OqGCr + lwQ1+LNbccyZRW86D//6ySKwTfecrJ56FsWmrvWHvXykcnH8BIPijoOUTk7JgDMifSKZ + KGWkKaKZsVGgzycQMDy2UnKCcgvfJ8NNCHS0aJEy7YIhVHyHct2MLeU2jOQsBNJAoB8p + khuqKa1HHg9kFHvXcBokIyToppXiELRtmWg5Aixj6554KNk33a1wSglXIpxPHxncZ8sX + wMUw== +X-Gm-Message-State: APjAAAVIaRZ6h9Ll6HvsBP2/ITar71fuZ8QWSrR6RUAlo4+/JyCCMCmC + nfYQIUTeyMaWhjT3gpH48Ag= +X-Google-Smtp-Source: + APXvYqySsTMpSDO1lKEob5Z3qPaMibUnculbDtGi+2b/LHKNJPcUDEb49L+OdYHplPurgC0YCZJGNA== +X-Received: by 2002:a17:90a:32e4:: with SMTP id + l91mr3675046pjb.23.1582704645464; + Wed, 26 Feb 2020 00:10:45 -0800 (PST) +Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net. + [216.71.213.236]) + by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.44 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 26 Feb 2020 00:10:44 -0800 (PST) +From: Vasily Khoruzhick <anarsoul@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>, + Andrzej Hajda <a.hajda@samsung.com>, + Neil Armstrong <narmstrong@baylibre.com>, + Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, + Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, + Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>, + Heiko Stuebner <heiko.stuebner@theobroma-systems.com>, + Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>, + Stephen Rothwell <sfr@canb.auug.org.au>, + Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org, + devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org +Subject: [PATCH v2 3/6] dt-bindings: Add Guangdong Neweast Optoelectronics CO. + LTD vendor prefix +Date: Wed, 26 Feb 2020 00:10:08 -0800 +Message-Id: <20200226081011.1347245-4-anarsoul@gmail.com> +X-Mailer: git-send-email 2.25.0 +In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com> +References: <20200226081011.1347245-1-anarsoul@gmail.com> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200226_001046_126436_F508C228 +X-CRM114-Status: GOOD ( 10.72 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [anarsoul[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +Add vendor prefix for Guangdong Neweast Optoelectronics CO. LTD + +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +Acked-by: Rob Herring <robh@kernel.org> +--- + Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml +index 6456a6dfd83d..5dfbad67aa81 100644 +--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml ++++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml +@@ -661,6 +661,8 @@ patternProperties: + description: Netron DY + "^netxeon,.*": + description: Shenzhen Netxeon Technology CO., LTD ++ "^neweast,.*": ++ description: Guangdong Neweast Optoelectronics CO., LTD + "^nexbox,.*": + description: Nexbox + "^nextthing,.*": + +From patchwork Wed Feb 26 08:10:09 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com> +X-Patchwork-Id: 11405527 +Return-Path: + <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2CC5A930 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:11:45 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id D99A220714 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:11:44 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="NUXv3B19"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="TBrP0h2w" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D99A220714 +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=anQFpGzSkI8IBbKtjkscYMGuTNi8IBx1f7ryKOpbIQ4=; b=NUXv3B191+285a + VyP0wvrXMEDMQsqqwv88YNzVR2CeJlhZYqbOVNDVdMHvHr7VbKohas0brz70I9kD9oQKr8t4lNbcq + p27kG4qmaeRzFa9TSIHJ6PLhfmuWhOctg7DrOaYPazvpEuklClpuIdh1nARq7aHgGVbwUQ2d9UAeL + DNq8Ux3oAlmn2fRtjEYbI2QEFz9SsD8mL0pK+qeYhw864dbHZoD4qv2z3wiRIOFxP5kjt9+cGXF32 + U1GcKdog5IoElC7tP0e4kSeB6uhotxHuDO0FXghwnV/ScLxd+6TtAaNNox4x40LRQl7k4Cj5QGKgC + VUXOowbwTnzHE53PQGUQ==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rnE-0001ln-0r; Wed, 26 Feb 2020 08:11:44 +0000 +Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmJ-0000tK-MR + for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:48 +0000 +Received: by mail-pf1-x42d.google.com with SMTP id i19so1066942pfa.2 + for <linux-arm-kernel@lists.infradead.org>; + Wed, 26 Feb 2020 00:10:47 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=; + b=TBrP0h2wisco9iwCPRUPdbzfKPQaem8N0CCbkufM0ubNMvNGPVi7J4OrKi6XaCKbH6 + hh3Y+bgMR/KAzZy3SJxpHSn/W55kTsTGse062SF7bXdc1s6lOwPqxkWqbnhYBTrOOQRL + P5UEoGPV5IsF76w8fyduRaTE03AV7RIeG3tdyzE6dWtIWMgpvpx224lpnK6HQOTLFKGx + 8NN0VzAznR0u0zIR0NAXJZCtJ32GmXNwAp/DudApysZdxoB5XwxmgmLNpboYi0ogxMJL + H4NuemzoK00dffBEXYJVCaGEH3TCcpoSWqSDpn+UxmqlsA7Meikom5RyLGooaap33bAj + PsSg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=; + b=tNIHOh5/U2zSCDF9YxBv2gBrXaOp1Ic3Ed0/DF9W1SwZlsOm8NdJnPoG/Qzz4Zzq9f + XO2KlEwTsZL/p5cUoBsgJp31//jbQwtydKN7A6Bc8syqlzNqTKkbH0lWw27byIqRQNVb + LZPrt8szaFd6cOQMgYuhMuft7xy3AEwAflpXSPhYxAZ/7/+17p9vRxIYfeQL25gxolY5 + wcpVsTQNM58hJqeMjh5zlpTHzNVNi6eK1DfN4jgGyciaKSD2NkiJ8h94ilf+WPFSg2EC + tfX9NpVWx/fPa+99QUAGGBQZ6Rda+Iwf3iK2ypaJcz83ttVMLmZuoHn2gUauHWp5uwPX + nOQg== +X-Gm-Message-State: APjAAAXSV09JyCccUw4DNzettQ7Qf47judkIMcKg29H1A33F/f9wiexa + clMeRPA3ejNUAeXoRpvNjIE= +X-Google-Smtp-Source: + APXvYqx16ATSH0Ri7QydUSr5etiFpP7VXGwv2ajzCwfEDuf3Fsc6V5gruuHjTDm3C4cjgRnxu80rnQ== +X-Received: by 2002:a63:42c2:: with SMTP id + p185mr2844380pga.268.1582704646751; + Wed, 26 Feb 2020 00:10:46 -0800 (PST) +Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net. + [216.71.213.236]) + by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.45 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 26 Feb 2020 00:10:46 -0800 (PST) +From: Vasily Khoruzhick <anarsoul@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>, + Andrzej Hajda <a.hajda@samsung.com>, + Neil Armstrong <narmstrong@baylibre.com>, + Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, + Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, + Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>, + Heiko Stuebner <heiko.stuebner@theobroma-systems.com>, + Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>, + Stephen Rothwell <sfr@canb.auug.org.au>, + Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org, + devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org +Subject: [PATCH v2 4/6] dt-bindings: display: simple: Add NewEast + Optoelectronics WJFH116008A compatible +Date: Wed, 26 Feb 2020 00:10:09 -0800 +Message-Id: <20200226081011.1347245-5-anarsoul@gmail.com> +X-Mailer: git-send-email 2.25.0 +In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com> +References: <20200226081011.1347245-1-anarsoul@gmail.com> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200226_001047_734455_8E1B858A +X-CRM114-Status: GOOD ( 10.74 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2607:f8b0:4864:20:0:0:0:42d listed in] + [list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [anarsoul[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +This commit adds compatible for NewEast Optoelectronics WJFH116008A panel +to panel-simple binding + +Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +--- + .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +index 8fe60ee2531c..0e5d01ac32e1 100644 +--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml ++++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +@@ -39,6 +39,8 @@ properties: + - boe,nv140fhmn49 + # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel + - giantplus,gpm940b0 ++ # NewEast Optoelectronics CO., LTD WJFH116008A eDP TFT LCD panel ++ - neweast,wjfh116008a + # Satoz SAT050AT40H12R2 5.0" WVGA TFT LCD panel + - satoz,sat050at40h12r2 + # Sharp LS020B1DD01D 2.0" HQVGA TFT LCD panel + +From patchwork Wed Feb 26 08:10:10 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com> +X-Patchwork-Id: 11405529 +Return-Path: + <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98009138D + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:12:06 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 706E22084E + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:12:06 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="RFmzpGxa"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="l/TW+lXA" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 706E22084E +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=Pjezg2eBVUZyXclyd85ezSxR08wks+q8A4EL9XqNFV8=; b=RFmzpGxaCKDN3Z + TKB9iB1O5CpLIOo6BJ5GeTFZUYua2bsR/5wdIkFR8fHe0NtrBQBgr9UFC3bn7vAR4ElOOPsqyiY/U + sSFoABabi3ubYjB5EsEFderIxHy3jM1GCiATMOVuVlQUCp+RBUOrZ0BRaeCfZHQwQ+TC1XczMZi7K + 3XAWciGmtAuQ0Fc+gjavhcSmThyAtlQ6dsXPA4Hs4tprQ4d1n4JaaPj/aoigY2QgcBGm3ZoTjSf67 + lYjS0cBqOBMPxzeebuHILvAdrgyxP4euSXXQdM7ufztwwR60nibOMdsv9qjDABojmkq8B5MTZqdOH + 0ZaZ5qKKNoBg4Cc0s4tw==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rnW-00022y-I8; Wed, 26 Feb 2020 08:12:02 +0000 +Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmK-0000tn-HT + for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:49 +0000 +Received: by mail-pf1-x444.google.com with SMTP id x185so1062134pfc.5 + for <linux-arm-kernel@lists.infradead.org>; + Wed, 26 Feb 2020 00:10:48 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=; + b=l/TW+lXATIXM17aGIZ9zrNTKWKrYbTiLzzjCckt2sYGCNOgBJIAM/09gAYIyO8Ix1n + UHbe88pAp1n0plvmre5V5bbjfK092LKIqAYUkzsgoJS7/2xUSMZgE5o2q6j40HA9jjre + FF8uZvB+fx7B6YmX6nxlrWe2JsyENeFsB23HdsKTAR2dEJOG0eVZaT0pJNwkmq0+XMJC + c9jFO1zsFW7hO9kM7570YJrU/mpImzvlnR4RWJMtjUx3BXAFto3xHr0udkFVc1dm8Tg0 + Ip4cwJcKanfhov2dNsyjvshdovNKgTGIdSWpGBGikwWBexhz01R0zL94DTwVMPuTLhGV + /+nw== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=; + b=AFqJOlne6XiqyfXbe7Qg6mrk2SdVqJ7iExvkHRxNVYmdxUbR/6yRhvzOZQSVBtKC5i + TmW2u4Q8eZPHYreKvOIUWITey052Zg4u9hGHB3rMw7Av/4qxpWNPtkFqzZfU7XRxu98o + CGp2OcESKg6Ut1utUOOlHQrkxQCAKOG9z7/J5db2Ia8pCEzog0sZXpgIY4VSkT8+trYy + WcqYWGslvZVqZM/Vdc/26b2UTKBa6wqGA8lwIZ8hdr/UmSELSpEf6BVvU08zKfxoF/1B + 75us7suZtGwlG5X7xkj/8QUNiraZ4UQF4XTR7cywE+zar2l5vCrFG2751fJZrx9xW5+1 + w3oQ== +X-Gm-Message-State: APjAAAUZZE/KK0NMOoMfAeeMMg5NlS/caB+zFkrqz5jH670/oibneZxJ + h4YLd4JzSbuB9egyQmmLO68= +X-Google-Smtp-Source: + APXvYqy00/8d+Wer4Z0MFSOy0sPlhrq7zbo/TdsWVeXFTKfHPPar8rV+DBjhxAWH91y4lWNMO4S3Pw== +X-Received: by 2002:a63:ec0c:: with SMTP id j12mr2609426pgh.78.1582704647920; + Wed, 26 Feb 2020 00:10:47 -0800 (PST) +Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net. + [216.71.213.236]) + by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.46 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 26 Feb 2020 00:10:47 -0800 (PST) +From: Vasily Khoruzhick <anarsoul@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>, + Andrzej Hajda <a.hajda@samsung.com>, + Neil Armstrong <narmstrong@baylibre.com>, + Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, + Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, + Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>, + Heiko Stuebner <heiko.stuebner@theobroma-systems.com>, + Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>, + Stephen Rothwell <sfr@canb.auug.org.au>, + Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org, + devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org +Subject: [PATCH v2 5/6] drm/panel: simple: Add NewEast Optoelectronics CO., + LTD WJFH116008A panel support +Date: Wed, 26 Feb 2020 00:10:10 -0800 +Message-Id: <20200226081011.1347245-6-anarsoul@gmail.com> +X-Mailer: git-send-email 2.25.0 +In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com> +References: <20200226081011.1347245-1-anarsoul@gmail.com> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200226_001048_596182_84BBBB6A +X-CRM114-Status: GOOD ( 13.16 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2607:f8b0:4864:20:0:0:0:444 listed in] + [list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [anarsoul[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +This commit adds support for the NewEast Optoelectronics CO., LTD +WJFH116008A 11.6" 1920x1080 TFT LCD panel. + +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +--- + drivers/gpu/drm/panel/panel-simple.c | 48 ++++++++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + +diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c +index e14c14ac62b5..4292e3e3a461 100644 +--- a/drivers/gpu/drm/panel/panel-simple.c ++++ b/drivers/gpu/drm/panel/panel-simple.c +@@ -2224,6 +2224,51 @@ static const struct panel_desc netron_dy_e231732 = { + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + }; + ++static const struct drm_display_mode neweast_wjfh116008a_modes[] = { ++ { ++ .clock = 138500, ++ .hdisplay = 1920, ++ .hsync_start = 1920 + 48, ++ .hsync_end = 1920 + 48 + 32, ++ .htotal = 1920 + 48 + 32 + 80, ++ .vdisplay = 1080, ++ .vsync_start = 1080 + 3, ++ .vsync_end = 1080 + 3 + 5, ++ .vtotal = 1080 + 3 + 5 + 23, ++ .vrefresh = 60, ++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, ++ }, { ++ .clock = 110920, ++ .hdisplay = 1920, ++ .hsync_start = 1920 + 48, ++ .hsync_end = 1920 + 48 + 32, ++ .htotal = 1920 + 48 + 32 + 80, ++ .vdisplay = 1080, ++ .vsync_start = 1080 + 3, ++ .vsync_end = 1080 + 3 + 5, ++ .vtotal = 1080 + 3 + 5 + 23, ++ .vrefresh = 48, ++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, ++ } ++}; ++ ++static const struct panel_desc neweast_wjfh116008a = { ++ .modes = neweast_wjfh116008a_modes, ++ .num_modes = 2, ++ .bpc = 6, ++ .size = { ++ .width = 260, ++ .height = 150, ++ }, ++ .delay = { ++ .prepare = 110, ++ .enable = 20, ++ .unprepare = 500, ++ }, ++ .bus_format = MEDIA_BUS_FMT_RGB666_1X18, ++ .connector_type = DRM_MODE_CONNECTOR_eDP, ++}; ++ + static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = { + .clock = 9000, + .hdisplay = 480, +@@ -3399,6 +3444,9 @@ static const struct of_device_id platform_of_match[] = { + }, { + .compatible = "netron-dy,e231732", + .data = &netron_dy_e231732, ++ }, { ++ .compatible = "neweast,wjfh116008a", ++ .data = &neweast_wjfh116008a, + }, { + .compatible = "newhaven,nhd-4.3-480272ef-atxl", + .data = &newhaven_nhd_43_480272ef_atxl, + +From patchwork Wed Feb 26 08:10:11 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com> +X-Patchwork-Id: 11405531 +Return-Path: + <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 77856930 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:12:17 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 51B0C24670 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 26 Feb 2020 08:12:17 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="Ttb9cpIi"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="Uj9USULV" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 51B0C24670 +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=LnkqG8iA0ymdTA2w7CdGVHSCIBdn7y28YqcNDvsJWNU=; b=Ttb9cpIiR16OSX + C+0UQyaaAqkD801MCZ65bwRsQy+0yRPSFzRfv8Tc2s5Gm5L6TR05fd2w3uM9MocpU2FRV80A2XmKG + rVRDRn0q7jNpoxIYIc+2RWUuL1Jr7YvueQgU57O5c69nl3SgTzbc1r1xUS/q3mQkrGHbpmY2PlayQ + RPA4BQ3hNGi6naA71o8hf+uG9U8PousU2XUFhROHgAx7hePPf25ESKTbZVfKke7QuDJBw4JFxYJym + MH/qF08Y4EMH0jZYh/oeBwEf8X3Kb0CWHSTjMi9ppWH/SimAViI2NWVuusqvOdmXWorBM0vPTx8dG + 0xJZ511Bv5LYDdz46Zgw==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rnk-0002Fx-FU; Wed, 26 Feb 2020 08:12:16 +0000 +Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j6rmL-0000vN-TN + for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:51 +0000 +Received: by mail-pf1-x441.google.com with SMTP id s1so1047374pfh.10 + for <linux-arm-kernel@lists.infradead.org>; + Wed, 26 Feb 2020 00:10:49 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=; + b=Uj9USULV1YhIjRQTGet+GBQYuuhLAkRgQq5aOXkZU55ZeXZOwYCvjYC0XTbkwI02vn + nMqNb637FbLBsLL+0OixEVNpFP/WYWrCLF5zLIEBTSZkXEK2J8hPyn24masq/KXBnUXK + 1WpXqTxgjbgl1eq/uxSXJMuc6aResWHy1sQuEaEYBEWdEyvPqtQts5z5Su639wYEgo9n + wE96FuZQY46tDJyTJqt+ZJrzDYNCNenLNiqWFwxe/zxWzBuM58iQ9ur+6Ym5ldZxRpj8 + JJ2JlN+8/BPq8Wk9S0SAMAUumaOifHahGje65ULSbNA6Krngc4WuiBgliS4rekKjbPPq + Xcow== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=; + b=NlA7PKzSo4EOEYlOtdfcH6TkSjbixH6f2CBb9+YjK0Qva2JOIWHVkd/xLF8DiM7+a5 + WsI9c+6xtz/2NumAXPb3HJFRydr5L7HJjDvivJsN7nfSEG7DEhH69XXTIvEZenriDrMi + Y/e4D3KpvoqbzqXxLHj8aeWp4qLjT8qZkPhI2+wLfkiFn3RhC0Z7dPFHKp5axa/eBHDl + /P2wVZuhjA35KPAjAYlfuV8D1o3WnCOLw0ZUU3WlqU13p/3JBnZcqIzYgbspdp0VpGuF + FgeJtSaGyjIGdX5dS4zCvctLEovV3BWeFzMmx5oz2ugpokl4iACnNbBecKLEvWf5onEA + Iiow== +X-Gm-Message-State: APjAAAW9K1sMiX2Ac7+xWeNX1IDTamXxZ1XKYfBb0FZh75fpIBHjo5qr + ZkS5JBqo+VG0fyrC0fmOg4c= +X-Google-Smtp-Source: + APXvYqwdqfkaKNsVj/z20Fl00qUooa5Fc8g4w6gy6KhAC3QgiEMz+qOhI4aMxTYoHDNd7Lx/skz8fQ== +X-Received: by 2002:a62:1883:: with SMTP id 125mr3012096pfy.166.1582704649041; + Wed, 26 Feb 2020 00:10:49 -0800 (PST) +Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net. + [216.71.213.236]) + by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.48 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 26 Feb 2020 00:10:48 -0800 (PST) +From: Vasily Khoruzhick <anarsoul@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, + Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>, + Andrzej Hajda <a.hajda@samsung.com>, + Neil Armstrong <narmstrong@baylibre.com>, + Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, + Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, + Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>, + Heiko Stuebner <heiko.stuebner@theobroma-systems.com>, + Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>, + Stephen Rothwell <sfr@canb.auug.org.au>, + Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org, + devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org +Subject: [PATCH v2 6/6] arm64: allwinner: a64: enable LCD-related hardware for + Pinebook +Date: Wed, 26 Feb 2020 00:10:11 -0800 +Message-Id: <20200226081011.1347245-7-anarsoul@gmail.com> +X-Mailer: git-send-email 2.25.0 +In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com> +References: <20200226081011.1347245-1-anarsoul@gmail.com> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200226_001050_010315_52B91C3C +X-CRM114-Status: GOOD ( 14.29 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2607:f8b0:4864:20:0:0:0:441 listed in] + [list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [anarsoul[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +From: Icenowy Zheng <icenowy@aosc.io> + +Pinebook has an ANX6345 bridge connected to the RGB666 LCD output and +eDP panel input. The bridge is controlled via I2C that's connected to +R_I2C bus. + +Enable all this hardware in device tree. + +Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +--- + .../dts/allwinner/sun50i-a64-pinebook.dts | 61 ++++++++++++++++++- + 1 file changed, 60 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index c06c540e6c08..0033f6a43d98 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -48,6 +48,18 @@ lid_switch { + }; + }; + ++ panel_edp: panel-edp { ++ compatible = "neweast,wjfh116008a"; ++ backlight = <&backlight>; ++ power-supply = <®_dc1sw>; ++ ++ port { ++ panel_edp_in: endpoint { ++ remote-endpoint = <&anx6345_out_edp>; ++ }; ++ }; ++ }; ++ + reg_vbklt: vbklt { + compatible = "regulator-fixed"; + regulator-name = "vbklt"; +@@ -109,6 +121,10 @@ &dai { + status = "okay"; + }; + ++&de { ++ status = "okay"; ++}; ++ + &ehci0 { + phys = <&usbphy 0>; + phy-names = "usb"; +@@ -119,6 +135,10 @@ &ehci1 { + status = "okay"; + }; + ++&mixer0 { ++ status = "okay"; ++}; ++ + &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; +@@ -177,12 +197,38 @@ &pwm { + status = "okay"; + }; + +-/* The ANX6345 eDP-bridge is on r_i2c */ + &r_i2c { + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&r_i2c_pl89_pins>; + status = "okay"; ++ ++ anx6345: anx6345@38 { ++ compatible = "analogix,anx6345"; ++ reg = <0x38>; ++ reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */ ++ dvdd25-supply = <®_dldo2>; ++ dvdd12-supply = <®_fldo1>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ anx6345_in: port@0 { ++ reg = <0>; ++ anx6345_in_tcon0: endpoint { ++ remote-endpoint = <&tcon0_out_anx6345>; ++ }; ++ }; ++ ++ anx6345_out: port@1 { ++ reg = <1>; ++ anx6345_out_edp: endpoint { ++ remote-endpoint = <&panel_edp_in>; ++ }; ++ }; ++ }; ++ }; + }; + + &r_pio { +@@ -357,6 +403,19 @@ &sound { + "MIC2", "Internal Microphone Right"; + }; + ++&tcon0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcd_rgb666_pins>; ++ ++ status = "okay"; ++}; ++ ++&tcon0_out { ++ tcon0_out_anx6345: endpoint { ++ remote-endpoint = <&anx6345_in_tcon0>; ++ }; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pb_pins>; diff --git a/Add-support-for-PinePhone-LCD-panel.patch b/Add-support-for-PinePhone-LCD-panel.patch new file mode 100644 index 000000000..a8cfd239a --- /dev/null +++ b/Add-support-for-PinePhone-LCD-panel.patch @@ -0,0 +1,1121 @@ +From patchwork Mon Mar 16 13:35:00 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io> +X-Patchwork-Id: 11440381 +Return-Path: + <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 11A10913 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:37:33 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id D823220658 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:37:32 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="tONvF8xL"; + dkim=fail reason="signature verification failed" (1024-bit key) + header.d=aosc.io header.i=@aosc.io header.b="OUlaYo/F" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D823220658 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=jopI4a0lnvKcPoWIQDtsU3+Ud4Almv/gYxD7C8b74AM=; b=tONvF8xLa0JOdp + lOlDz1mTuocTtleB1tz2mVLFhSSnvPuEVHfe/+tTd0RxGBi7RgesJwyproaLem7CQJC9XdeBHMAZi + GNHPDPwS11F/9Q5j0RGa9hqzmBn4auXeKB00LRPKKoNjIlbcXQzzU8tkGtvEHi7rHOS+k1TFWgSaM + UlnBfqD6z8rSAHHbAEPb9+dE9/gMuw6M8wi+4UwFZY8i8yxkjP00OfL3P1GUjX5Z8m3OTawi2jupS + yVUtKm/2fMPvyfC2x1YWUbTWiJoY1bznqv51lHwfOL60HJobKpisG/QRBWTmCdk3khQTjVBhrf7vG + syf/hIWeb2vFaaPjGf+g==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpvt-0007Bn-Dl; Mon, 16 Mar 2020 13:37:29 +0000 +Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpvq-0007Ax-Dr + for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:28 +0000 +X-Spam: yes +X-Spam-Score: 6.6 / 99999 +X-Spam-Symbols: FROM_HAS_DN, RCPT_COUNT_TWELVE, FREEMAIL_TO, FROM_EQ_ENVFROM, + SUSPICIOUS_RECIPS, ARC_NA, RCVD_VIA_SMTP_AUTH, TAGGED_RCPT, + RCVD_COUNT_TWO, BROKEN_CONTENT_TYPE, TO_MATCH_ENVRCPT_SOME, + MIME_TRACE, ASN, TO_DN_SOME, FREEMAIL_ENVRCPT, + RCVD_NO_TLS_LAST, R_MISSING_CHARSET, MID_CONTAINS_FROM +Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 040dde7f + (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); + Mon, 16 Mar 2020 06:37:23 -0700 (PDT) +Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: + icenowy@aosc.io) + by hermes.aosc.io (Postfix) with ESMTPSA id 4124F4C196; + Mon, 16 Mar 2020 13:37:10 +0000 (UTC) +From: Icenowy Zheng <icenowy@aosc.io> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>, + Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com> +Subject: [PATCH v2 2/5] dt-bindings: panel: add binding for Xingbangda XBD599 + panel +Date: Mon, 16 Mar 2020 21:35:00 +0800 +Message-Id: <20200316133503.144650-3-icenowy@aosc.io> +In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io> +References: <20200316133503.144650-1-icenowy@aosc.io> +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim; + t=1584365841; + h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references; + bh=k5dZsJ/q6rrXyDSO2nmOTWqvPhDI4C+8rut25MFD+Sk=; + b=OUlaYo/FyQ18QC+9N7l4EKPc9OYtnaEJ6rHTTmw5vWDG6bE4z3Dc0JryPNmmzGXHubXOqg + vnAixztTiQggjBI+b2WQ1uKGq0JCKJczHDkbgeZsFMqH3T47xzNMNhu6qv5Xdi+haGzyNU + I+cG4IhCqhUW5fahJroACP3Tm5imnHs= +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200316_063726_515303_1C969948 +X-CRM114-Status: GOOD ( 12.18 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in] + [list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, + linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel. + +Add its device tree binding. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- +Changes in v2: +- Example fix. +- Format fix. + + .../display/panel/xingbangda,xbd599.yaml | 50 +++++++++++++++++++ + 1 file changed, 50 insertions(+) + create mode 100644 Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml + +diff --git a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml +new file mode 100644 +index 000000000000..b27bcf11198f +--- /dev/null ++++ b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml +@@ -0,0 +1,50 @@ ++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) ++%YAML 1.2 ++--- ++$id: http://devicetree.org/schemas/display/panel/xingbangda,xbd599.yaml# ++$schema: http://devicetree.org/meta-schemas/core.yaml# ++ ++title: Xingbangda XBD599 5.99in MIPI-DSI LCD panel ++ ++maintainers: ++ - Icenowy Zheng <icenowy@aosc.io> ++ ++allOf: ++ - $ref: panel-common.yaml# ++ ++properties: ++ compatible: ++ const: xingbangda,xbd599 ++ reg: true ++ backlight: true ++ reset-gpios: true ++ vcc-supply: ++ description: regulator that supplies the VCC voltage ++ iovcc-supply: ++ description: regulator that supplies the IOVCC voltage ++ ++required: ++ - compatible ++ - reg ++ - backlight ++ - vcc-supply ++ - iovcc-supply ++ ++additionalProperties: false ++ ++examples: ++ - | ++ dsi { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel@0 { ++ compatible = "xingbangda,xbd599"; ++ reg = <0>; ++ backlight = <&backlight>; ++ iovcc-supply = <®_dldo2>; ++ vcc-supply = <®_ldo_io0>; ++ }; ++ }; ++ ++... + +From patchwork Mon Mar 16 13:35:01 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io> +X-Patchwork-Id: 11440383 +Return-Path: + <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04CA013B1 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:37:50 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id D4F1120658 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:37:49 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="Jauls22L"; + dkim=fail reason="signature verification failed" (1024-bit key) + header.d=aosc.io header.i=@aosc.io header.b="OnKcz19D" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4F1120658 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=TxGU4PiXBW274B0/qrcSGwYW6OdGxEdBGH504PoyIqM=; b=Jauls22LYE5NsX + fIslO/JUfhiN/XQQPdC2Q86jHiYF+bbm4r85Xyq09Ea+0sSxxchTeTfcHA7HMyk4GRem3FQJXH2yK + Rzs6OLQ/fL1rBVeMyXfJbyfR5Pq5ODc+lAI83DF0iPoCSFpcv40jQxkZnIkcrVvsbpilK1ord7fQ0 + 1hf6hPDvswsxcgSbirrbJMfnYSIEzsUT5rrFvv9ws9J8ukRYOqsS9lXTdrXk03uLskptzBYp5sYVw + Jb34Fq+gtFhgoUE8jONVa6Puexcl2grtch82d6/Lwcy3v7KtztAQyeFw88UVUF+rNx/Q67yiLMNiF + OPLOwCemY5TZ4eYEkWgA==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpwA-0007PW-5b; Mon, 16 Mar 2020 13:37:46 +0000 +Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpw4-0007Ng-T4 + for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:42 +0000 +X-Spam: yes +X-Spam-Score: 6.6 / 99999 +X-Spam-Symbols: MID_CONTAINS_FROM, FREEMAIL_TO, RCVD_COUNT_TWO, + FROM_EQ_ENVFROM, ASN, SUSPICIOUS_RECIPS, RCVD_VIA_SMTP_AUTH, + TO_DN_SOME, FREEMAIL_ENVRCPT, TAGGED_RCPT, RCVD_NO_TLS_LAST, + ARC_NA, R_MISSING_CHARSET, BROKEN_CONTENT_TYPE, + RCPT_COUNT_TWELVE, FROM_HAS_DN, TO_MATCH_ENVRCPT_SOME, + MIME_TRACE +Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 2c12d690 + (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); + Mon, 16 Mar 2020 06:37:40 -0700 (PDT) +Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: + icenowy@aosc.io) + by hermes.aosc.io (Postfix) with ESMTPSA id E8D484C196; + Mon, 16 Mar 2020 13:37:25 +0000 (UTC) +From: Icenowy Zheng <icenowy@aosc.io> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>, + Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com> +Subject: [PATCH v2 3/5] drm: panel: add Xingbangda XBD599 panel +Date: Mon, 16 Mar 2020 21:35:01 +0800 +Message-Id: <20200316133503.144650-4-icenowy@aosc.io> +In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io> +References: <20200316133503.144650-1-icenowy@aosc.io> +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim; + t=1584365858; + h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references; + bh=r0lAtSWiBn8DOOqWzP8ERo3YcHe6/FA1xbvH5pEdRgw=; + b=OnKcz19DT6MgLt+rgH0qVaATJ7fQDnAVAXaZvZQM3agXAI3XDxnHoi+2DeVncogjT1bp0P + ljZ0XWs8BoeGtQ0sIdrAMvsBTCbnxBJHQqa3OWxS5inT7+90pxlCDVLERhwqIefwzeZDVJ + liP/v36WTzYINROF0nSPe1azOWltJ/g= +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200316_063740_985291_78D98883 +X-CRM114-Status: GOOD ( 20.73 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in] + [list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, + linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI IPS LCD panel made by +Xingbangda, which is used on PinePhone final assembled phones. + +Add support for it. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- +Changes in v2: +- Raised copyright info to 2020. +- Sort panel operation functions. +- Sort inclusion. + + drivers/gpu/drm/panel/Kconfig | 9 + + drivers/gpu/drm/panel/Makefile | 1 + + .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ++++++++++++++++++ + 3 files changed, 376 insertions(+) + create mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c + +diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig +index a1723c1b5fbf..cf0c59015a44 100644 +--- a/drivers/gpu/drm/panel/Kconfig ++++ b/drivers/gpu/drm/panel/Kconfig +@@ -433,6 +433,15 @@ config DRM_PANEL_TRULY_NT35597_WQXGA + Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI + Video Mode panel + ++config DRM_PANEL_XINGBANGDA_XBD599 ++ tristate "Xingbangda XBD599 panel" ++ depends on OF ++ depends on DRM_MIPI_DSI ++ depends on BACKLIGHT_CLASS_DEVICE ++ help ++ Say Y here if you want to enable support for the Xingbangda XBD599 ++ MIPI DSI Video Mode panel. ++ + config DRM_PANEL_XINPENG_XPP055C272 + tristate "Xinpeng XPP055C272 panel driver" + depends on OF +diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile +index 96a883cd6630..c84ed5215984 100644 +--- a/drivers/gpu/drm/panel/Makefile ++++ b/drivers/gpu/drm/panel/Makefile +@@ -46,4 +46,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o + obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o + obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o + obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o ++obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o + obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o +diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c +new file mode 100644 +index 000000000000..8d56b6579111 +--- /dev/null ++++ b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c +@@ -0,0 +1,366 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Xingbangda XBD599 MIPI-DSI panel driver ++ * ++ * Copyright (C) 2019-2020 Icenowy Zheng <icenowy@aosc.io> ++ * ++ * Based on panel-rocktech-jh057n00900.c, which is: ++ * Copyright (C) Purism SPC 2019 ++ */ ++ ++#include <linux/delay.h> ++#include <linux/gpio/consumer.h> ++#include <linux/mod_devicetable.h> ++#include <linux/module.h> ++#include <linux/of_device.h> ++#include <linux/regulator/consumer.h> ++ ++#include <drm/drm_mipi_dsi.h> ++#include <drm/drm_modes.h> ++#include <drm/drm_panel.h> ++#include <drm/drm_print.h> ++ ++/* Manufacturer specific Commands send via DSI */ ++#define ST7703_CMD_ALL_PIXEL_OFF 0x22 ++#define ST7703_CMD_ALL_PIXEL_ON 0x23 ++#define ST7703_CMD_SETDISP 0xB2 ++#define ST7703_CMD_SETRGBIF 0xB3 ++#define ST7703_CMD_SETCYC 0xB4 ++#define ST7703_CMD_SETBGP 0xB5 ++#define ST7703_CMD_SETVCOM 0xB6 ++#define ST7703_CMD_SETOTP 0xB7 ++#define ST7703_CMD_SETPOWER_EXT 0xB8 ++#define ST7703_CMD_SETEXTC 0xB9 ++#define ST7703_CMD_SETMIPI 0xBA ++#define ST7703_CMD_SETVDC 0xBC ++#define ST7703_CMD_SETSCR 0xC0 ++#define ST7703_CMD_SETPOWER 0xC1 ++#define ST7703_CMD_UNK_C6 0xC6 ++#define ST7703_CMD_SETPANEL 0xCC ++#define ST7703_CMD_SETGAMMA 0xE0 ++#define ST7703_CMD_SETEQ 0xE3 ++#define ST7703_CMD_SETGIP1 0xE9 ++#define ST7703_CMD_SETGIP2 0xEA ++ ++static const char * const regulator_names[] = { ++ "iovcc", ++ "vcc", ++}; ++ ++struct xbd599 { ++ struct device *dev; ++ struct drm_panel panel; ++ struct gpio_desc *reset_gpio; ++ struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)]; ++ bool prepared; ++}; ++ ++static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel) ++{ ++ return container_of(panel, struct xbd599, panel); ++} ++ ++#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ ++ static const u8 d[] = { seq }; \ ++ int ret; \ ++ ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ ++ if (ret < 0) \ ++ return ret; \ ++ } while (0) ++ ++static int xbd599_init_sequence(struct xbd599 *ctx) ++{ ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ struct device *dev = ctx->dev; ++ int ret; ++ ++ /* ++ * Init sequence was supplied by the panel vendor. ++ */ ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, ++ 0xF1, 0x12, 0x83); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, ++ 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, ++ 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11, ++ 0x00, 0x00, 0x37); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, ++ 0x25, 0x22, 0x20, 0x03); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, ++ 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, ++ 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, ++ 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70, ++ 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, ++ 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00, ++ 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); ++ dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, ++ 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF, ++ 0xCC, 0xCC, 0x77, 0x77); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C); ++ dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00); ++ ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, ++ 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12, ++ 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38, ++ 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, ++ 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88, ++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64, ++ 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, ++ 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, ++ 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88, ++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13, ++ 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, ++ 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, ++ 0xA5, 0x00, 0x00, 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, ++ 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35, ++ 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12, ++ 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, ++ 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, ++ 0x12, 0x18); ++ msleep(20); ++ ++ ret = mipi_dsi_dcs_exit_sleep_mode(dsi); ++ if (ret < 0) { ++ DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n"); ++ return ret; ++ } ++ msleep(250); ++ ++ ret = mipi_dsi_dcs_set_display_on(dsi); ++ if (ret) ++ return ret; ++ msleep(50); ++ ++ DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); ++ return 0; ++} ++ ++static int xbd599_prepare(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ int ret; ++ ++ if (ctx->prepared) ++ return 0; ++ ++ ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); ++ if (ret) ++ return ret; ++ ++ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); ++ gpiod_set_value_cansleep(ctx->reset_gpio, 1); ++ usleep_range(20, 40); ++ gpiod_set_value_cansleep(ctx->reset_gpio, 0); ++ msleep(20); ++ ++ ctx->prepared = true; ++ ++ return 0; ++} ++ ++static int xbd599_enable(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ int ret; ++ ++ ret = xbd599_init_sequence(ctx); ++ if (ret < 0) { ++ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", ++ ret); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int xbd599_disable(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ ++ return mipi_dsi_dcs_set_display_off(dsi); ++} ++ ++static int xbd599_unprepare(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ ++ if (!ctx->prepared) ++ return 0; ++ ++ gpiod_set_value_cansleep(ctx->reset_gpio, 1); ++ regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); ++ ctx->prepared = false; ++ ++ return 0; ++} ++ ++static const struct drm_display_mode xbd599_default_mode = { ++ .hdisplay = 720, ++ .hsync_start = 720 + 40, ++ .hsync_end = 720 + 40 + 40, ++ .htotal = 720 + 40 + 40 + 40, ++ .vdisplay = 1440, ++ .vsync_start = 1440 + 18, ++ .vsync_end = 1440 + 18 + 10, ++ .vtotal = 1440 + 18 + 10 + 17, ++ .vrefresh = 60, ++ .clock = 69000, ++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, ++ ++ .width_mm = 68, ++ .height_mm = 136, ++ .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, ++}; ++ ++static int xbd599_get_modes(struct drm_panel *panel, ++ struct drm_connector *connector) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ struct drm_display_mode *mode; ++ ++ mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode); ++ if (!mode) { ++ DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n"); ++ return -ENOMEM; ++ } ++ ++ drm_mode_set_name(mode); ++ ++ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; ++ connector->display_info.width_mm = mode->width_mm; ++ connector->display_info.height_mm = mode->height_mm; ++ drm_mode_probed_add(connector, mode); ++ ++ return 1; ++} ++ ++static const struct drm_panel_funcs xbd599_drm_funcs = { ++ .prepare = xbd599_prepare, ++ .enable = xbd599_enable, ++ .disable = xbd599_disable, ++ .unprepare = xbd599_unprepare, ++ .get_modes = xbd599_get_modes, ++}; ++ ++static int xbd599_probe(struct mipi_dsi_device *dsi) ++{ ++ struct device *dev = &dsi->dev; ++ struct xbd599 *ctx; ++ int i, ret; ++ ++ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ++ if (!ctx) ++ return -ENOMEM; ++ ++ for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++) ++ ctx->supplies[i].supply = regulator_names[i]; ++ ++ ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), ++ ctx->supplies); ++ if (ret < 0) { ++ DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n"); ++ return ret; ++ } ++ ++ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); ++ if (IS_ERR(ctx->reset_gpio)) { ++ DRM_DEV_ERROR(dev, "cannot get reset gpio\n"); ++ return PTR_ERR(ctx->reset_gpio); ++ } ++ ++ mipi_dsi_set_drvdata(dsi, ctx); ++ ++ ctx->dev = dev; ++ ++ dsi->lanes = 4; ++ dsi->format = MIPI_DSI_FMT_RGB888; ++ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; ++ ++ drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs, ++ DRM_MODE_CONNECTOR_DSI); ++ ++ ret = drm_panel_of_backlight(&ctx->panel); ++ if (ret) ++ return ret; ++ ++ drm_panel_add(&ctx->panel); ++ ++ ret = mipi_dsi_attach(dsi); ++ if (ret < 0) { ++ DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n"); ++ drm_panel_remove(&ctx->panel); ++ return ret; ++ } ++ ++ DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", ++ xbd599_default_mode.hdisplay, ++ xbd599_default_mode.vdisplay, ++ xbd599_default_mode.vrefresh, ++ mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); ++ ++ return 0; ++} ++ ++static void xbd599_shutdown(struct mipi_dsi_device *dsi) ++{ ++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ ret = drm_panel_unprepare(&ctx->panel); ++ if (ret < 0) ++ DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n", ++ ret); ++} ++ ++static int xbd599_remove(struct mipi_dsi_device *dsi) ++{ ++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ xbd599_shutdown(dsi); ++ ++ ret = mipi_dsi_detach(dsi); ++ if (ret < 0) ++ DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n", ++ ret); ++ ++ drm_panel_remove(&ctx->panel); ++ ++ return 0; ++} ++ ++static const struct of_device_id xbd599_of_match[] = { ++ { .compatible = "xingbangda,xbd599", }, ++ { /* sentinel */ } ++}; ++MODULE_DEVICE_TABLE(of, xbd599_of_match); ++ ++static struct mipi_dsi_driver xbd599_driver = { ++ .probe = xbd599_probe, ++ .remove = xbd599_remove, ++ .shutdown = xbd599_shutdown, ++ .driver = { ++ .name = "panel-xingbangda-xbd599", ++ .of_match_table = xbd599_of_match, ++ }, ++}; ++module_mipi_dsi_driver(xbd599_driver); ++ ++MODULE_AUTHOR("Icenowy Zheng <icenowy@aosc.io>"); ++MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); ++MODULE_LICENSE("GPL v2"); + +From patchwork Mon Mar 16 13:35:02 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io> +X-Patchwork-Id: 11440385 +Return-Path: + <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3551613B1 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:38:04 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 12F1120658 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:38:04 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="FXIsTC05"; + dkim=fail reason="signature verification failed" (1024-bit key) + header.d=aosc.io header.i=@aosc.io header.b="quP9cKqY" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12F1120658 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=Ok8n9BLE8SnVMofHytH8sKJgOZAdRVkUgENm5rZmFlM=; b=FXIsTC05LwmLW8 + JIUJYcuGPwnerCktLqhIRVMIoUACV+PBjwCaXLEWUaLpYsx/fkH/6JQM4BBzg1AyfDq3atRF/nnBb + XD4OWFZC8nCVDiR7dqlEAxyOti5i1hsKYi1uKkOlwNdMx50Vklm+IEr5nd2rtKoWSFgNvr0LIQmYR + jk2fY+4TpwdEjCfSfCDoDlZsCssNnoQsaN2VRgkV0bKKSaQ+OTufaRoG4E3Ktjp2f0+IE0+saR8OT + ah8mB5WNxc5/MFTGoh8hq8aF2GlOfdhjRuNORBTjH7FRmGVFIsFY1dfMmTBQOnsDrxzz2guZVksZN + nf60u+PrkKp4zaAGdb8A==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpwP-0007eD-4F; Mon, 16 Mar 2020 13:38:01 +0000 +Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpwL-0007bo-FZ + for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:58 +0000 +X-Spam: yes +X-Spam-Score: 6.6 / 99999 +X-Spam-Symbols: TO_DN_SOME, FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME, + MID_CONTAINS_FROM, RCVD_NO_TLS_LAST, RCVD_COUNT_TWO, + SUSPICIOUS_RECIPS, FROM_EQ_ENVFROM, ASN, R_MISSING_CHARSET, + TAGGED_RCPT, RCPT_COUNT_TWELVE, FREEMAIL_TO, ARC_NA, + RCVD_VIA_SMTP_AUTH, FROM_HAS_DN, BROKEN_CONTENT_TYPE, + MIME_TRACE +Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id d83d4fb8 + (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); + Mon, 16 Mar 2020 06:37:56 -0700 (PDT) +Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: + icenowy@aosc.io) + by hermes.aosc.io (Postfix) with ESMTPSA id 904224CA5E; + Mon, 16 Mar 2020 13:37:47 +0000 (UTC) +From: Icenowy Zheng <icenowy@aosc.io> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>, + Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com> +Subject: [PATCH v2 4/5] drm/sun4i: sun6i_mipi_dsi: fix horizontal timing + calculation +Date: Mon, 16 Mar 2020 21:35:02 +0800 +Message-Id: <20200316133503.144650-5-icenowy@aosc.io> +In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io> +References: <20200316133503.144650-1-icenowy@aosc.io> +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim; + t=1584365875; + h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references; + bh=I9YOqCvznKIa+lsR+6QqRxbL27UJzO8C40dZ4CFdKfA=; + b=quP9cKqYYDD232RMGPzPh7YZaHSfncJHKNCNVORZvb7EzFJyswyLBv7GzoCIM/6KvGiH5Z + xbpDQs4fRsR5P/Cp7hTcnx+MoFGO3XV0SD6R82gTqKwejhi4j3ozUQiiIMTMC0P2NzAMb0 + tDkRk8CMwU/bfv3YHZlXvgGaYrZkMd8= +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200316_063757_563065_ED0BFB74 +X-CRM114-Status: GOOD ( 13.77 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in] + [list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, + linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +The max() function call in horizontal timing calculation shouldn't pad a +length already subtracted with overhead to overhead, instead it should +only prevent the set timing to underflow. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- +No changes in v2. + + drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +index 059939789730..5f2313c40328 100644 +--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c ++++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +@@ -555,7 +555,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HSA_PACKET_OVERHEAD 10 + hsa = max((unsigned int)HSA_PACKET_OVERHEAD, +- (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD); ++ (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD; + + /* + * The backporch is set using a blanking packet (4 +@@ -564,7 +564,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HBP_PACKET_OVERHEAD 6 + hbp = max((unsigned int)HBP_PACKET_OVERHEAD, +- (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD); ++ (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD; + + /* + * The frontporch is set using a sync event (4 bytes) +@@ -574,7 +574,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HFP_PACKET_OVERHEAD 16 + hfp = max((unsigned int)HFP_PACKET_OVERHEAD, +- (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD); ++ (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD; + + /* + * The blanking is set using a sync event (4 bytes) +@@ -583,8 +583,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HBLK_PACKET_OVERHEAD 10 + hblk = max((unsigned int)HBLK_PACKET_OVERHEAD, +- (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp - +- HBLK_PACKET_OVERHEAD); ++ (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) - ++ HBLK_PACKET_OVERHEAD; + + /* + * And I'm not entirely sure what vblk is about. The driver in + +From patchwork Mon Mar 16 13:35:03 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io> +X-Patchwork-Id: 11440387 +Return-Path: + <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7CB09913 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:38:25 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 5A3CF20663 + for <patchwork-linux-arm@patchwork.kernel.org>; + Mon, 16 Mar 2020 13:38:25 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="Dprxe0zU"; + dkim=fail reason="signature verification failed" (1024-bit key) + header.d=aosc.io header.i=@aosc.io header.b="gvv4Mt/p" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A3CF20663 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=aosc.io +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=rXiGf8B3g87rqGluDPPXHBPgLye0619C2/zq9YpC9mk=; b=Dprxe0zU40XkWN + m+hX9Icm5bhrdxLR5kmA+FetKifUp/T2toYOeoCfxA03wi/xuH83eTC/NNNeq2exi4vAQPAiKe4kJ + VnYn8drWuau9JdHE7b/KFeIhkULj3sy4MxJnnpxYCj63wXO+BDHm00cs1r8PoIzBtkP4DksqayKx7 + wGb6miY8D9JjeHzt6zhSeG5JXUzPatdZnw/q8zhpgoOk8Y1QDjKgVEgypDPBDp95TtiEO5wv/uPhf + mIFdAYoKy01EX0IF5/r/kyAEQTh95K7IXUz6SJM00+3rHPB7Ut7n48eG0C2qJhljJEsSEWJ1DxbjM + X629GHE95cSsRkq5gd9A==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpwj-0007wT-EM; Mon, 16 Mar 2020 13:38:21 +0000 +Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jDpwZ-0007oi-Fv + for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:38:13 +0000 +X-Spam: yes +X-Spam-Score: 6.6 / 99999 +X-Spam-Symbols: FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME, FROM_EQ_ENVFROM, + RCVD_VIA_SMTP_AUTH, FREEMAIL_TO, RCVD_COUNT_TWO, ARC_NA, + FROM_HAS_DN, TO_DN_SOME, RCPT_COUNT_TWELVE, RCVD_NO_TLS_LAST, + MIME_TRACE, R_MISSING_CHARSET, TAGGED_RCPT, + BROKEN_CONTENT_TYPE, MID_CONTAINS_FROM, ASN, SUSPICIOUS_RECIPS +Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 3f67ee70 + (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); + Mon, 16 Mar 2020 06:38:10 -0700 (PDT) +Received: from localhost (localhost [127.0.0.1]) (Authenticated sender: + icenowy@aosc.io) + by hermes.aosc.io (Postfix) with ESMTPSA id 718DE4CA5E; + Mon, 16 Mar 2020 13:38:00 +0000 (UTC) +From: Icenowy Zheng <icenowy@aosc.io> +To: Thierry Reding <thierry.reding@gmail.com>, + Sam Ravnborg <sam@ravnborg.org>, + Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>, + Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com> +Subject: [PATCH v2 5/5] arm64: allwinner: dts: a64: add LCD-related device + nodes for PinePhone +Date: Mon, 16 Mar 2020 21:35:03 +0800 +Message-Id: <20200316133503.144650-6-icenowy@aosc.io> +In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io> +References: <20200316133503.144650-1-icenowy@aosc.io> +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim; + t=1584365889; + h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references; + bh=vdJB1xaYREfjx8A1fc+UP5D7fCK/5ZczA3DRbH+hq08=; + b=gvv4Mt/ppP1U5dpUHA5n8qTEzN2afgaBkT+M0HHnD2QpiRBO0b4PVtnd5WiFOkLgnHm3Cm + uS+WljMpibhdzup+UJWKXGt9n3IFyflFgVAqemHSAFN5h+VJ1vskMjGMiiu1teCs1nUAhP + zGvHhAcI1EY4J2t587DsvuxH/d6lNFs= +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200316_063811_575168_FBAB174A +X-CRM114-Status: GOOD ( 11.16 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in] + [list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, + dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, + linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for +display. + +Add its device nodes. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- +No changes in v2. + + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 +++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +index cefda145c3c9..96d9150423e0 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -16,6 +16,15 @@ aliases { + serial0 = &uart0; + }; + ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; ++ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; ++ default-brightness-level = <15>; ++ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ ++ power-supply = <®_ldo_io0>; ++ }; ++ + chosen { + stdout-path = "serial0:115200n8"; + }; +@@ -84,6 +93,30 @@ &dai { + status = "okay"; + }; + ++&de { ++ status = "okay"; ++}; ++ ++&dphy { ++ status = "okay"; ++}; ++ ++&dsi { ++ vcc-dsi-supply = <®_dldo1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ panel@0 { ++ compatible = "xingbangda,xbd599"; ++ reg = <0>; ++ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ ++ iovcc-supply = <®_dldo2>; ++ vcc-supply = <®_ldo_io0>; ++ backlight = <&backlight>; ++ }; ++}; ++ + &ehci0 { + status = "okay"; + }; +@@ -188,6 +221,10 @@ &r_pio { + */ + }; + ++&r_pwm { ++ status = "okay"; ++}; ++ + &r_rsb { + status = "okay"; + diff --git a/Add-support-for-the-pine64-Pinebook-Pro.patch b/Add-support-for-the-pine64-Pinebook-Pro.patch new file mode 100644 index 000000000..d35ee323b --- /dev/null +++ b/Add-support-for-the-pine64-Pinebook-Pro.patch @@ -0,0 +1,1360 @@ +From patchwork Wed Mar 4 21:30:22 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org> +X-Patchwork-Id: 11420805 +Return-Path: + <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 82C16139A + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 21:31:11 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 6132920828 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 21:31:11 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="HKFX/pPT" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6132920828 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=manjaro.org +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To + :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: + Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: + List-Owner; bh=w5RNMezlBKSJB0tCSEk4sJPOWhOWYWdtbkVGYQNDXFI=; b=HKFX/pPTL0fcDF + R9qC74ZcvmWsNe9+XRGoe/CFa6E5wpufnBwGVBlWAMf6TP3NxrI2eK9XCD6TAmQW18/85HychEgId + qGCU/seUa+UV6WOVWgQ5g3Ea+6kBaMM4cYYgsYaK3h3VlUQQtM3SvPArRNF1VYcj1uZiwX1ek7PO6 + B8Btks26iWloBhYYW62B5FA9wYcw0+Bcg2DE9NyPZ1i63GA6P8esgYpDnGLkmWehpZDYy8tJK00rE + ABbvK0xNgIIKCbbomExLAdMHg8PO14V/BNR1Bf9QBVZpnxt8xfr7GG33Znp7N1Nf19YJecmdUw5e2 + FnFUvjvPmLh4pIdxyp6Q==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9bbh-0003te-QG; Wed, 04 Mar 2020 21:31:09 +0000 +Received: from mail.manjaro.org ([176.9.38.148]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9bbe-0003tI-SU; Wed, 04 Mar 2020 21:31:08 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.manjaro.org (Postfix) with ESMTP id 9C0823701125; + Wed, 4 Mar 2020 22:31:05 +0100 (CET) +X-Virus-Scanned: Debian amavisd-new at manjaro.org +Received: from mail.manjaro.org ([127.0.0.1]) + by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id fkagLefmcj9V; Wed, 4 Mar 2020 22:31:03 +0100 (CET) +From: Tobias Schramm <t.schramm@manjaro.org> +To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>, + Johan Jonker <jbx6244@gmail.com> +Subject: [PATCH v4 1/2] dt-bindings: Add doc for Pine64 Pinebook Pro +Date: Wed, 4 Mar 2020 22:30:22 +0100 +Message-Id: <20200304213023.689983-2-t.schramm@manjaro.org> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200304_133107_065063_D9B62F20 +X-CRM114-Status: UNSURE ( 6.54 ) +X-CRM114-Notice: Please train this message. +X-Spam-Score: 0.0 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (0.0 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [176.9.38.148 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, + Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>, + Tobias Schramm <t.schramm@manjaro.org>, Rob Herring <robh@kernel.org>, + Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org, + Douglas Anderson <dianders@chromium.org>, + Kever Yang <kever.yang@rock-chips.com>, + Markus Reichl <m.reichl@fivetechno.de>, + linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>, + Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>, + Vivek Unune <npcomplete13@gmail.com> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +From: Emmanuel Vadot <manu@freebsd.org> + +Add a compatible for Pine64 Pinebook Pro + +Signed-off-by: Emmanuel Vadot <manu@freebsd.org> +Reviewed-by: Rob Herring <robh@kernel.org> +--- + Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml +index 874b0eaa2a75..17f0ab0b8832 100644 +--- a/Documentation/devicetree/bindings/arm/rockchip.yaml ++++ b/Documentation/devicetree/bindings/arm/rockchip.yaml +@@ -415,6 +415,11 @@ properties: + - const: pine64,rockpro64 + - const: rockchip,rk3399 + ++ - description: Pine64 PinebookPro ++ items: ++ - const: pine64,pinebook-pro ++ - const: rockchip,rk3399 ++ + - description: Radxa Rock + items: + - const: radxa,rock + +From patchwork Wed Mar 4 21:30:23 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org> +X-Patchwork-Id: 11420809 +Return-Path: + <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F1D201395 + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 21:31:26 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id C71432084E + for <patchwork-linux-arm@patchwork.kernel.org>; + Wed, 4 Mar 2020 21:31:26 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="aaCRZACh" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C71432084E +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=manjaro.org +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=T4TZmXOPB1yBA/Cy6SktfxnDKyf4qoHPOaLfabPHwCI=; b=aaCRZAChIzBlJw + Ccci1IXygLymnzWTblUo/AuYY6tojwziDu90m20Ec1bJbXl27yBAYEeR3CEj4ELNSOiGKzqSpqE+k + rb7uRA7jjVfvj/gJJ2IFxGtd1CKBI6e0S+1qyN/l8ET6UykVavViDDtrsFHt7iD3X2+Bgbs9R8VLi + hB6gZwnuOsWb8JqpNLfrOPiCrkqTega/z2olbgct2T/Mb/85eH/l+SvyINCfyQCQyuOk9d2blYcA9 + 1i4TJi3MpRw7Pa68BnGPO7zK/ttk4SRxKYPi3On226GN5bGg9jNgSEpALbI+CK0wrYS0mIxGg0q7k + Gy09LxFJP7I1IxV6BR2w==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9bbv-00047c-LS; Wed, 04 Mar 2020 21:31:23 +0000 +Received: from mail.manjaro.org ([176.9.38.148]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j9bbk-0003vp-EA; Wed, 04 Mar 2020 21:31:15 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.manjaro.org (Postfix) with ESMTP id 26030370112C; + Wed, 4 Mar 2020 22:31:11 +0100 (CET) +X-Virus-Scanned: Debian amavisd-new at manjaro.org +Received: from mail.manjaro.org ([127.0.0.1]) + by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id OKG7wH7ZOt7o; Wed, 4 Mar 2020 22:31:07 +0100 (CET) +From: Tobias Schramm <t.schramm@manjaro.org> +To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, + Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>, + Johan Jonker <jbx6244@gmail.com> +Subject: [PATCH v4 2/2] arm64: dts: rockchip: Add initial support for Pinebook + Pro +Date: Wed, 4 Mar 2020 22:30:23 +0100 +Message-Id: <20200304213023.689983-3-t.schramm@manjaro.org> +In-Reply-To: <20200304213023.689983-2-t.schramm@manjaro.org> +References: <20200304213023.689983-2-t.schramm@manjaro.org> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200304_133112_802914_89F85872 +X-CRM114-Status: GOOD ( 13.85 ) +X-Spam-Score: 0.0 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (0.0 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [176.9.38.148 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, + Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>, + Tobias Schramm <t.schramm@manjaro.org>, + Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org, + Douglas Anderson <dianders@chromium.org>, + Kever Yang <kever.yang@rock-chips.com>, + Markus Reichl <m.reichl@fivetechno.de>, + linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>, + Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>, + Vivek Unune <npcomplete13@gmail.com> +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +This commit adds initial dt support for the rk3399 based Pinebook Pro. + +Signed-off-by: Tobias Schramm <t.schramm@manjaro.org> +--- + arch/arm64/boot/dts/rockchip/Makefile | 1 + + .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +++++++++++++++++ + 2 files changed, 1097 insertions(+) + create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts + +diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile +index 60d9437096c7..ae7621309e92 100644 +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +new file mode 100644 +index 000000000000..8f77ee4f256c +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +@@ -0,0 +1,1098 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. ++ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> ++ * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> ++ */ ++ ++/dts-v1/; ++#include <dt-bindings/input/gpio-keys.h> ++#include <dt-bindings/input/linux-event-codes.h> ++#include <dt-bindings/pwm/pwm.h> ++#include <dt-bindings/usb/pd.h> ++#include <dt-bindings/leds/common.h> ++#include "rk3399.dtsi" ++#include "rk3399-opp.dtsi" ++ ++/ { ++ model = "Pine64 Pinebook Pro"; ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ ++ chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ backlight: edp-backlight { ++ compatible = "pwm-backlight"; ++ power-supply = <&vcc_12v>; ++ pwms = <&pwm0 0 740740 0>; ++ }; ++ ++ edp_panel: edp-panel { ++ compatible = "boe,nv140fhmn49"; ++ backlight = <&backlight>; ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&panel_en_gpio>; ++ power-supply = <&vcc3v3_panel>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ port@0 { ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel_in_edp: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&edp_out_panel>; ++ }; ++ }; ++ }; ++ }; ++ ++ /* ++ * Use separate nodes for gpio-keys to allow for selective deactivation ++ * of wakeup sources via sysfs without disabling the whole key ++ */ ++ gpio-key-lid { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lidbtn_gpio>; ++ ++ lid { ++ debounce-interval = <20>; ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "Lid"; ++ linux,code = <SW_LID>; ++ linux,input-type = <EV_SW>; ++ wakeup-event-action = <EV_ACT_DEASSERTED>; ++ wakeup-source; ++ }; ++ }; ++ ++ gpio-key-power { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrbtn_gpio>; ++ ++ power { ++ debounce-interval = <20>; ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "Power"; ++ linux,code = <KEY_POWER>; ++ wakeup-source; ++ }; ++ }; ++ ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>; ++ ++ green-led { ++ color = <LED_COLOR_ID_GREEN>; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; ++ label = "green:power"; ++ }; ++ ++ red-led { ++ color = <LED_COLOR_ID_RED>; ++ default-state = "off"; ++ function = LED_FUNCTION_STANDBY; ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; ++ label = "red:standby"; ++ panic-indicator; ++ retain-state-suspended; ++ }; ++ }; ++ ++ /* Power sequence for SDIO WiFi module */ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk808 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h_gpio>; ++ post-power-on-delay-ms = <100>; ++ power-off-delay-us = <500000>; ++ ++ /* WL_REG_ON on module */ ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; ++ }; ++ ++ /* Audio components */ ++ es8316-sound { ++ compatible = "simple-audio-card"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio>; ++ simple-audio-card,name = "rockchip,es8316-codec"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,mclk-fs = <256>; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Headphone", "Headphones", ++ "Speaker", "Speaker"; ++ simple-audio-card,routing = ++ "MIC1", "Mic Jack", ++ "Headphones", "HPOL", ++ "Headphones", "HPOR", ++ "Speaker Amplifier INL", "HPOL", ++ "Speaker Amplifier INR", "HPOR", ++ "Speaker", "Speaker Amplifier OUTL", ++ "Speaker", "Speaker Amplifier OUTR"; ++ ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; ++ simple-audio-card,aux-devs = <&speaker_amp>; ++ simple-audio-card,pin-switches = "Speaker"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s1>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&es8316>; ++ }; ++ }; ++ ++ speaker_amp: speaker-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; ++ sound-name-prefix = "Speaker Amplifier"; ++ VCC-supply = <&pa_5v>; ++ }; ++ ++ /* Power tree */ ++ /* Root power source */ ++ vcc_sysin: vcc-sysin { ++ compatible = "regulator-fixed"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-name = "vcc_sysin"; ++ }; ++ ++ /* Regulators supplied by vcc_sysin */ ++ /* LCD backlight supply */ ++ vcc_12v: vcc-12v { ++ compatible = "regulator-fixed"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <12000000>; ++ regulator-max-microvolt = <12000000>; ++ regulator-name = "vcc_12v"; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Main 3.3 V supply */ ++ vcc3v3_sys: wifi_bat: vcc3v3-sys { ++ compatible = "regulator-fixed"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc3v3_sys"; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* 5 V USB power supply */ ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_5v_gpio>; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-name = "vcc5v0_usb"; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* RK3399 logic supply */ ++ vdd_log: vdd-log { ++ compatible = "pwm-regulator"; ++ pwms = <&pwm2 0 25000 1>; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1400000>; ++ regulator-name = "vdd_log"; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc3v3_sys */ ++ /* 0.9 V supply, always on */ ++ vcc_0v9: vcc-0v9 { ++ compatible = "regulator-fixed"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ regulator-name = "vcc_0v9"; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */ ++ vcca1v8_s3: vcc1v8-s3 { ++ compatible = "regulator-fixed"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcca1v8_s3"; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* micro SD card power */ ++ vcc3v0_sd: vcc3v0-sd { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>; ++ regulator-always-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ regulator-name = "vcc3v0_sd"; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* LCD panel power, called VCC3V3_S0 in schematic */ ++ vcc3v3_panel: vcc3v3-panel { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcdvcc_en_gpio>; ++ regulator-always-on; ++ regulator-enable-ramp-delay = <100000>; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc3v3_panel"; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* M.2 adapter power, switched by vcc1v8_s3 */ ++ vcc3v3_ssd: vcc3v3-ssd { ++ compatible = "regulator-fixed"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc3v3_ssd"; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* USB 3 port power supply regulator */ ++ vcc5v0_otg: vcc5v0-otg { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_host_en_gpio>; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-name = "vcc5v0_otg"; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* Type C port power supply regulator */ ++ vbus_5vout: vbus_typec: vbus-5vout { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-name = "vbus_5vout"; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc_1v8 */ ++ /* Primary 0.9 V LDO */ ++ vcca0v9_s3: vcca0v9-s3 { ++ compatible = "regulator-fixed"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-name = "vcc0v9_s3"; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ mains_charger: dc-charger { ++ compatible = "gpio-charger"; ++ charger-type = "mains"; ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; ++ ++ /* Also triggered by USB charger */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dc_det_gpio>; ++ }; ++}; ++ ++&cdn_dp { ++ status = "okay"; ++}; ++ ++&cpu_b0 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_b1 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_l0 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l1 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l2 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l3 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&edp { ++ force-hpd; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&edp_hpd>; ++ status = "okay"; ++ ++ ports { ++ edp_out: port@1 { ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ edp_out_panel: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&panel_in_edp>; ++ }; ++ }; ++ }; ++}; ++ ++&emmc_phy { ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ clock-frequency = <400000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ rk808: pmic@1b { ++ compatible = "rockchip,rk808"; ++ reg = <0x1b>; ++ #clock-cells = <1>; ++ clock-output-names = "xin32k", "rk808-clkout2"; ++ interrupt-parent = <&gpio3>; ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l_gpio>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sysin>; ++ vcc2-supply = <&vcc_sysin>; ++ vcc3-supply = <&vcc_sysin>; ++ vcc4-supply = <&vcc_sysin>; ++ vcc6-supply = <&vcc_sysin>; ++ vcc7-supply = <&vcc_sysin>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc_sysin>; ++ vcc10-supply = <&vcc_sysin>; ++ vcc11-supply = <&vcc_sysin>; ++ vcc12-supply = <&vcc3v3_sys>; ++ vcc13-supply = <&vcc_sysin>; ++ vcc14-supply = <&vcc_sysin>; ++ ++ regulators { ++ /* rk3399 center logic supply */ ++ vdd_center: DCDC_REG1 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-name = "vdd_center"; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_cpu_l: DCDC_REG2 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-name = "vdd_cpu_l"; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-name = "vcc_ddr"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: vcc_wl: DCDC_REG4 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc_1v8"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ /* not used */ ++ LDO_REG1 { ++ }; ++ ++ /* not used */ ++ LDO_REG2 { ++ }; ++ ++ vcc1v8_pmupll: LDO_REG3 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc1v8_pmupll"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcc_sdio: LDO_REG4 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3000000>; ++ regulator-name = "vcc_sdio"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcca3v0_codec: LDO_REG5 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ regulator-name = "vcca3v0_codec"; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v5: LDO_REG6 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ regulator-name = "vcc_1v5"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1500000>; ++ }; ++ }; ++ ++ vcca1v8_codec: LDO_REG7 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcca1v8_codec"; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v0: LDO_REG8 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ regulator-name = "vcc_3v0"; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcc3v3_s3: SWITCH_REG1 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-name = "vcc3v3_s3"; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_s0: SWITCH_REG2 { ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-name = "vcc3v3_s0"; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++ ++ vdd_cpu_b: regulator@40 { ++ compatible = "silergy,syr827"; ++ reg = <0x40>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel1_gpio>; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-compatible = "fan53555-reg"; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-name = "vdd_cpu_b"; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: regulator@41 { ++ compatible = "silergy,syr828"; ++ reg = <0x41>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel2_gpio>; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-compatible = "fan53555-reg"; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-name = "vdd_gpu"; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ clock-frequency = <100000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ es8316: es8316@11 { ++ compatible = "everest,es8316"; ++ reg = <0x11>; ++ clocks = <&cru SCLK_I2S_8CH_OUT>; ++ clock-names = "mclk"; ++ #sound-dai-cells = <0>; ++ }; ++}; ++ ++&i2c3 { ++ i2c-scl-falling-time-ns = <15>; ++ i2c-scl-rising-time-ns = <450>; ++ status = "okay"; ++}; ++ ++&i2c4 { ++ i2c-scl-falling-time-ns = <20>; ++ i2c-scl-rising-time-ns = <600>; ++ status = "okay"; ++ ++ fusb0: fusb30x@22 { ++ compatible = "fcs,fusb302"; ++ reg = <0x22>; ++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&fusb0_int_gpio>; ++ vbus-supply = <&vbus_typec>; ++ ++ connector { ++ compatible = "usb-c-connector"; ++ data-role = "host"; ++ label = "USB-C"; ++ op-sink-microwatt = <1000000>; ++ power-role = "dual"; ++ sink-pdos = ++ <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; ++ source-pdos = ++ <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; ++ try-power-role = "sink"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ ++ usbc_hs: endpoint { ++ remote-endpoint = ++ <&u2phy0_typec_hs>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ ++ usbc_ss: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_ss>; ++ }; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ ++ usbc_dp: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_dp>; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2s1 { ++ #sound-dai-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; ++ rockchip,capture-channels = <8>; ++ rockchip,playback-channels = <8>; ++ status = "okay"; ++}; ++ ++&io_domains { ++ audio-supply = <&vcc_3v0>; ++ gpio1830-supply = <&vcc_3v0>; ++ sdmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&pcie_phy { ++ status = "okay"; ++}; ++ ++&pcie0 { ++ bus-scan-delay-ms = <1000>; ++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; ++ num-lanes = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_clkreqn_cpm>; ++ vpcie0v9-supply = <&vcca0v9_s3>; ++ vpcie1v8-supply = <&vcca1v8_s3>; ++ vpcie3v3-supply = <&vcc3v3_ssd>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ buttons { ++ pwrbtn_gpio: pwrbtn-gpio { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ lidbtn_gpio: lidbtn-gpio { ++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ dc-charger { ++ dc_det_gpio: dc-det-gpio { ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ es8316 { ++ hp_det_gpio: hp-det-gpio { ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ fusb302x { ++ fusb0_int_gpio: fusb0-int-gpio { ++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ i2s1 { ++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { ++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; ++ }; ++ }; ++ ++ lcd-panel { ++ lcdvcc_en_gpio: lcdvcc-en-gpio { ++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ panel_en_gpio: panel-en-gpio { ++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ lcd_panel_reset_gpio: lcd-panel-reset-gpio { ++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ pwrled_gpio: pwrled_gpio { ++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ slpled_gpio: slpled_gpio { ++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int_l_gpio: pmic-int-l-gpio { ++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ vsel1_gpio: vsel1-gpio { ++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ vsel2_gpio: vsel2-gpio { ++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { ++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ }; ++ ++ sdio-pwrseq { ++ wifi_enable_h_gpio: wifi-enable-h-gpio { ++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb-typec { ++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { ++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ usb2 { ++ pwr_5v_gpio: pwr-5v-gpio { ++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ wireless-bluetooth { ++ bt_wake_gpio: bt-wake-gpio { ++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_gpio: bt-host-wake-gpio { ++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reset_gpio: bt-reset-gpio { ++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmu1830-supply = <&vcc_3v0>; ++ status = "okay"; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca1v8_s3>; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v0_sd>; ++ vqmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&sdio0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; ++ sd-uhs-sdr104; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ mmc-hs200-1_8v; ++ non-removable; ++ status = "okay"; ++}; ++ ++&spi1 { ++ max-freq = <10000000>; ++ status = "okay"; ++ ++ spiflash: flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ m25p,fast-read; ++ spi-max-frequency = <10000000>; ++ }; ++}; ++ ++&tcphy0 { ++ status = "okay"; ++}; ++ ++&tcphy0_dp { ++ port { ++ tcphy0_typec_dp: endpoint { ++ remote-endpoint = <&usbc_dp>; ++ }; ++ }; ++}; ++ ++&tcphy0_usb3 { ++ port { ++ tcphy0_typec_ss: endpoint { ++ remote-endpoint = <&usbc_ss>; ++ }; ++ }; ++}; ++ ++&tcphy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ /* tshut mode 0:CRU 1:GPIO */ ++ rockchip,hw-tshut-mode = <1>; ++ /* tshut polarity 0:LOW 1:HIGH */ ++ rockchip,hw-tshut-polarity = <1>; ++ status = "okay"; ++}; ++ ++&u2phy0 { ++ status = "okay"; ++ ++ u2phy0_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy0_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++ ++ port { ++ u2phy0_typec_hs: endpoint { ++ remote-endpoint = <&usbc_hs>; ++ }; ++ }; ++}; ++ ++&u2phy1 { ++ status = "okay"; ++ ++ u2phy1_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy1_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk808 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; ++ max-speed = <1500000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; ++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; ++ vbat-supply = <&wifi_bat>; ++ vddio-supply = <&vcc_wl>; ++ }; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usbdrd3_0 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_0 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbdrd3_1 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_1 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&vopb { ++ status = "okay"; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; ++ ++&vopl { ++ status = "okay"; ++}; ++ ++&vopl_mmu { ++ status = "okay"; ++}; diff --git a/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch new file mode 100644 index 000000000..6b1090083 --- /dev/null +++ b/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch @@ -0,0 +1,481 @@ +From patchwork Fri Jan 10 19:14:59 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com> +X-Patchwork-Id: 1221384 +Return-Path: <linux-pci-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-pci-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=gf35ja2k; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 47vXkJ2PJMz9sPJ + for <incoming@patchwork.ozlabs.org>; + Sat, 11 Jan 2020 06:15:20 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1728167AbgAJTPQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Fri, 10 Jan 2020 14:15:16 -0500 +Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1668 "EHLO + hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727612AbgAJTPQ (ORCPT + <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:16 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e18cd310000>; Fri, 10 Jan 2020 11:14:57 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Fri, 10 Jan 2020 11:15:15 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:15 -0800 +Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com + (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Fri, 10 Jan 2020 19:15:15 +0000 +Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com + (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Fri, 10 Jan 2020 19:15:14 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com + (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Fri, 10 Jan 2020 19:15:14 +0000 +Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e18cd3e0001>; Fri, 10 Jan 2020 11:15:14 -0800 +From: Vidya Sagar <vidyas@nvidia.com> +To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>, + <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>, + <treding@nvidia.com>, <jonathanh@nvidia.com> +CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>, + <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>, + <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>, + <sagar.tv@gmail.com> +Subject: [PATCH V3 1/2] arm64: tegra: Re-order PCIe aperture mappings to + support ACPI boot +Date: Sat, 11 Jan 2020 00:44:59 +0530 +Message-ID: <20200110191500.9538-2-vidyas@nvidia.com> +X-Mailer: git-send-email 2.17.1 +In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com> +References: <20200106082709.14370-1-vidyas@nvidia.com> + <20200110191500.9538-1-vidyas@nvidia.com> +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1578683697; bh=A9295dTyR+j2yr8EqSviqtTgED4nGyVgvOv0oWR2ueU=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + In-Reply-To:References:X-NVConfidentiality:MIME-Version: + Content-Type; + b=gf35ja2k7JnAqX+jyF1OxPVsYL5Fk4U+zYrMvTudBnjv0lLjB+7vnkXuO5FnSX28a + o2Mvk9yks+a7NYLZkVfmKCXKbeDNoGPlPSy+g8CAyeAd5u7leSGONsy5awV83vmud7 + /KuuExw/Ko4JihAJdQ57/4EaaohgPWUNbodkmI5Wo0e7qyfgf5PvkAkwe1PdtgEKls + t9tsBwoqjGJn5WWPiQMaUZ8OHdSvPrUDuyKEFPjjr9IpczNvMzJE8SyHDZci42N+s+ + f0iCjfLLhugetglYqrGi5j8eknYwfvMIV+vnkZj0dSmiS70Y1G31dVfgR/s3ueHnRy + jBNjNRTUtey9w== +Sender: linux-pci-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-pci.vger.kernel.org> +X-Mailing-List: linux-pci@vger.kernel.org + +Re-order Tegra194's PCIe aperture mappings to have IO window moved to +64-bit aperture and have the entire 32-bit aperture used for accessing +the configuration space. This makes it to use the entire 32MB of the 32-bit +aperture for ECAM purpose while booting through ACPI. + +Signed-off-by: Vidya Sagar <vidyas@nvidia.com> +--- +V3: +* New change in this series + + arch/arm64/boot/dts/nvidia/tegra194.dtsi | 36 ++++++++++++------------ + 1 file changed, 18 insertions(+), 18 deletions(-) + +diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi +index ccac43be12ac..5d790ec5bdef 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi ++++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi +@@ -1247,9 +1247,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */ +- 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ ++ ranges = <0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */ ++ 0x82000000 0x00 0x40000000 0x12 0x30000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x12 0x3fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + pcie@14120000 { +@@ -1292,9 +1292,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */ +- 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ ++ ranges = <0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */ ++ 0x82000000 0x00 0x40000000 0x12 0x70000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x12 0x7fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + pcie@14140000 { +@@ -1337,9 +1337,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */ +- 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ ++ ranges = <0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */ ++ 0x82000000 0x00 0x40000000 0x12 0xb0000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x12 0xbfff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + pcie@14160000 { +@@ -1382,9 +1382,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ +- 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ ++ ranges = <0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ ++ 0x82000000 0x00 0x40000000 0x17 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x17 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + pcie@14180000 { +@@ -1427,9 +1427,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ +- 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ ++ ranges = <0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ ++ 0x82000000 0x00 0x40000000 0x1b 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x1b 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + pcie@141a0000 { +@@ -1476,9 +1476,9 @@ + nvidia,aspm-l0s-entrance-latency-us = <3>; + + bus-range = <0x0 0xff>; +- ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */ +- 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ +- 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ ++ ranges = <0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ ++ 0x82000000 0x00 0x40000000 0x1f 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */ ++ 0x81000000 0x00 0x00000000 0x1f 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */ + }; + + sysram@40000000 { + +From patchwork Fri Jan 10 19:15:00 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com> +X-Patchwork-Id: 1221385 +Return-Path: <linux-pci-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-pci-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=KDh6KAfT; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 47vXkS04dtz9sR0 + for <incoming@patchwork.ozlabs.org>; + Sat, 11 Jan 2020 06:15:28 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1728451AbgAJTPX (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Fri, 10 Jan 2020 14:15:23 -0500 +Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:9177 "EHLO + hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727612AbgAJTPX (ORCPT + <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:23 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e18cd160001>; Fri, 10 Jan 2020 11:14:30 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Fri, 10 Jan 2020 11:15:21 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:21 -0800 +Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com + (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Fri, 10 Jan 2020 19:15:21 +0000 +Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com + (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Fri, 10 Jan 2020 19:15:21 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com + (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Fri, 10 Jan 2020 19:15:20 +0000 +Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e18cd440002>; Fri, 10 Jan 2020 11:15:20 -0800 +From: Vidya Sagar <vidyas@nvidia.com> +To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>, + <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>, + <treding@nvidia.com>, <jonathanh@nvidia.com> +CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>, + <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>, + <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>, + <sagar.tv@gmail.com> +Subject: [PATCH V3 2/2] PCI: Add MCFG quirks for Tegra194 host controllers +Date: Sat, 11 Jan 2020 00:45:00 +0530 +Message-ID: <20200110191500.9538-3-vidyas@nvidia.com> +X-Mailer: git-send-email 2.17.1 +In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com> +References: <20200106082709.14370-1-vidyas@nvidia.com> + <20200110191500.9538-1-vidyas@nvidia.com> +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1578683671; bh=6wJT/II+S2upRtJe41MS3kcnFzRRB57EIPkoU3txnnc=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + In-Reply-To:References:X-NVConfidentiality:MIME-Version: + Content-Type; + b=KDh6KAfT+xBJE0n0yRibTvav8qocX0wdxtjjCMNH+VNrt1Gvwgt8htMQvTCpi08Hz + OLS6piubtsXb2Fk+J0rDcwmB2QM0YMKe6eA3DQkuJTPhl6PRxtvXdAYPfl/Z2pvG38 + dq6SIor6Yw4e76ncsvt69w6UXoLZHF7AywICq0jGnmPjWoKDnjID3qKSj5/u7tE+/L + 6hJUZ2QQebXRI17dRdfleyir+rRCS0wMl9tVNiAHplY3Wlxw895LJqvmVRZDVA+kg5 + 8DPKJY2JbazS6P4QcywESwuhDfejJGaJUz+1/6oSiHBMCI5OhfhFZ/lyTf0iZycdTQ + gnZUMkPu2QZOg== +Sender: linux-pci-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-pci.vger.kernel.org> +X-Mailing-List: linux-pci@vger.kernel.org + +The PCIe controller in Tegra194 SoC is not completely ECAM-compliant. +With the current hardware design limitations in place, ECAM can be enabled +only for one controller (C5 controller to be precise) with bus numbers +starting from 160 instead of 0. A different approach is taken to avoid this +abnormal way of enabling ECAM for just one controller but to enable +configuration space access for all the other controllers. In this approach, +ops are added through MCFG quirk mechanism which access the configuration +spaces by dynamically programming iATU (internal AddressTranslation Unit) +to generate respective configuration accesses just like the way it is +done in DesignWare core sub-system. + +Signed-off-by: Vidya Sagar <vidyas@nvidia.com> +Reported-by: kbuild test robot <lkp@intel.com> +Acked-by: Thierry Reding <treding@nvidia.com> +--- +V3: +* Removed MCFG address hardcoding in pci_mcfg.c file +* Started using 'dbi_base' for accessing root port's own config space +* and using 'config_base' for accessing config space of downstream hierarchy + +V2: +* Fixed build issues reported by kbuild test bot + + drivers/acpi/pci_mcfg.c | 7 ++ + drivers/pci/controller/dwc/Kconfig | 3 +- + drivers/pci/controller/dwc/Makefile | 2 +- + drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++ + include/linux/pci-ecam.h | 1 + + 5 files changed, 113 insertions(+), 2 deletions(-) + +diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c +index 6b347d9920cc..707181408173 100644 +--- a/drivers/acpi/pci_mcfg.c ++++ b/drivers/acpi/pci_mcfg.c +@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = { + THUNDER_ECAM_QUIRK(2, 12), + THUNDER_ECAM_QUIRK(2, 13), + ++ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops}, ++ + #define XGENE_V1_ECAM_MCFG(rev, seg) \ + {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \ + &xgene_v1_pcie_ecam_ops } +diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig +index 0830dfcfa43a..f5b9e75aceed 100644 +--- a/drivers/pci/controller/dwc/Kconfig ++++ b/drivers/pci/controller/dwc/Kconfig +@@ -255,7 +255,8 @@ config PCIE_TEGRA194 + select PHY_TEGRA194_P2U + help + Say Y here if you want support for DesignWare core based PCIe host +- controller found in NVIDIA Tegra194 SoC. ++ controller found in NVIDIA Tegra194 SoC. ACPI platforms with Tegra194 ++ don't need to enable this. + + config PCIE_UNIPHIER + bool "Socionext UniPhier PCIe controllers" +diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile +index 8a637cfcf6e9..76a6c52b8500 100644 +--- a/drivers/pci/controller/dwc/Makefile ++++ b/drivers/pci/controller/dwc/Makefile +@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o + obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o + obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o + obj-$(CONFIG_PCI_MESON) += pci-meson.o +-obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o + obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o + + # The following drivers are for devices that use the generic ACPI +@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o + ifdef CONFIG_PCI + obj-$(CONFIG_ARM64) += pcie-al.o + obj-$(CONFIG_ARM64) += pcie-hisi.o ++obj-$(CONFIG_ARM64) += pcie-tegra194.o + endif +diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c +index cbe95f0ea0ca..660f55caa8be 100644 +--- a/drivers/pci/controller/dwc/pcie-tegra194.c ++++ b/drivers/pci/controller/dwc/pcie-tegra194.c +@@ -21,6 +21,8 @@ + #include <linux/of_irq.h> + #include <linux/of_pci.h> + #include <linux/pci.h> ++#include <linux/pci-acpi.h> ++#include <linux/pci-ecam.h> + #include <linux/phy/phy.h> + #include <linux/pinctrl/consumer.h> + #include <linux/platform_device.h> +@@ -285,6 +287,103 @@ struct tegra_pcie_dw { + struct dentry *debugfs; + }; + ++#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) ++struct tegra194_pcie_acpi { ++ void __iomem *config_base; ++ void __iomem *iatu_base; ++ void __iomem *dbi_base; ++}; ++ ++static int tegra194_acpi_init(struct pci_config_window *cfg) ++{ ++ struct device *dev = cfg->parent; ++ struct tegra194_pcie_acpi *pcie; ++ ++ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); ++ if (!pcie) ++ return -ENOMEM; ++ ++ pcie->config_base = cfg->win; ++ pcie->iatu_base = cfg->win + SZ_256K; ++ pcie->dbi_base = cfg->win + SZ_512K; ++ cfg->priv = pcie; ++ ++ return 0; ++} ++ ++static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index, ++ u32 val, u32 reg) ++{ ++ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index); ++ ++ writel(val, pcie->iatu_base + offset + reg); ++} ++ ++static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index, ++ int type, u64 cpu_addr, u64 pci_addr, u64 size) ++{ ++ atu_reg_write(pcie, index, lower_32_bits(cpu_addr), ++ PCIE_ATU_LOWER_BASE); ++ atu_reg_write(pcie, index, upper_32_bits(cpu_addr), ++ PCIE_ATU_UPPER_BASE); ++ atu_reg_write(pcie, index, lower_32_bits(pci_addr), ++ PCIE_ATU_LOWER_TARGET); ++ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1), ++ PCIE_ATU_LIMIT); ++ atu_reg_write(pcie, index, upper_32_bits(pci_addr), ++ PCIE_ATU_UPPER_TARGET); ++ atu_reg_write(pcie, index, type, PCIE_ATU_CR1); ++ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2); ++} ++ ++static void __iomem *tegra194_map_bus(struct pci_bus *bus, ++ unsigned int devfn, int where) ++{ ++ struct pci_config_window *cfg = bus->sysdata; ++ struct tegra194_pcie_acpi *pcie = cfg->priv; ++ u32 busdev; ++ int type; ++ ++ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end) ++ return NULL; ++ ++ if (bus->number == cfg->busr.start) { ++ if (PCI_SLOT(devfn) == 0) ++ return pcie->dbi_base + where; ++ else ++ return NULL; ++ } ++ ++ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) | ++ PCIE_ATU_FUNC(PCI_FUNC(devfn)); ++ ++ if (bus->parent->number == cfg->busr.start) { ++ if (PCI_SLOT(devfn) == 0) ++ type = PCIE_ATU_TYPE_CFG0; ++ else ++ return NULL; ++ } else { ++ type = PCIE_ATU_TYPE_CFG1; ++ } ++ ++ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type, ++ cfg->res.start, busdev, SZ_256K); ++ return (void __iomem *)(pcie->config_base + where); ++} ++ ++struct pci_ecam_ops tegra194_pcie_ops = { ++ .bus_shift = 20, ++ .init = tegra194_acpi_init, ++ .pci_ops = { ++ .map_bus = tegra194_map_bus, ++ .read = pci_generic_config_read, ++ .write = pci_generic_config_write, ++ } ++}; ++#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */ ++ ++#ifdef CONFIG_PCIE_TEGRA194 ++ + static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci) + { + return container_of(pci, struct tegra_pcie_dw, pci); +@@ -1728,3 +1827,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match); + MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>"); + MODULE_DESCRIPTION("NVIDIA PCIe host controller driver"); + MODULE_LICENSE("GPL v2"); ++ ++#endif /* CONFIG_PCIE_TEGRA194 */ ++ +diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h +index a73164c85e78..6156140dcbb6 100644 +--- a/include/linux/pci-ecam.h ++++ b/include/linux/pci-ecam.h +@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */ + extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */ + extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */ + extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */ ++extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */ + #endif + + #ifdef CONFIG_PCI_HOST_COMMON diff --git a/Raspberry-Pi-4-PCIe-support.patch b/Raspberry-Pi-4-PCIe-support.patch deleted file mode 100644 index d87f6f512..000000000 --- a/Raspberry-Pi-4-PCIe-support.patch +++ /dev/null @@ -1,1995 +0,0 @@ -From patchwork Mon Dec 16 11:01:07 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -X-Patchwork-Id: 11293801 -Return-Path: - <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1A73D930 - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:01:44 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id B59B620700 - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:01:43 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="cb79RIet" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B59B620700 -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=suse.de -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: - List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: - Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: - Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: - List-Owner; bh=BIaxi8TW6/7kc2+ri3jCQvUDcvRqu4DcRQH+PcSrqFE=; b=cb79RIetq9xDMB - WjzGeSpWqqJFBoypJgtl/f0hMNvDJo23OqyPAA3XiHnd/1OiFVtIaHj0rl0/7mBUqLfVJzym3AJq8 - MbvE4H5sbjLxLskuQnjMJoITqCzh1fly6HBgLOQJRHZU3rLBVnkbRPgRv+nRt5Nqi5M3aJp1a3qsL - 8hPhH1PkGeofP4XjfWvnfl7nhg21+dC3Bxu86pb1aKPogRL6Rw4FGwOawF3ySHMGue4t9OfGcUh+B - NI08Au81lvrfZys52Hfb5S7BXmj8vd/1fGqW97GjBdZcHjdUNMfFHHlC4SmLwJqvKdVWpgJH01sdP - 29RmPOdzQSiBF+WIhx2w==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo8E-0003Jg-15; Mon, 16 Dec 2019 11:01:42 +0000 -Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo80-00036F-By; Mon, 16 Dec 2019 11:01:30 +0000 -X-Virus-Scanned: by amavisd-new at test-mx.suse.de -Received: from relay2.suse.de (unknown [195.135.220.254]) - by mx1.suse.de (Postfix) with ESMTP id 0A418ABF4; - Mon, 16 Dec 2019 11:01:27 +0000 (UTC) -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org, - Florian Fainelli <f.fainelli@gmail.com>, - bcm-kernel-feedback-list@broadcom.com, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - Bjorn Helgaas <bhelgaas@google.com> -Subject: [PATCH v5 1/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe - device -Date: Mon, 16 Dec 2019 12:01:07 +0100 -Message-Id: <20191216110113.30436-2-nsaenzjulienne@suse.de> -X-Mailer: git-send-email 2.24.0 -In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de> -References: <20191216110113.30436-1-nsaenzjulienne@suse.de> -MIME-Version: 1.0 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20191216_030128_695398_7DDDD9AA -X-CRM114-Status: GOOD ( 12.44 ) -X-Spam-Score: -2.3 (--) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-2.3 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) - [195.135.220.15 listed in wl.mailspike.net] - -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, - medium trust [195.135.220.15 listed in list.dnswl.org] - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: Mark Rutland <mark.rutland@arm.com>, Rob Herring <robh@kernel.org>, - mbrugger@suse.com, devicetree@vger.kernel.org, linux-pci@vger.kernel.org, - phil@raspberrypi.org, jeremy.linton@arm.com, - Rob Herring <robh+dt@kernel.org>, - wahrenst@gmx.net, james.quinlan@broadcom.com, - linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -From: Jim Quinlan <james.quinlan@broadcom.com> - -The DT bindings description of the brcmstb PCIe device is described. -This node can only be used for now on the Raspberry Pi 4. - -Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com> -Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Rob Herring <robh@kernel.org> -Reviewed-by: Andrew Murray <andrew.murray@arm.com> ---- - -Changes since v2: - - Add pci reference schema - - Drop all default properties - - Assume msi-controller and msi-parent are properly defined - - Add num entries on multiple properties - - use unevaluatedProperties - - Update required properties - - Fix license - -Changes since v1: - - Fix commit Subject - - Remove linux,pci-domain - -This was based on Jim's original submission[1], converted to yaml and -adapted to the RPi4 case. - -[1] https://patchwork.kernel.org/patch/10605937/ - - .../bindings/pci/brcm,stb-pcie.yaml | 97 +++++++++++++++++++ - 1 file changed, 97 insertions(+) - create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml - -diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml -new file mode 100644 -index 000000000000..77d3e81a437b ---- /dev/null -+++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml -@@ -0,0 +1,97 @@ -+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -+%YAML 1.2 -+--- -+$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml# -+$schema: http://devicetree.org/meta-schemas/core.yaml# -+ -+title: Brcmstb PCIe Host Controller Device Tree Bindings -+ -+maintainers: -+ - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -+ -+allOf: -+ - $ref: /schemas/pci/pci-bus.yaml# -+ -+properties: -+ compatible: -+ const: brcm,bcm2711-pcie # The Raspberry Pi 4 -+ -+ reg: -+ maxItems: 1 -+ -+ interrupts: -+ minItems: 1 -+ maxItems: 2 -+ items: -+ - description: PCIe host controller -+ - description: builtin MSI controller -+ -+ interrupt-names: -+ minItems: 1 -+ maxItems: 2 -+ items: -+ - const: pcie -+ - const: msi -+ -+ ranges: -+ maxItems: 1 -+ -+ dma-ranges: -+ maxItems: 1 -+ -+ clocks: -+ maxItems: 1 -+ -+ clock-names: -+ items: -+ - const: sw_pcie -+ -+ msi-controller: -+ description: Identifies the node as an MSI controller. -+ -+ msi-parent: -+ description: MSI controller the device is capable of using. -+ -+ brcm,enable-ssc: -+ description: Indicates usage of spread-spectrum clocking. -+ type: boolean -+ -+required: -+ - reg -+ - dma-ranges -+ - "#interrupt-cells" -+ - interrupts -+ - interrupt-names -+ - interrupt-map-mask -+ - interrupt-map -+ - msi-controller -+ -+unevaluatedProperties: false -+ -+examples: -+ - | -+ #include <dt-bindings/interrupt-controller/irq.h> -+ #include <dt-bindings/interrupt-controller/arm-gic.h> -+ -+ scb { -+ #address-cells = <2>; -+ #size-cells = <1>; -+ pcie0: pcie@7d500000 { -+ compatible = "brcm,bcm2711-pcie"; -+ reg = <0x0 0x7d500000 0x9310>; -+ device_type = "pci"; -+ #address-cells = <3>; -+ #size-cells = <2>; -+ #interrupt-cells = <1>; -+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, -+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "pcie", "msi"; -+ interrupt-map-mask = <0x0 0x0 0x0 0x7>; -+ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; -+ msi-parent = <&pcie0>; -+ msi-controller; -+ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; -+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>; -+ brcm,enable-ssc; -+ }; -+ }; - -From patchwork Mon Dec 16 11:01:08 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -X-Patchwork-Id: 11293815 -Return-Path: - <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 72D3D930 - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:03 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id 3F7AB207FF - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:03 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="ISsHC9fH" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F7AB207FF -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=suse.de -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: - List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: - Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: - Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: - List-Owner; bh=UdJf8Rwrz/6hs1077s5n/9efhkcR9FHAvuF0K/vLN8Y=; b=ISsHC9fHRq+60M - 7gtGwBg+WQQOYb9jdFmwMcxGe0qeWpPaGIHMIEsnIe4XD9FwQCB/DOlaEd0YroSKG9wx+ltXjqRP6 - corbkj+3N2CbLy6xpcmwrU7Mbjs2kt7wAx86+oeF2HHVgt0LIa3b38nMkD9IIKU9cNsE/eBW8QAOz - wBlxik6IpMapnTNb5x/QmfGMTJUfmL0t8wz7HK1aJtKRj8U99KmswxLykSrniOXw8EBd+NnZxjV5W - 6sD8LTIHp/B5zbN06MCX9sggOhONO7PjnEkmJM68Jzwu/O+6k8MHEfGBRdTLXvkoDmW1uFhIt/u79 - nZo/2ZcH3xzpGMNR//gA==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo8W-0003bB-8M; Mon, 16 Dec 2019 11:02:00 +0000 -Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo81-00036I-17; Mon, 16 Dec 2019 11:01:31 +0000 -X-Virus-Scanned: by amavisd-new at test-mx.suse.de -Received: from relay2.suse.de (unknown [195.135.220.254]) - by mx1.suse.de (Postfix) with ESMTP id B9907ACA7; - Mon, 16 Dec 2019 11:01:27 +0000 (UTC) -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org, - Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Subject: [PATCH v5 2/6] ARM: dts: bcm2711: Enable PCIe controller -Date: Mon, 16 Dec 2019 12:01:08 +0100 -Message-Id: <20191216110113.30436-3-nsaenzjulienne@suse.de> -X-Mailer: git-send-email 2.24.0 -In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de> -References: <20191216110113.30436-1-nsaenzjulienne@suse.de> -MIME-Version: 1.0 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20191216_030129_211513_E7F95430 -X-CRM114-Status: GOOD ( 12.22 ) -X-Spam-Score: -2.3 (--) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-2.3 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) - [195.135.220.15 listed in wl.mailspike.net] - -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, - medium trust [195.135.220.15 listed in list.dnswl.org] - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, - linux-pci@vger.kernel.org, - phil@raspberrypi.org, jeremy.linton@arm.com, mbrugger@suse.com, - bcm-kernel-feedback-list@broadcom.com, wahrenst@gmx.net, - james.quinlan@broadcom.com, linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -This enables bcm2711's PCIe bus, which is hardwired to a VIA -Technologies XHCI USB 3.0 controller. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - -Changes since v4: - - Rebase commit taking into account genet support series - -Changes since v3: - - Remove unwarranted comment - -Changes since v2: - - Remove unused interrupt-map - - correct dma-ranges to it's full size, non power of 2 bus DMA - constraints now supported in linux-next[1] - - add device_type - - rename alias from pcie_0 to pcie0 - -Changes since v1: - - remove linux,pci-domain - -[1] https://lkml.org/lkml/2019/11/21/235 - - arch/arm/boot/dts/bcm2711.dtsi | 31 ++++++++++++++++++++++++++++++- - 1 file changed, 30 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi -index e2f6ffb00aa9..b56388ce1216 100644 ---- a/arch/arm/boot/dts/bcm2711.dtsi -+++ b/arch/arm/boot/dts/bcm2711.dtsi -@@ -331,7 +331,36 @@ scb { - #address-cells = <2>; - #size-cells = <1>; - -- ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>; -+ ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>, -+ <0x6 0x00000000 0x6 0x00000000 0x40000000>; -+ -+ pcie0: pcie@7d500000 { -+ compatible = "brcm,bcm2711-pcie"; -+ reg = <0x0 0x7d500000 0x9310>; -+ device_type = "pci"; -+ #address-cells = <3>; -+ #interrupt-cells = <1>; -+ #size-cells = <2>; -+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, -+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "pcie", "msi"; -+ interrupt-map-mask = <0x0 0x0 0x0 0x7>; -+ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 -+ IRQ_TYPE_LEVEL_HIGH>; -+ msi-controller; -+ msi-parent = <&pcie0>; -+ -+ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 -+ 0x0 0x04000000>; -+ /* -+ * The wrapper around the PCIe block has a bug -+ * preventing it from accessing beyond the first 3GB of -+ * memory. -+ */ -+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 -+ 0x0 0xc0000000>; -+ brcm,enable-ssc; -+ }; - - genet: ethernet@7d580000 { - compatible = "brcm,bcm2711-genet-v5"; - -From patchwork Mon Dec 16 11:01:09 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -X-Patchwork-Id: 11293817 -Return-Path: - <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5258B138C - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:16 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id 2BC2C206EC - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:16 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="ESaFz97K" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BC2C206EC -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=suse.de -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: - List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: - Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: - Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: - List-Owner; bh=+5ayi0cziQL3ZyCMj3iZr+38A6c8osp+1etjz8lMcs0=; b=ESaFz97K8D7L5Q - eP6cOr4xBwD8JGVEOalDJHmTA7YrfsYPlyqEmoV5jf6647ddqM+dXZE2HpqGgiKBSvQmg3bbSh92t - DokvbV8Iglu0LlQvliFFakzKq3z/SEtdiQ67DhNsyC8/6150TSWOQ3bgblVRH3pBCettQmRRCdSPG - S0nb5uLQ0mpfLJvfcpN6lDJepIxpaCo4My4i5OPN5rCVQgW0b181kKQ0CiOpn6+RHsZ8TZQT3oGLt - lXuYTni2GgcysGX3UNYbzsex6v8wqmSxchH+qpnwdJw7G/oxFcNTvVQ5BIjU62CZmX6qC+RjOwwnB - LwtY7yRrtR/lXNVBKOFQ==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo8l-0003rT-Fs; Mon, 16 Dec 2019 11:02:15 +0000 -Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo82-00036x-Ea; Mon, 16 Dec 2019 11:01:34 +0000 -X-Virus-Scanned: by amavisd-new at test-mx.suse.de -Received: from relay2.suse.de (unknown [195.135.220.254]) - by mx1.suse.de (Postfix) with ESMTP id 25A22ACC6; - Mon, 16 Dec 2019 11:01:29 +0000 (UTC) -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org, - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, - Florian Fainelli <f.fainelli@gmail.com>, - bcm-kernel-feedback-list@broadcom.com, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Subject: [PATCH v5 3/6] PCI: brcmstb: Add Broadcom STB PCIe host controller - driver -Date: Mon, 16 Dec 2019 12:01:09 +0100 -Message-Id: <20191216110113.30436-4-nsaenzjulienne@suse.de> -X-Mailer: git-send-email 2.24.0 -In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de> -References: <20191216110113.30436-1-nsaenzjulienne@suse.de> -MIME-Version: 1.0 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20191216_030130_800432_3B8FE2E4 -X-CRM114-Status: GOOD ( 18.27 ) -X-Spam-Score: -2.3 (--) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-2.3 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) - [195.135.220.15 listed in wl.mailspike.net] - -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, - medium trust [195.135.220.15 listed in list.dnswl.org] - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org, - jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com, - Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -From: Jim Quinlan <james.quinlan@broadcom.com> - -This adds a basic driver for Broadcom's STB PCIe controller, for now -aimed at Raspberry Pi 4's SoC, bcm2711. - -Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com> -Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Andrew Murray <andrew.murray@arm.com> -Reviewed-by: Jeremy Linton <jeremy.linton@arm.com> ---- - -Changes since v3: - - Update commit message - - rollback roundup_pow_two usage, it'll be updated later down the line - - Remove comment in register definition - -Changes since v2: - - Correct rc_bar2_offset sign - - Invert IRQ clear and masking in setup code - - Use bitfield.h, redo all register ops while keeping the register - names intact - - Remove all SHIFT register definitions - - Get rid of all _RB writes - - Get rid of of_data - - Don't iterate over inexisting dma-ranges - - Add comment regarding dma-ranges validation - - Small cosmetic cleanups - - Fix license mismatch - - Set driver Kconfig tristate - - Didn't add any comment about the controller not being I/O coherent - for now as I wait for Jeremy's reply - -Changes since v1: - - Fix Kconfig - - Remove pci domain check - - Remove all MSI related code - - Remove supend/resume code - - Simplify link state wait routine - - Prefix all functions - - Use of_device_get_match_data() - - Use devm_clk_get_optional() - - Get rid of irq variable - - Use STB all over the driver - - Simplify map_bus() function - - Fix license mismatch - - Remove unused register definitions - - Small cleanups, spell errors - -This is based on Jim's original submission[1] but adapted and tailored -specifically to bcm2711's needs (that's the Raspberry Pi 4). Support for -the rest of the brcmstb family will soon follow once we get support for -multiple dma-ranges in dma/direct. - -[1] https://patchwork.kernel.org/patch/10605959/ - - drivers/pci/controller/Kconfig | 8 + - drivers/pci/controller/Makefile | 1 + - drivers/pci/controller/pcie-brcmstb.c | 748 ++++++++++++++++++++++++++ - 3 files changed, 757 insertions(+) - create mode 100644 drivers/pci/controller/pcie-brcmstb.c - -diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig -index c77069c8ee5d..27504f108ee5 100644 ---- a/drivers/pci/controller/Kconfig -+++ b/drivers/pci/controller/Kconfig -@@ -253,6 +253,14 @@ config VMD - To compile this driver as a module, choose M here: the - module will be called vmd. - -+config PCIE_BRCMSTB -+ tristate "Broadcom Brcmstb PCIe host controller" -+ depends on ARCH_BCM2835 || COMPILE_TEST -+ depends on OF -+ help -+ Say Y here to enable PCIe host controller support for -+ Broadcom STB based SoCs, like the Raspberry Pi 4. -+ - config PCI_HYPERV_INTERFACE - tristate "Hyper-V PCI Interface" - depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64 -diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile -index 3d4f597f15ce..01b2502a5323 100644 ---- a/drivers/pci/controller/Makefile -+++ b/drivers/pci/controller/Makefile -@@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o - obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o - obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o - obj-$(CONFIG_VMD) += vmd.o -+obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o - # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW - obj-y += dwc/ - -diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -new file mode 100644 -index 000000000000..dd681164faa0 ---- /dev/null -+++ b/drivers/pci/controller/pcie-brcmstb.c -@@ -0,0 +1,748 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* Copyright (C) 2009 - 2019 Broadcom */ -+ -+#include <linux/bitfield.h> -+#include <linux/clk.h> -+#include <linux/compiler.h> -+#include <linux/delay.h> -+#include <linux/init.h> -+#include <linux/interrupt.h> -+#include <linux/io.h> -+#include <linux/ioport.h> -+#include <linux/irqdomain.h> -+#include <linux/kernel.h> -+#include <linux/list.h> -+#include <linux/log2.h> -+#include <linux/module.h> -+#include <linux/of_address.h> -+#include <linux/of_irq.h> -+#include <linux/of_pci.h> -+#include <linux/of_platform.h> -+#include <linux/pci.h> -+#include <linux/printk.h> -+#include <linux/sizes.h> -+#include <linux/slab.h> -+#include <linux/string.h> -+#include <linux/types.h> -+ -+#include "../pci.h" -+ -+/* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */ -+#define BRCM_PCIE_CAP_REGS 0x00ac -+ -+/* Broadcom STB PCIe Register Offsets */ -+#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1 0x0188 -+#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK 0xc -+#define PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN 0x0 -+ -+#define PCIE_RC_CFG_PRIV1_ID_VAL3 0x043c -+#define PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK 0xffffff -+ -+#define PCIE_RC_DL_MDIO_ADDR 0x1100 -+#define PCIE_RC_DL_MDIO_WR_DATA 0x1104 -+#define PCIE_RC_DL_MDIO_RD_DATA 0x1108 -+ -+#define PCIE_MISC_MISC_CTRL 0x4008 -+#define PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000 -+#define PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000 -+#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK 0x300000 -+#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128 0x0 -+#define PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK 0xf8000000 -+ -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO 0x400c -+#define PCIE_MEM_WIN0_LO(win) \ -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO + ((win) * 4) -+ -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI 0x4010 -+#define PCIE_MEM_WIN0_HI(win) \ -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI + ((win) * 4) -+ -+#define PCIE_MISC_RC_BAR1_CONFIG_LO 0x402c -+#define PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK 0x1f -+ -+#define PCIE_MISC_RC_BAR2_CONFIG_LO 0x4034 -+#define PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK 0x1f -+#define PCIE_MISC_RC_BAR2_CONFIG_HI 0x4038 -+ -+#define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c -+#define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f -+ -+#define PCIE_MISC_PCIE_CTRL 0x4064 -+#define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1 -+ -+#define PCIE_MISC_PCIE_STATUS 0x4068 -+#define PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK 0x80 -+#define PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK 0x20 -+#define PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK 0x10 -+#define PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK 0x40 -+ -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT 0x4070 -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK 0xfff00000 -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK 0xfff0 -+#define PCIE_MEM_WIN0_BASE_LIMIT(win) \ -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT + ((win) * 4) -+ -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI 0x4080 -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK 0xff -+#define PCIE_MEM_WIN0_BASE_HI(win) \ -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI + ((win) * 8) -+ -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI 0x4084 -+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK 0xff -+#define PCIE_MEM_WIN0_LIMIT_HI(win) \ -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8) -+ -+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204 -+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK 0x2 -+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000 -+ -+#define PCIE_MSI_INTR2_STATUS 0x4500 -+#define PCIE_MSI_INTR2_CLR 0x4508 -+#define PCIE_MSI_INTR2_MASK_SET 0x4510 -+#define PCIE_MSI_INTR2_MASK_CLR 0x4514 -+ -+#define PCIE_EXT_CFG_DATA 0x8000 -+ -+#define PCIE_EXT_CFG_INDEX 0x9000 -+#define PCIE_EXT_BUSNUM_SHIFT 20 -+#define PCIE_EXT_SLOT_SHIFT 15 -+#define PCIE_EXT_FUNC_SHIFT 12 -+ -+#define PCIE_RGR1_SW_INIT_1 0x9210 -+#define PCIE_RGR1_SW_INIT_1_PERST_MASK 0x1 -+#define PCIE_RGR1_SW_INIT_1_INIT_MASK 0x2 -+ -+/* PCIe parameters */ -+#define BRCM_NUM_PCIE_OUT_WINS 0x4 -+ -+/* MDIO registers */ -+#define MDIO_PORT0 0x0 -+#define MDIO_DATA_MASK 0x7fffffff -+#define MDIO_PORT_MASK 0xf0000 -+#define MDIO_REGAD_MASK 0xffff -+#define MDIO_CMD_MASK 0xfff00000 -+#define MDIO_CMD_READ 0x1 -+#define MDIO_CMD_WRITE 0x0 -+#define MDIO_DATA_DONE_MASK 0x80000000 -+#define MDIO_RD_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 1 : 0) -+#define MDIO_WT_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 0 : 1) -+#define SSC_REGS_ADDR 0x1100 -+#define SET_ADDR_OFFSET 0x1f -+#define SSC_CNTL_OFFSET 0x2 -+#define SSC_CNTL_OVRD_EN_MASK 0x8000 -+#define SSC_CNTL_OVRD_VAL_MASK 0x4000 -+#define SSC_STATUS_OFFSET 0x1 -+#define SSC_STATUS_SSC_MASK 0x400 -+#define SSC_STATUS_PLL_LOCK_MASK 0x800 -+ -+/* Internal PCIe Host Controller Information.*/ -+struct brcm_pcie { -+ struct device *dev; -+ void __iomem *base; -+ struct clk *clk; -+ struct pci_bus *root_bus; -+ struct device_node *np; -+ bool ssc; -+ int gen; -+}; -+ -+/* -+ * This is to convert the size of the inbound "BAR" region to the -+ * non-linear values of PCIE_X_MISC_RC_BAR[123]_CONFIG_LO.SIZE -+ */ -+static int brcm_pcie_encode_ibar_size(u64 size) -+{ -+ int log2_in = ilog2(size); -+ -+ if (log2_in >= 12 && log2_in <= 15) -+ /* Covers 4KB to 32KB (inclusive) */ -+ return (log2_in - 12) + 0x1c; -+ else if (log2_in >= 16 && log2_in <= 35) -+ /* Covers 64KB to 32GB, (inclusive) */ -+ return log2_in - 15; -+ /* Something is awry so disable */ -+ return 0; -+} -+ -+static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd) -+{ -+ u32 pkt = 0; -+ -+ pkt |= FIELD_PREP(MDIO_PORT_MASK, port); -+ pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad); -+ pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd); -+ -+ return pkt; -+} -+ -+/* negative return value indicates error */ -+static int brcm_pcie_mdio_read(void __iomem *base, u8 port, u8 regad, u32 *val) -+{ -+ int tries; -+ u32 data; -+ -+ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_READ), -+ base + PCIE_RC_DL_MDIO_ADDR); -+ readl(base + PCIE_RC_DL_MDIO_ADDR); -+ -+ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA); -+ for (tries = 0; !MDIO_RD_DONE(data) && tries < 10; tries++) { -+ udelay(10); -+ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA); -+ } -+ -+ *val = FIELD_GET(MDIO_DATA_MASK, data); -+ return MDIO_RD_DONE(data) ? 0 : -EIO; -+} -+ -+/* negative return value indicates error */ -+static int brcm_pcie_mdio_write(void __iomem *base, u8 port, -+ u8 regad, u16 wrdata) -+{ -+ int tries; -+ u32 data; -+ -+ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_WRITE), -+ base + PCIE_RC_DL_MDIO_ADDR); -+ readl(base + PCIE_RC_DL_MDIO_ADDR); -+ writel(MDIO_DATA_DONE_MASK | wrdata, base + PCIE_RC_DL_MDIO_WR_DATA); -+ -+ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA); -+ for (tries = 0; !MDIO_WT_DONE(data) && tries < 10; tries++) { -+ udelay(10); -+ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA); -+ } -+ -+ return MDIO_WT_DONE(data) ? 0 : -EIO; -+} -+ -+/* -+ * Configures device for Spread Spectrum Clocking (SSC) mode; a negative -+ * return value indicates error. -+ */ -+static int brcm_pcie_set_ssc(struct brcm_pcie *pcie) -+{ -+ int pll, ssc; -+ int ret; -+ u32 tmp; -+ -+ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0, SET_ADDR_OFFSET, -+ SSC_REGS_ADDR); -+ if (ret < 0) -+ return ret; -+ -+ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0, -+ SSC_CNTL_OFFSET, &tmp); -+ if (ret < 0) -+ return ret; -+ -+ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_EN_MASK); -+ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_VAL_MASK); -+ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0, -+ SSC_CNTL_OFFSET, tmp); -+ if (ret < 0) -+ return ret; -+ -+ usleep_range(1000, 2000); -+ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0, -+ SSC_STATUS_OFFSET, &tmp); -+ if (ret < 0) -+ return ret; -+ -+ ssc = FIELD_GET(SSC_STATUS_SSC_MASK, tmp); -+ pll = FIELD_GET(SSC_STATUS_PLL_LOCK_MASK, tmp); -+ -+ return ssc && pll ? 0 : -EIO; -+} -+ -+/* Limits operation to a specific generation (1, 2, or 3) */ -+static void brcm_pcie_set_gen(struct brcm_pcie *pcie, int gen) -+{ -+ u16 lnkctl2 = readw(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2); -+ u32 lnkcap = readl(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP); -+ -+ lnkcap = (lnkcap & ~PCI_EXP_LNKCAP_SLS) | gen; -+ writel(lnkcap, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP); -+ -+ lnkctl2 = (lnkctl2 & ~0xf) | gen; -+ writew(lnkctl2, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2); -+} -+ -+static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie, -+ unsigned int win, u64 cpu_addr, -+ u64 pcie_addr, u64 size) -+{ -+ u32 cpu_addr_mb_high, limit_addr_mb_high; -+ phys_addr_t cpu_addr_mb, limit_addr_mb; -+ int high_addr_shift; -+ u32 tmp; -+ -+ /* Set the base of the pcie_addr window */ -+ writel(lower_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_LO(win)); -+ writel(upper_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_HI(win)); -+ -+ /* Write the addr base & limit lower bits (in MBs) */ -+ cpu_addr_mb = cpu_addr / SZ_1M; -+ limit_addr_mb = (cpu_addr + size - 1) / SZ_1M; -+ -+ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win)); -+ u32p_replace_bits(&tmp, cpu_addr_mb, -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK); -+ u32p_replace_bits(&tmp, limit_addr_mb, -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK); -+ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win)); -+ -+ /* Write the cpu & limit addr upper bits */ -+ high_addr_shift = -+ HWEIGHT32(PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK); -+ -+ cpu_addr_mb_high = cpu_addr_mb >> high_addr_shift; -+ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_HI(win)); -+ u32p_replace_bits(&tmp, cpu_addr_mb_high, -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK); -+ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_HI(win)); -+ -+ limit_addr_mb_high = limit_addr_mb >> high_addr_shift; -+ tmp = readl(pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win)); -+ u32p_replace_bits(&tmp, limit_addr_mb_high, -+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK); -+ writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win)); -+} -+ -+/* The controller is capable of serving in both RC and EP roles */ -+static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie) -+{ -+ void __iomem *base = pcie->base; -+ u32 val = readl(base + PCIE_MISC_PCIE_STATUS); -+ -+ return !!FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK, val); -+} -+ -+static bool brcm_pcie_link_up(struct brcm_pcie *pcie) -+{ -+ u32 val = readl(pcie->base + PCIE_MISC_PCIE_STATUS); -+ u32 dla = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK, val); -+ u32 plu = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK, val); -+ -+ return dla && plu; -+} -+ -+/* Configuration space read/write support */ -+static inline int brcm_pcie_cfg_index(int busnr, int devfn, int reg) -+{ -+ return ((PCI_SLOT(devfn) & 0x1f) << PCIE_EXT_SLOT_SHIFT) -+ | ((PCI_FUNC(devfn) & 0x07) << PCIE_EXT_FUNC_SHIFT) -+ | (busnr << PCIE_EXT_BUSNUM_SHIFT) -+ | (reg & ~3); -+} -+ -+static void __iomem *brcm_pcie_map_conf(struct pci_bus *bus, unsigned int devfn, -+ int where) -+{ -+ struct brcm_pcie *pcie = bus->sysdata; -+ void __iomem *base = pcie->base; -+ int idx; -+ -+ /* Accesses to the RC go right to the RC registers if slot==0 */ -+ if (pci_is_root_bus(bus)) -+ return PCI_SLOT(devfn) ? NULL : base + where; -+ -+ /* For devices, write to the config space index register */ -+ idx = brcm_pcie_cfg_index(bus->number, devfn, 0); -+ writel(idx, pcie->base + PCIE_EXT_CFG_INDEX); -+ return base + PCIE_EXT_CFG_DATA + where; -+} -+ -+static struct pci_ops brcm_pcie_ops = { -+ .map_bus = brcm_pcie_map_conf, -+ .read = pci_generic_config_read, -+ .write = pci_generic_config_write, -+}; -+ -+static inline void brcm_pcie_bridge_sw_init_set(struct brcm_pcie *pcie, u32 val) -+{ -+ u32 tmp; -+ -+ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1); -+ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_INIT_MASK); -+ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1); -+} -+ -+static inline void brcm_pcie_perst_set(struct brcm_pcie *pcie, u32 val) -+{ -+ u32 tmp; -+ -+ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1); -+ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_PERST_MASK); -+ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1); -+} -+ -+static inline int brcm_pcie_get_rc_bar2_size_and_offset(struct brcm_pcie *pcie, -+ u64 *rc_bar2_size, -+ u64 *rc_bar2_offset) -+{ -+ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); -+ struct device *dev = pcie->dev; -+ struct resource_entry *entry; -+ -+ entry = resource_list_first_type(&bridge->dma_ranges, IORESOURCE_MEM); -+ if (!entry) -+ return -ENODEV; -+ -+ *rc_bar2_offset = -entry->offset; -+ *rc_bar2_size = 1ULL << fls64(entry->res->end - entry->res->start); -+ -+ /* -+ * We validate the inbound memory view even though we should trust -+ * whatever the device-tree provides. This is because of an HW issue on -+ * early Raspberry Pi 4's revisions (bcm2711). It turns out its -+ * firmware has to dynamically edit dma-ranges due to a bug on the -+ * PCIe controller integration, which prohibits any access above the -+ * lower 3GB of memory. Given this, we decided to keep the dma-ranges -+ * in check, avoiding hard to debug device-tree related issues in the -+ * future: -+ * -+ * The PCIe host controller by design must set the inbound viewport to -+ * be a contiguous arrangement of all of the system's memory. In -+ * addition, its size mut be a power of two. To further complicate -+ * matters, the viewport must start on a pcie-address that is aligned -+ * on a multiple of its size. If a portion of the viewport does not -+ * represent system memory -- e.g. 3GB of memory requires a 4GB -+ * viewport -- we can map the outbound memory in or after 3GB and even -+ * though the viewport will overlap the outbound memory the controller -+ * will know to send outbound memory downstream and everything else -+ * upstream. -+ * -+ * For example: -+ * -+ * - The best-case scenario, memory up to 3GB, is to place the inbound -+ * region in the first 4GB of pcie-space, as some legacy devices can -+ * only address 32bits. We would also like to put the MSI under 4GB -+ * as well, since some devices require a 32bit MSI target address. -+ * -+ * - If the system memory is 4GB or larger we cannot start the inbound -+ * region at location 0 (since we have to allow some space for -+ * outbound memory @ 3GB). So instead it will start at the 1x -+ * multiple of its size -+ */ -+ if (!*rc_bar2_size || *rc_bar2_offset % *rc_bar2_size || -+ (*rc_bar2_offset < SZ_4G && *rc_bar2_offset > SZ_2G)) { -+ dev_err(dev, "Invalid rc_bar2_offset/size: size 0x%llx, off 0x%llx\n", -+ *rc_bar2_size, *rc_bar2_offset); -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static int brcm_pcie_setup(struct brcm_pcie *pcie) -+{ -+ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); -+ u64 rc_bar2_offset, rc_bar2_size; -+ void __iomem *base = pcie->base; -+ struct device *dev = pcie->dev; -+ struct resource_entry *entry; -+ unsigned int scb_size_val; -+ bool ssc_good = false; -+ struct resource *res; -+ int num_out_wins = 0; -+ u16 nlw, cls, lnksta; -+ int i, ret; -+ u32 tmp; -+ -+ /* Reset the bridge */ -+ brcm_pcie_bridge_sw_init_set(pcie, 1); -+ -+ usleep_range(100, 200); -+ -+ /* Take the bridge out of reset */ -+ brcm_pcie_bridge_sw_init_set(pcie, 0); -+ -+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ tmp &= ~PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK; -+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ /* Wait for SerDes to be stable */ -+ usleep_range(100, 200); -+ -+ /* Set SCB_MAX_BURST_SIZE, CFG_READ_UR_MODE, SCB_ACCESS_EN */ -+ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK); -+ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK); -+ u32p_replace_bits(&tmp, PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128, -+ PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK); -+ writel(tmp, base + PCIE_MISC_MISC_CTRL); -+ -+ ret = brcm_pcie_get_rc_bar2_size_and_offset(pcie, &rc_bar2_size, -+ &rc_bar2_offset); -+ if (ret) -+ return ret; -+ -+ tmp = lower_32_bits(rc_bar2_offset); -+ u32p_replace_bits(&tmp, brcm_pcie_encode_ibar_size(rc_bar2_size), -+ PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK); -+ writel(tmp, base + PCIE_MISC_RC_BAR2_CONFIG_LO); -+ writel(upper_32_bits(rc_bar2_offset), -+ base + PCIE_MISC_RC_BAR2_CONFIG_HI); -+ -+ scb_size_val = rc_bar2_size ? -+ ilog2(rc_bar2_size) - 15 : 0xf; /* 0xf is 1GB */ -+ tmp = readl(base + PCIE_MISC_MISC_CTRL); -+ u32p_replace_bits(&tmp, scb_size_val, -+ PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK); -+ writel(tmp, base + PCIE_MISC_MISC_CTRL); -+ -+ /* disable the PCIe->GISB memory window (RC_BAR1) */ -+ tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO); -+ tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK; -+ writel(tmp, base + PCIE_MISC_RC_BAR1_CONFIG_LO); -+ -+ /* disable the PCIe->SCB memory window (RC_BAR3) */ -+ tmp = readl(base + PCIE_MISC_RC_BAR3_CONFIG_LO); -+ tmp &= ~PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK; -+ writel(tmp, base + PCIE_MISC_RC_BAR3_CONFIG_LO); -+ -+ /* Mask all interrupts since we are not handling any yet */ -+ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_MASK_SET); -+ -+ /* clear any interrupts we find on boot */ -+ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_CLR); -+ -+ if (pcie->gen) -+ brcm_pcie_set_gen(pcie, pcie->gen); -+ -+ /* Unassert the fundamental reset */ -+ brcm_pcie_perst_set(pcie, 0); -+ -+ /* -+ * Give the RC/EP time to wake up, before trying to configure RC. -+ * Intermittently check status for link-up, up to a total of 100ms. -+ */ -+ for (i = 0; i < 100 && !brcm_pcie_link_up(pcie); i += 5) -+ msleep(5); -+ -+ if (!brcm_pcie_link_up(pcie)) { -+ dev_err(dev, "link down\n"); -+ return -ENODEV; -+ } -+ -+ if (!brcm_pcie_rc_mode(pcie)) { -+ dev_err(dev, "PCIe misconfigured; is in EP mode\n"); -+ return -EINVAL; -+ } -+ -+ resource_list_for_each_entry(entry, &bridge->windows) { -+ res = entry->res; -+ -+ if (resource_type(res) != IORESOURCE_MEM) -+ continue; -+ -+ if (num_out_wins >= BRCM_NUM_PCIE_OUT_WINS) { -+ dev_err(pcie->dev, "too many outbound wins\n"); -+ return -EINVAL; -+ } -+ -+ brcm_pcie_set_outbound_win(pcie, num_out_wins, res->start, -+ res->start - entry->offset, -+ res->end - res->start + 1); -+ num_out_wins++; -+ } -+ -+ /* -+ * For config space accesses on the RC, show the right class for -+ * a PCIe-PCIe bridge (the default setting is to be EP mode). -+ */ -+ tmp = readl(base + PCIE_RC_CFG_PRIV1_ID_VAL3); -+ u32p_replace_bits(&tmp, 0x060400, -+ PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK); -+ writel(tmp, base + PCIE_RC_CFG_PRIV1_ID_VAL3); -+ -+ if (pcie->ssc) { -+ ret = brcm_pcie_set_ssc(pcie); -+ if (ret == 0) -+ ssc_good = true; -+ else -+ dev_err(dev, "failed attempt to enter ssc mode\n"); -+ } -+ -+ lnksta = readw(base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKSTA); -+ cls = FIELD_GET(PCI_EXP_LNKSTA_CLS, lnksta); -+ nlw = FIELD_GET(PCI_EXP_LNKSTA_NLW, lnksta); -+ dev_info(dev, "link up, %s x%u %s\n", -+ PCIE_SPEED2STR(cls + PCI_SPEED_133MHz_PCIX_533), -+ nlw, ssc_good ? "(SSC)" : "(!SSC)"); -+ -+ /* PCIe->SCB endian mode for BAR */ -+ tmp = readl(base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1); -+ u32p_replace_bits(&tmp, PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN, -+ PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK); -+ writel(tmp, base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1); -+ -+ /* -+ * Refclk from RC should be gated with CLKREQ# input when ASPM L0s,L1 -+ * is enabled => setting the CLKREQ_DEBUG_ENABLE field to 1. -+ */ -+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ tmp |= PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK; -+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ -+ return 0; -+} -+ -+/* L23 is a low-power PCIe link state */ -+static void brcm_pcie_enter_l23(struct brcm_pcie *pcie) -+{ -+ void __iomem *base = pcie->base; -+ int l23, i; -+ u32 tmp; -+ -+ /* Assert request for L23 */ -+ tmp = readl(base + PCIE_MISC_PCIE_CTRL); -+ u32p_replace_bits(&tmp, 1, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK); -+ writel(tmp, base + PCIE_MISC_PCIE_CTRL); -+ -+ /* Wait up to 36 msec for L23 */ -+ tmp = readl(base + PCIE_MISC_PCIE_STATUS); -+ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK, tmp); -+ for (i = 0; i < 15 && !l23; i++) { -+ usleep_range(2000, 2400); -+ tmp = readl(base + PCIE_MISC_PCIE_STATUS); -+ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK, -+ tmp); -+ } -+ -+ if (!l23) -+ dev_err(pcie->dev, "failed to enter low-power link state\n"); -+} -+ -+static void brcm_pcie_turn_off(struct brcm_pcie *pcie) -+{ -+ void __iomem *base = pcie->base; -+ int tmp; -+ -+ if (brcm_pcie_link_up(pcie)) -+ brcm_pcie_enter_l23(pcie); -+ /* Assert fundamental reset */ -+ brcm_pcie_perst_set(pcie, 1); -+ -+ /* Deassert request for L23 in case it was asserted */ -+ tmp = readl(base + PCIE_MISC_PCIE_CTRL); -+ u32p_replace_bits(&tmp, 0, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK); -+ writel(tmp, base + PCIE_MISC_PCIE_CTRL); -+ -+ /* Turn off SerDes */ -+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ u32p_replace_bits(&tmp, 1, PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK); -+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG); -+ -+ /* Shutdown PCIe bridge */ -+ brcm_pcie_bridge_sw_init_set(pcie, 1); -+} -+ -+static void __brcm_pcie_remove(struct brcm_pcie *pcie) -+{ -+ brcm_pcie_turn_off(pcie); -+ clk_disable_unprepare(pcie->clk); -+ clk_put(pcie->clk); -+} -+ -+static int brcm_pcie_remove(struct platform_device *pdev) -+{ -+ struct brcm_pcie *pcie = platform_get_drvdata(pdev); -+ -+ pci_stop_root_bus(pcie->root_bus); -+ pci_remove_root_bus(pcie->root_bus); -+ __brcm_pcie_remove(pcie); -+ -+ return 0; -+} -+ -+static int brcm_pcie_probe(struct platform_device *pdev) -+{ -+ struct device_node *np = pdev->dev.of_node; -+ struct pci_host_bridge *bridge; -+ struct brcm_pcie *pcie; -+ struct pci_bus *child; -+ struct resource *res; -+ int ret; -+ -+ bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie)); -+ if (!bridge) -+ return -ENOMEM; -+ -+ pcie = pci_host_bridge_priv(bridge); -+ pcie->dev = &pdev->dev; -+ pcie->np = np; -+ -+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ pcie->base = devm_ioremap_resource(&pdev->dev, res); -+ if (IS_ERR(pcie->base)) -+ return PTR_ERR(pcie->base); -+ -+ pcie->clk = devm_clk_get_optional(&pdev->dev, "sw_pcie"); -+ if (IS_ERR(pcie->clk)) -+ return PTR_ERR(pcie->clk); -+ -+ ret = of_pci_get_max_link_speed(np); -+ pcie->gen = (ret < 0) ? 0 : ret; -+ -+ pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc"); -+ -+ ret = pci_parse_request_of_pci_ranges(pcie->dev, &bridge->windows, -+ &bridge->dma_ranges, NULL); -+ if (ret) -+ return ret; -+ -+ ret = clk_prepare_enable(pcie->clk); -+ if (ret) { -+ dev_err(&pdev->dev, "could not enable clock\n"); -+ return ret; -+ } -+ -+ ret = brcm_pcie_setup(pcie); -+ if (ret) -+ goto fail; -+ -+ bridge->dev.parent = &pdev->dev; -+ bridge->busnr = 0; -+ bridge->ops = &brcm_pcie_ops; -+ bridge->sysdata = pcie; -+ bridge->map_irq = of_irq_parse_and_map_pci; -+ bridge->swizzle_irq = pci_common_swizzle; -+ -+ ret = pci_scan_root_bus_bridge(bridge); -+ if (ret < 0) { -+ dev_err(pcie->dev, "Scanning root bridge failed\n"); -+ goto fail; -+ } -+ -+ pci_assign_unassigned_bus_resources(bridge->bus); -+ list_for_each_entry(child, &bridge->bus->children, node) -+ pcie_bus_configure_settings(child); -+ pci_bus_add_devices(bridge->bus); -+ platform_set_drvdata(pdev, pcie); -+ pcie->root_bus = bridge->bus; -+ -+ return 0; -+fail: -+ __brcm_pcie_remove(pcie); -+ return ret; -+} -+ -+static const struct of_device_id brcm_pcie_match[] = { -+ { .compatible = "brcm,bcm2711-pcie" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, brcm_pcie_match); -+ -+static struct platform_driver brcm_pcie_driver = { -+ .probe = brcm_pcie_probe, -+ .remove = brcm_pcie_remove, -+ .driver = { -+ .name = "brcm-pcie", -+ .of_match_table = brcm_pcie_match, -+ }, -+}; -+module_platform_driver(brcm_pcie_driver); -+ -+MODULE_LICENSE("GPL"); -+MODULE_DESCRIPTION("Broadcom STB PCIe RC driver"); -+MODULE_AUTHOR("Broadcom"); - -From patchwork Mon Dec 16 11:01:10 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -X-Patchwork-Id: 11293819 -Return-Path: - <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0FB1A930 - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:26 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id DA5D2206EC - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:25 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="L57a4G/z" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA5D2206EC -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=suse.de -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: - List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: - Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: - Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: - List-Owner; bh=iItojdIKeV2oJC/4nHltnSdo0OFytKQEQSG83gc3mIo=; b=L57a4G/zV1L3EX - zFjTyLpmW4uweymZSoPuNKRbbLfHfV8GJzdk0+AIcGY8T/0LDSubyqm52QwbEIKIZF6q1tYQMV01x - dCx/B3rV8B0EcUM/RedeUUqXgMXKYn7pdmzUYR2jRB1NEOucFv6xZA1Ap8ZF1k7A2oACSkf/SBoXA - PKbjs2hB/33AoX7kK98vVxVctzuUBE2CkGB419pPh1eXx3QyybSGYoBsNLsQ1BFfL3YwCV2unHoCx - h4QSzJ7vBkuNHDVCdq/t6NRFs98dk6ooDHlISOhJW6F3bdR36Vx1/+5tC1MBjm/Wy1oZmLGR+MeSo - 0J11yccg2BRitcgEv2gw==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo8u-00043K-US; Mon, 16 Dec 2019 11:02:24 +0000 -Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo83-00037J-Ob; Mon, 16 Dec 2019 11:01:35 +0000 -X-Virus-Scanned: by amavisd-new at test-mx.suse.de -Received: from relay2.suse.de (unknown [195.135.220.254]) - by mx1.suse.de (Postfix) with ESMTP id 502A3AC7D; - Mon, 16 Dec 2019 11:01:30 +0000 (UTC) -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org, - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, - Florian Fainelli <f.fainelli@gmail.com>, - bcm-kernel-feedback-list@broadcom.com, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Subject: [PATCH v5 4/6] PCI: brcmstb: Add MSI support -Date: Mon, 16 Dec 2019 12:01:10 +0100 -Message-Id: <20191216110113.30436-5-nsaenzjulienne@suse.de> -X-Mailer: git-send-email 2.24.0 -In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de> -References: <20191216110113.30436-1-nsaenzjulienne@suse.de> -MIME-Version: 1.0 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20191216_030132_128008_DE7B462C -X-CRM114-Status: GOOD ( 23.12 ) -X-Spam-Score: -2.3 (--) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-2.3 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) - [195.135.220.15 listed in wl.mailspike.net] - -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, - medium trust [195.135.220.15 listed in list.dnswl.org] - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org, - jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com, - Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -From: Jim Quinlan <james.quinlan@broadcom.com> - -This adds MSI support to the Broadcom STB PCIe host controller. The MSI -controller is physically located within the PCIe block, however, there -is no reason why the MSI controller could not be moved elsewhere in the -future. MSIX is not supported by the HW. - -Since the internal Brcmstb MSI controller is intertwined with the PCIe -controller, it is not its own platform device but rather part of the -PCIe platform device. - -Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com> -Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Marc Zyngier <maz@kernel.org> -Reviewed-by: Andrew Murray <andrew.murray@arm.com> ---- - -Changes since v3 (kept Marc's reviewed by as changes seem small enough): - - Use define to access MSI_DATA_CONFIG_VAL - - Update commit message - -Changes since v2: - - Use standard APIs on register operations - - Get rid of revision code - - Update rules to msi_target_addr selection - - Remove unwarranted MSI_FLAG_PCI_MSIX - - Small cosmetic changes - -Changes since v1: - - Move revision code and some registers to this patch - - Use PCIE_MSI_IRQ_DOMAIN in Kconfig - - Remove redundant register read from ISR - - Fail probe on MSI init error - - Get rid of msi_internal - - Use bitmap family of functions - - Use edge triggered setup - - Add comment regarding MultiMSI - - Simplify compose_msi_msg to avoid reg read - -This is based on Jim's original submission[1] with some slight changes -regarding how pcie->msi_target_addr is decided. - -[1] https://patchwork.kernel.org/patch/10605955/ - - drivers/pci/controller/Kconfig | 1 + - drivers/pci/controller/pcie-brcmstb.c | 261 +++++++++++++++++++++++++- - 2 files changed, 261 insertions(+), 1 deletion(-) - -diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig -index 27504f108ee5..918e283bbff1 100644 ---- a/drivers/pci/controller/Kconfig -+++ b/drivers/pci/controller/Kconfig -@@ -257,6 +257,7 @@ config PCIE_BRCMSTB - tristate "Broadcom Brcmstb PCIe host controller" - depends on ARCH_BCM2835 || COMPILE_TEST - depends on OF -+ depends on PCI_MSI_IRQ_DOMAIN - help - Say Y here to enable PCIe host controller support for - Broadcom STB based SoCs, like the Raspberry Pi 4. -diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index dd681164faa0..7ba06a0e1a71 100644 ---- a/drivers/pci/controller/pcie-brcmstb.c -+++ b/drivers/pci/controller/pcie-brcmstb.c -@@ -2,6 +2,7 @@ - /* Copyright (C) 2009 - 2019 Broadcom */ - - #include <linux/bitfield.h> -+#include <linux/bitops.h> - #include <linux/clk.h> - #include <linux/compiler.h> - #include <linux/delay.h> -@@ -9,11 +10,13 @@ - #include <linux/interrupt.h> - #include <linux/io.h> - #include <linux/ioport.h> -+#include <linux/irqchip/chained_irq.h> - #include <linux/irqdomain.h> - #include <linux/kernel.h> - #include <linux/list.h> - #include <linux/log2.h> - #include <linux/module.h> -+#include <linux/msi.h> - #include <linux/of_address.h> - #include <linux/of_irq.h> - #include <linux/of_pci.h> -@@ -67,6 +70,12 @@ - #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c - #define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f - -+#define PCIE_MISC_MSI_BAR_CONFIG_LO 0x4044 -+#define PCIE_MISC_MSI_BAR_CONFIG_HI 0x4048 -+ -+#define PCIE_MISC_MSI_DATA_CONFIG 0x404c -+#define PCIE_MISC_MSI_DATA_CONFIG_VAL 0xffe06540 -+ - #define PCIE_MISC_PCIE_CTRL 0x4064 - #define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1 - -@@ -114,6 +123,11 @@ - - /* PCIe parameters */ - #define BRCM_NUM_PCIE_OUT_WINS 0x4 -+#define BRCM_INT_PCI_MSI_NR 32 -+ -+/* MSI target adresses */ -+#define BRCM_MSI_TARGET_ADDR_LT_4GB 0x0fffffffcULL -+#define BRCM_MSI_TARGET_ADDR_GT_4GB 0xffffffffcULL - - /* MDIO registers */ - #define MDIO_PORT0 0x0 -@@ -135,6 +149,19 @@ - #define SSC_STATUS_SSC_MASK 0x400 - #define SSC_STATUS_PLL_LOCK_MASK 0x800 - -+struct brcm_msi { -+ struct device *dev; -+ void __iomem *base; -+ struct device_node *np; -+ struct irq_domain *msi_domain; -+ struct irq_domain *inner_domain; -+ struct mutex lock; /* guards the alloc/free operations */ -+ u64 target_addr; -+ int irq; -+ /* used indicates which MSI interrupts have been alloc'd */ -+ unsigned long used; -+}; -+ - /* Internal PCIe Host Controller Information.*/ - struct brcm_pcie { - struct device *dev; -@@ -144,6 +171,8 @@ struct brcm_pcie { - struct device_node *np; - bool ssc; - int gen; -+ u64 msi_target_addr; -+ struct brcm_msi *msi; - }; - - /* -@@ -309,6 +338,214 @@ static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie, - writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win)); - } - -+static struct irq_chip brcm_msi_irq_chip = { -+ .name = "BRCM STB PCIe MSI", -+ .irq_ack = irq_chip_ack_parent, -+ .irq_mask = pci_msi_mask_irq, -+ .irq_unmask = pci_msi_unmask_irq, -+}; -+ -+static struct msi_domain_info brcm_msi_domain_info = { -+ /* Multi MSI is supported by the controller, but not by this driver */ -+ .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS), -+ .chip = &brcm_msi_irq_chip, -+}; -+ -+static void brcm_pcie_msi_isr(struct irq_desc *desc) -+{ -+ struct irq_chip *chip = irq_desc_get_chip(desc); -+ unsigned long status, virq; -+ struct brcm_msi *msi; -+ struct device *dev; -+ u32 bit; -+ -+ chained_irq_enter(chip, desc); -+ msi = irq_desc_get_handler_data(desc); -+ dev = msi->dev; -+ -+ status = readl(msi->base + PCIE_MSI_INTR2_STATUS); -+ for_each_set_bit(bit, &status, BRCM_INT_PCI_MSI_NR) { -+ virq = irq_find_mapping(msi->inner_domain, bit); -+ if (virq) -+ generic_handle_irq(virq); -+ else -+ dev_dbg(dev, "unexpected MSI\n"); -+ } -+ -+ chained_irq_exit(chip, desc); -+} -+ -+static void brcm_msi_compose_msi_msg(struct irq_data *data, struct msi_msg *msg) -+{ -+ struct brcm_msi *msi = irq_data_get_irq_chip_data(data); -+ -+ msg->address_lo = lower_32_bits(msi->target_addr); -+ msg->address_hi = upper_32_bits(msi->target_addr); -+ msg->data = (0xffff & PCIE_MISC_MSI_DATA_CONFIG_VAL) | data->hwirq; -+} -+ -+static int brcm_msi_set_affinity(struct irq_data *irq_data, -+ const struct cpumask *mask, bool force) -+{ -+ return -EINVAL; -+} -+ -+static void brcm_msi_ack_irq(struct irq_data *data) -+{ -+ struct brcm_msi *msi = irq_data_get_irq_chip_data(data); -+ -+ writel(1 << data->hwirq, msi->base + PCIE_MSI_INTR2_CLR); -+} -+ -+ -+static struct irq_chip brcm_msi_bottom_irq_chip = { -+ .name = "BRCM STB MSI", -+ .irq_compose_msi_msg = brcm_msi_compose_msi_msg, -+ .irq_set_affinity = brcm_msi_set_affinity, -+ .irq_ack = brcm_msi_ack_irq, -+}; -+ -+static int brcm_msi_alloc(struct brcm_msi *msi) -+{ -+ int hwirq; -+ -+ mutex_lock(&msi->lock); -+ hwirq = bitmap_find_free_region(&msi->used, BRCM_INT_PCI_MSI_NR, 0); -+ mutex_unlock(&msi->lock); -+ -+ return hwirq; -+} -+ -+static void brcm_msi_free(struct brcm_msi *msi, unsigned long hwirq) -+{ -+ mutex_lock(&msi->lock); -+ bitmap_release_region(&msi->used, hwirq, 0); -+ mutex_unlock(&msi->lock); -+} -+ -+static int brcm_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, -+ unsigned int nr_irqs, void *args) -+{ -+ struct brcm_msi *msi = domain->host_data; -+ int hwirq; -+ -+ hwirq = brcm_msi_alloc(msi); -+ -+ if (hwirq < 0) -+ return hwirq; -+ -+ irq_domain_set_info(domain, virq, (irq_hw_number_t)hwirq, -+ &brcm_msi_bottom_irq_chip, domain->host_data, -+ handle_edge_irq, NULL, NULL); -+ return 0; -+} -+ -+static void brcm_irq_domain_free(struct irq_domain *domain, -+ unsigned int virq, unsigned int nr_irqs) -+{ -+ struct irq_data *d = irq_domain_get_irq_data(domain, virq); -+ struct brcm_msi *msi = irq_data_get_irq_chip_data(d); -+ -+ brcm_msi_free(msi, d->hwirq); -+} -+ -+static const struct irq_domain_ops msi_domain_ops = { -+ .alloc = brcm_irq_domain_alloc, -+ .free = brcm_irq_domain_free, -+}; -+ -+static int brcm_allocate_domains(struct brcm_msi *msi) -+{ -+ struct fwnode_handle *fwnode = of_node_to_fwnode(msi->np); -+ struct device *dev = msi->dev; -+ -+ msi->inner_domain = irq_domain_add_linear(NULL, BRCM_INT_PCI_MSI_NR, -+ &msi_domain_ops, msi); -+ if (!msi->inner_domain) { -+ dev_err(dev, "failed to create IRQ domain\n"); -+ return -ENOMEM; -+ } -+ -+ msi->msi_domain = pci_msi_create_irq_domain(fwnode, -+ &brcm_msi_domain_info, -+ msi->inner_domain); -+ if (!msi->msi_domain) { -+ dev_err(dev, "failed to create MSI domain\n"); -+ irq_domain_remove(msi->inner_domain); -+ return -ENOMEM; -+ } -+ -+ return 0; -+} -+ -+static void brcm_free_domains(struct brcm_msi *msi) -+{ -+ irq_domain_remove(msi->msi_domain); -+ irq_domain_remove(msi->inner_domain); -+} -+ -+static void brcm_msi_remove(struct brcm_pcie *pcie) -+{ -+ struct brcm_msi *msi = pcie->msi; -+ -+ if (!msi) -+ return; -+ irq_set_chained_handler(msi->irq, NULL); -+ irq_set_handler_data(msi->irq, NULL); -+ brcm_free_domains(msi); -+} -+ -+static void brcm_msi_set_regs(struct brcm_msi *msi) -+{ -+ writel(0xffffffff, msi->base + PCIE_MSI_INTR2_MASK_CLR); -+ -+ /* -+ * The 0 bit of PCIE_MISC_MSI_BAR_CONFIG_LO is repurposed to MSI -+ * enable, which we set to 1. -+ */ -+ writel(lower_32_bits(msi->target_addr) | 0x1, -+ msi->base + PCIE_MISC_MSI_BAR_CONFIG_LO); -+ writel(upper_32_bits(msi->target_addr), -+ msi->base + PCIE_MISC_MSI_BAR_CONFIG_HI); -+ -+ writel(PCIE_MISC_MSI_DATA_CONFIG_VAL, -+ msi->base + PCIE_MISC_MSI_DATA_CONFIG); -+} -+ -+static int brcm_pcie_enable_msi(struct brcm_pcie *pcie) -+{ -+ struct brcm_msi *msi; -+ int irq, ret; -+ struct device *dev = pcie->dev; -+ -+ irq = irq_of_parse_and_map(dev->of_node, 1); -+ if (irq <= 0) { -+ dev_err(dev, "cannot map MSI interrupt\n"); -+ return -ENODEV; -+ } -+ -+ msi = devm_kzalloc(dev, sizeof(struct brcm_msi), GFP_KERNEL); -+ if (!msi) -+ return -ENOMEM; -+ -+ msi->dev = dev; -+ msi->base = pcie->base; -+ msi->np = pcie->np; -+ msi->target_addr = pcie->msi_target_addr; -+ msi->irq = irq; -+ -+ ret = brcm_allocate_domains(msi); -+ if (ret) -+ return ret; -+ -+ irq_set_chained_handler_and_data(msi->irq, brcm_pcie_msi_isr, msi); -+ -+ brcm_msi_set_regs(msi); -+ pcie->msi = msi; -+ -+ return 0; -+} -+ - /* The controller is capable of serving in both RC and EP roles */ - static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie) - { -@@ -490,6 +727,18 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) - PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK); - writel(tmp, base + PCIE_MISC_MISC_CTRL); - -+ /* -+ * We ideally want the MSI target address to be located in the 32bit -+ * addressable memory area. Some devices might depend on it. This is -+ * possible either when the inbound window is located above the lower -+ * 4GB or when the inbound area is smaller than 4GB (taking into -+ * account the rounding-up we're forced to perform). -+ */ -+ if (rc_bar2_offset >= SZ_4G || (rc_bar2_size + rc_bar2_offset) < SZ_4G) -+ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_LT_4GB; -+ else -+ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_GT_4GB; -+ - /* disable the PCIe->GISB memory window (RC_BAR1) */ - tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO); - tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK; -@@ -639,6 +888,7 @@ static void brcm_pcie_turn_off(struct brcm_pcie *pcie) - - static void __brcm_pcie_remove(struct brcm_pcie *pcie) - { -+ brcm_msi_remove(pcie); - brcm_pcie_turn_off(pcie); - clk_disable_unprepare(pcie->clk); - clk_put(pcie->clk); -@@ -657,7 +907,7 @@ static int brcm_pcie_remove(struct platform_device *pdev) - - static int brcm_pcie_probe(struct platform_device *pdev) - { -- struct device_node *np = pdev->dev.of_node; -+ struct device_node *np = pdev->dev.of_node, *msi_np; - struct pci_host_bridge *bridge; - struct brcm_pcie *pcie; - struct pci_bus *child; -@@ -701,6 +951,15 @@ static int brcm_pcie_probe(struct platform_device *pdev) - if (ret) - goto fail; - -+ msi_np = of_parse_phandle(pcie->np, "msi-parent", 0); -+ if (pci_msi_enabled() && msi_np == pcie->np) { -+ ret = brcm_pcie_enable_msi(pcie); -+ if (ret) { -+ dev_err(pcie->dev, "probe of internal MSI failed"); -+ goto fail; -+ } -+ } -+ - bridge->dev.parent = &pdev->dev; - bridge->busnr = 0; - bridge->ops = &brcm_pcie_ops; - -From patchwork Mon Dec 16 11:01:12 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -X-Patchwork-Id: 11293821 -Return-Path: - <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 224E3930 - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:45 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id F26AB206EC - for <patchwork-linux-arm@patchwork.kernel.org>; - Mon, 16 Dec 2019 11:02:44 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="eMDipuhg" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F26AB206EC -Authentication-Results: mail.kernel.org; - dmarc=none (p=none dis=none) header.from=suse.de -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: - List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: - Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: - Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: - List-Owner; bh=89gvO/q/aU2KdnEtpUR7fViPlJcU9Hv2PR7UHxNLFTg=; b=eMDipuhg+M9lCx - 8ENnzwQAiTmaNTilNadUK3F2Z1K6tk8e2VJcgmacOjfEF5yQspDGCxaemBhqrfFpIVaPIgd6D+2Ru - 5oQaG8pyaOReVRpAa2xgws20vpYXVku0j4jel8gsAEXtyMKIFMqqUgQGKCTatNP4An1aMP6c5EC5z - mkmzodfHSJPOATqU55l6AcamhGlfLO/xNXUEIFVQz891R1m8FQO6pnryIa7IYr3d3TkinptRk6hFO - 60i+H50v2/NzmROaDORveKAO9a6APoqlzLK9sj8ehy3lVItSguKco7jnrBapYOPYcNgdMp2PrnkHq - QFDUmvLZNnAqN+ez5NkA==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo9D-0004J8-3H; Mon, 16 Dec 2019 11:02:43 +0000 -Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) - by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) - id 1igo86-00039m-4x; Mon, 16 Dec 2019 11:01:36 +0000 -X-Virus-Scanned: by amavisd-new at test-mx.suse.de -Received: from relay2.suse.de (unknown [195.135.220.254]) - by mx1.suse.de (Postfix) with ESMTP id BD4CDACD7; - Mon, 16 Dec 2019 11:01:32 +0000 (UTC) -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -To: andrew.murray@arm.com, - maz@kernel.org, - linux-kernel@vger.kernel.org -Subject: [PATCH v5 6/6] arm64: defconfig: Enable Broadcom's STB PCIe - controller -Date: Mon, 16 Dec 2019 12:01:12 +0100 -Message-Id: <20191216110113.30436-7-nsaenzjulienne@suse.de> -X-Mailer: git-send-email 2.24.0 -In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de> -References: <20191216110113.30436-1-nsaenzjulienne@suse.de> -MIME-Version: 1.0 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20191216_030134_339113_ECC8A7D7 -X-CRM114-Status: UNSURE ( 8.26 ) -X-CRM114-Notice: Please train this message. -X-Spam-Score: -2.3 (--) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-2.3 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) - [195.135.220.15 listed in wl.mailspike.net] - -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, - medium trust [195.135.220.15 listed in list.dnswl.org] - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: linux-arm-kernel@lists.infradead.org, f.fainelli@gmail.com, - linux-pci@vger.kernel.org, phil@raspberrypi.org, jeremy.linton@arm.com, - mbrugger@suse.com, wahrenst@gmx.net, james.quinlan@broadcom.com, - Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, - linux-rpi-kernel@lists.infradead.org -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -For now mainly used in the Raspberry Pi 4. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - arch/arm64/configs/defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index 2646fc76b8db..2b80980ef576 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -192,6 +192,7 @@ CONFIG_PCIE_ALTERA_MSI=y - CONFIG_PCI_HOST_THUNDER_PEM=y - CONFIG_PCI_HOST_THUNDER_ECAM=y - CONFIG_PCIE_ROCKCHIP_HOST=m -+CONFIG_PCIE_BRCMSTB=m - CONFIG_PCI_LAYERSCAPE=y - CONFIG_PCI_HISI=y - CONFIG_PCIE_QCOM=y diff --git a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch new file mode 100644 index 000000000..fb7c1afaf --- /dev/null +++ b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch @@ -0,0 +1,671 @@ +From patchwork Tue Mar 24 18:28:09 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11456187 +Return-Path: + <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 884BD1667 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:06 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 64FF0206F6 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:06 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="G3ed3Qzw" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 64FF0206F6 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=ZW8pFtwlUj3q7GZJotB4Rgjtfp9gMy+l74jJQcTab0w=; b=G3ed3QzwnvX3MD + lHn7XDGcdKtGCuuX/Xhmoz/5j7Rgw1hOz3+8tGJaH+BigLM7Kfms9kB2c3chHrDwTH5SW0LzlU8el + hxpbcJnVFy3VLdCMUrvQUXY0SmOcoSSN3NK032HxlqAKSa5HPE3dTBWheiUGKlZ6c3A9dGItYzD6I + M4WO+9b0wHM1KMMrsyVo51ysdAFEXtSym1xNN+pW/tE9ak+/bFHxMW1XcMNrVwo9R43U5JSvmcC0M + OKBYNAYFpFWx3n3wvAaFQkBEkmH3QmPBd0aiE8UTGk6CY0VHwjbVcE7u7daksOPLrZgsRgqmLRatE + 98WbgEKpzDu7mgvLn5zw==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoIP-0002bD-LX; Tue, 24 Mar 2020 18:29:01 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoHq-00024O-PS; Tue, 24 Mar 2020 18:28:29 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 4A537ABD1; + Tue, 24 Mar 2020 18:28:22 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: linux-kernel@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>, + Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, + bcm-kernel-feedback-list@broadcom.com, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Subject: [PATCH v6 1/4] soc: bcm2835: Sync xHCI reset firmware property with + downstream +Date: Tue, 24 Mar 2020 19:28:09 +0100 +Message-Id: <20200324182812.20420-2-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de> +References: <20200324182812.20420-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200324_112826_965603_11D899C2 +X-CRM114-Status: GOOD ( 13.71 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com, + gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, + linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +The property is needed in order to trigger VL805's firmware load. Note +that there is a gap between the property introduced and the previous +one. This is also the case downstream. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> +--- + include/soc/bcm2835/raspberrypi-firmware.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h +index 7800e12ee042..cc9cdbc66403 100644 +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag { + RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, + RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049, + RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050, +- ++ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058, + + /* Dispmanx TAGS */ + RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, + +From patchwork Tue Mar 24 18:28:10 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11456191 +Return-Path: + <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C4D571731 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:30 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 9A787206F6 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:30 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="Z5B/3JRW" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A787206F6 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=kAIknZ2RVw6gB9CaOcG4KQjgkdNyrtcLcfH5XAGtITo=; b=Z5B/3JRWWCVYHI + AsxnYFEFit0NnrRvZDbi0ktp8wUbVrztmKRPQWvfaWSlelJEKdEpJhHItnpicKfR5JhfHFsPt3V3X + i29DtdYSOr/cjW/qeoakzXY0b1ApjrrK3MWjX/k0k9SVqGwkq6KT3T3qok969KInPAe0ERZ9bYkP1 + P2Jj1QT0QtCfcd0PsSjn4riMP09KNZVuviLm2bcg3Cr78qfIq6gDHHoS1nqPzdEt4gG+i/s66lTFY + Dd3vPgItuRBvzgAjWdT4Bvx41u82KONuYDshYftzUZX7pxh76o4PwtPoPt/A4hJT0pZZe9MB6pQlM + JwbBVC2fhM1afv00diOw==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoIm-00032a-5v; Tue, 24 Mar 2020 18:29:24 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoHq-00024W-PL; Tue, 24 Mar 2020 18:28:29 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 3F0CFABE7; + Tue, 24 Mar 2020 18:28:23 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: linux-kernel@vger.kernel.org, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, + Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>, + Scott Branden <sbranden@broadcom.com>, + bcm-kernel-feedback-list@broadcom.com +Subject: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine +Date: Tue, 24 Mar 2020 19:28:10 +0100 +Message-Id: <20200324182812.20420-3-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de> +References: <20200324182812.20420-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200324_112827_110873_06144E1C +X-CRM114-Status: GOOD ( 15.67 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com, + gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, + linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be +loaded directly from an EEPROM or, if not present, by the SoC's +VideCore. The function informs VideCore that VL805 was just reset, or +requests for a probe defer. + +Based on Tim Gover's downstream implementation. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> +--- +Changes since v4: + - Inline function definition when RASPBERRYPI_FIRMWARE is not defined + +Changes since v1: + - Move include into .c file and add forward declaration to .h + + drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++ + include/soc/bcm2835/raspberrypi-firmware.h | 7 ++++ + 2 files changed, 45 insertions(+) + +diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c +index da26a584dca0..cbb495aff6a0 100644 +--- a/drivers/firmware/raspberrypi.c ++++ b/drivers/firmware/raspberrypi.c +@@ -12,6 +12,7 @@ + #include <linux/of_platform.h> + #include <linux/platform_device.h> + #include <linux/slab.h> ++#include <linux/pci.h> + #include <soc/bcm2835/raspberrypi-firmware.h> + + #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf)) +@@ -286,6 +287,43 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) + } + EXPORT_SYMBOL_GPL(rpi_firmware_get); + ++/* ++ * On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be ++ * loaded directly from an EEPROM or, if not present, by the SoC's VideCore. ++ * Inform VideCore that VL805 was just reset, or defer xhci's probe if not yet ++ * joinable trough the mailbox interface. ++ */ ++int rpi_firmware_init_vl805(struct pci_dev *pdev) ++{ ++ struct device_node *fw_np; ++ struct rpi_firmware *fw; ++ u32 dev_addr; ++ int ret; ++ ++ fw_np = of_find_compatible_node(NULL, NULL, ++ "raspberrypi,bcm2835-firmware"); ++ if (!fw_np) ++ return 0; ++ ++ fw = rpi_firmware_get(fw_np); ++ of_node_put(fw_np); ++ if (!fw) ++ return -EPROBE_DEFER; ++ ++ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 | ++ PCI_FUNC(pdev->devfn) << 12; ++ ++ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET, ++ &dev_addr, sizeof(dev_addr)); ++ if (ret) ++ return ret; ++ ++ dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n"); ++ ++ return 0; ++} ++EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805); ++ + static const struct of_device_id rpi_firmware_of_match[] = { + { .compatible = "raspberrypi,bcm2835-firmware", }, + {}, +diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h +index cc9cdbc66403..3025aca3c358 100644 +--- a/include/soc/bcm2835/raspberrypi-firmware.h ++++ b/include/soc/bcm2835/raspberrypi-firmware.h +@@ -10,6 +10,7 @@ + #include <linux/of_device.h> + + struct rpi_firmware; ++struct pci_dev; + + enum rpi_firmware_property_status { + RPI_FIRMWARE_STATUS_REQUEST = 0, +@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw, + int rpi_firmware_property_list(struct rpi_firmware *fw, + void *data, size_t tag_size); + struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node); ++int rpi_firmware_init_vl805(struct pci_dev *pdev); + #else + static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, + void *data, size_t len) +@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware + { + return NULL; + } ++ ++static inline int rpi_firmware_init_vl805(struct pci_dev *pdev) ++{ ++ return 0; ++} + #endif + + #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ + +From patchwork Tue Mar 24 18:28:11 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11456189 +Return-Path: + <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 168CB1667 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:15 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id EAB942076E + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:29:14 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="BOwwgdOE" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EAB942076E +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=CLmK04T+baw5jWu/lH2cJ3fygso/fqFgoMOSigkpvRw=; b=BOwwgdOEAmbVoa + /8AtILxDfcKBVhbig0LKPFd94roUQzY/SylcBG5jWceT90PE3BxYgomfaBA6U41LW9Xe5LZsfylId + /IP3RNq34yRDWPXo3WWkLFYEtwJB60SWZlD8BG+ApGeUJ9z6vXTL9h3K9ThLwhFycZOkSxtDMicCG + vkP4ErkYnvASxQ021+lq/VxFgdnvtKcw2OE+ghhRHgOn8dc+/dJHCp8vi33Qrk9DFhKSGnSX/A5vz + E84/rlt964N9kXLE2npw9hNrj6DdrQozcB9YTAEL9S/krTUmOLI/iWS/DZEUA50xy9wVBqD9Bm78x + TS0oeyfH49HaUmd10Y6w==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoIa-0002oW-NS; Tue, 24 Mar 2020 18:29:12 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoHr-00024Z-2w; Tue, 24 Mar 2020 18:28:29 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 1A1A0ABF4; + Tue, 24 Mar 2020 18:28:24 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: linux-kernel@vger.kernel.org, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, + Florian Fainelli <f.fainelli@gmail.com>, + bcm-kernel-feedback-list@broadcom.com, + Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, + Andrew Murray <amurray@thegoodpenguin.co.uk> +Subject: [PATCH v6 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when + present +Date: Tue, 24 Mar 2020 19:28:11 +0100 +Message-Id: <20200324182812.20420-4-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de> +References: <20200324182812.20420-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200324_112827_267470_0540B982 +X-CRM114-Status: GOOD ( 12.13 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com, + gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, + linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org, + Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org, + wahrenst@gmx.net +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on +RPi4's VideoCore firmware interface to be up and running. It's possible +for both initializations to race, so make sure it's available prior to +starting. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> +--- + drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c +index 3a10e678c7f4..a3d3070a5832 100644 +--- a/drivers/pci/controller/pcie-brcmstb.c ++++ b/drivers/pci/controller/pcie-brcmstb.c +@@ -28,6 +28,8 @@ + #include <linux/string.h> + #include <linux/types.h> + ++#include <soc/bcm2835/raspberrypi-firmware.h> ++ + #include "../pci.h" + + /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */ +@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev) + { + struct device_node *np = pdev->dev.of_node, *msi_np; + struct pci_host_bridge *bridge; ++ struct device_node *fw_np; + struct brcm_pcie *pcie; + struct pci_bus *child; + struct resource *res; + int ret; + ++ /* ++ * We have to wait for the Raspberry Pi's firmware interface to be up ++ * as some PCI fixups depend on it. ++ */ ++ fw_np = of_find_compatible_node(NULL, NULL, ++ "raspberrypi,bcm2835-firmware"); ++ if (fw_np && !rpi_firmware_get(fw_np)) { ++ of_node_put(fw_np); ++ return -EPROBE_DEFER; ++ } ++ of_node_put(fw_np); ++ + bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie)); + if (!bridge) + return -ENOMEM; + +From patchwork Tue Mar 24 18:28:12 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11456185 +Return-Path: + <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AD453174A + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:28:41 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 8690720789 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 24 Mar 2020 18:28:41 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="BSDoMdbd" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8690720789 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=YaBoM78lqEEmZOW4u4cO0fQ+Qpc7vocOU6aRT/EpQsk=; b=BSDoMdbdXfJNCB + Ccoti2K8Qk9NgAlOnVt60cLhw66HCbJPwZn1v08f/rr05ZIoPMToFkJt5krqew7Vd+jlZnzMxf8MC + lBfOqOev9hIjbyu19c646LbpbqVrtrtm9vmy6Lvd2GGuQuvybpM0RHDvc2wzv8a3fejGMgKStaQ/3 + Efne01FoiZvWBedWpTdsoGJbFzfSb4ua/8JT2Ki04i9itY4oTZs9itKK1Taqe3WfNDphluuFcmdGx + nNxQK/PkA6XCdpJHxaCz3DtyZj/2NhAqd8roXn+PUt5SG00Tfc6auERZQPLtTinW6m9ZaUkBhjJQ0 + GHUMyyLHvQ583h1ty9ow==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoI3-0002Hl-Jz; Tue, 24 Mar 2020 18:28:39 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jGoHq-00024d-Jc; Tue, 24 Mar 2020 18:28:28 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id EE53FABF6; + Tue, 24 Mar 2020 18:28:24 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: linux-kernel@vger.kernel.org, + Mathias Nyman <mathias.nyman@intel.com> +Subject: [PATCH v6 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk +Date: Tue, 24 Mar 2020 19:28:12 +0100 +Message-Id: <20200324182812.20420-5-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de> +References: <20200324182812.20420-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200324_112826_791336_2ABB38D1 +X-CRM114-Status: GOOD ( 16.34 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: f.fainelli@gmail.com, sergei.shtylyov@cogentembedded.com, + gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, tim.gover@raspberrypi.org, + bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org, + linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, + wahrenst@gmx.net +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be +loaded directly from an EEPROM or, if not present, by the SoC's +VideCore. Inform VideCore that VL805 was just reset. + +Also, as this creates a dependency between USB_PCI and VideoCore's +firmware interface. Since USB_PCI can't be set as a module neither this +should. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +--- + +Changes since v5: + - Fix Kconfig issue with allmodconfig + +Changes since v4: + - Do not split up error message + +Changes since v3: + - Add more complete error message + +Changes since v1: + - Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it + gets compiled when needed. + + drivers/firmware/Kconfig | 3 ++- + drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++ + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig +index ea869addc89b..78ab2ad6d3f0 100644 +--- a/drivers/firmware/Kconfig ++++ b/drivers/firmware/Kconfig +@@ -178,8 +178,9 @@ config ISCSI_IBFT + Otherwise, say N. + + config RASPBERRYPI_FIRMWARE +- tristate "Raspberry Pi Firmware Driver" ++ bool "Raspberry Pi Firmware Driver" + depends on BCM2835_MBOX ++ default USB_PCI + help + This option enables support for communicating with the firmware on the + Raspberry Pi. +diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c +index beb2efa71341..0dc34668bb2a 100644 +--- a/drivers/usb/host/pci-quirks.c ++++ b/drivers/usb/host/pci-quirks.c +@@ -16,6 +16,9 @@ + #include <linux/export.h> + #include <linux/acpi.h> + #include <linux/dmi.h> ++ ++#include <soc/bcm2835/raspberrypi-firmware.h> ++ + #include "pci-quirks.h" + #include "xhci-ext-caps.h" + +@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev) + + static void quirk_usb_early_handoff(struct pci_dev *pdev) + { ++ int ret; ++ + /* Skip Netlogic mips SoC's internal PCI USB controller. + * This device does not need/support EHCI/OHCI handoff + */ + if (pdev->vendor == 0x184e) /* vendor Netlogic */ + return; ++ ++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { ++ ret = rpi_firmware_init_vl805(pdev); ++ if (ret) { ++ /* Firmware might be outdated, or something failed */ ++ dev_warn(&pdev->dev, ++ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n", ++ ret); ++ } ++ } ++ + if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && + pdev->class != PCI_CLASS_SERIAL_USB_OHCI && + pdev->class != PCI_CLASS_SERIAL_USB_EHCI && diff --git a/alsa-5.6.patch b/alsa-5.6.patch deleted file mode 100644 index b33725784..000000000 --- a/alsa-5.6.patch +++ /dev/null @@ -1,398 +0,0 @@ -From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela <perex@perex.cz> -Date: Wed, 4 Dec 2019 15:15:45 -0600 -Subject: [PATCH 2/4] ASoC: Intel - use control components to describe card - config - -Use the control interface (field 'components' in the info structure) -to pass the I/O configuration details. The goal is to replace -the card long name with this. - -Signed-off-by: Jaroslav Kysela <perex@perex.cz> -Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Cc: Mark Brown <broonie@kernel.org> -Link: https://lore.kernel.org/r/20191204211556.12671-3-pierre-louis.bossart@linux.intel.com -Signed-off-by: Mark Brown <broonie@kernel.org> - -Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> -(cherry picked from commit 0d5c8187562848b619a35f2ffc5e18ce703e9f3d) -Bugzilla: 1772498 ---- - sound/soc/intel/boards/bytcht_es8316.c | 9 ++++++++- - sound/soc/intel/boards/bytcr_rt5640.c | 6 ++++++ - sound/soc/intel/boards/bytcr_rt5651.c | 18 +++++++++++------- - 3 files changed, 25 insertions(+), 8 deletions(-) - -diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c -index 46612331f5ea..efa33f30dcac 100644 ---- a/sound/soc/intel/boards/bytcht_es8316.c -+++ b/sound/soc/intel/boards/bytcht_es8316.c -@@ -361,6 +361,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = { - /* SoC card */ - static char codec_name[SND_ACPI_I2C_ID_LEN]; - static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */ -+static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */ - - static int byt_cht_es8316_suspend(struct snd_soc_card *card) - { -@@ -572,11 +573,17 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) - } - } - -- /* register the soc card */ -+ snprintf(components_string, sizeof(components_string), -+ "cfg-spk:%s cfg-mic:%s", -+ (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2", -+ mic_name[BYT_CHT_ES8316_MAP(quirk)]); -+ byt_cht_es8316_card.components = components_string; - snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic", - (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo", - mic_name[BYT_CHT_ES8316_MAP(quirk)]); - byt_cht_es8316_card.long_name = long_name; -+ -+ /* register the soc card */ - snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv); - - ret = devm_snd_soc_register_card(dev, &byt_cht_es8316_card); -diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c -index dd2b5ad08659..7bc6d3cec94c 100644 ---- a/sound/soc/intel/boards/bytcr_rt5640.c -+++ b/sound/soc/intel/boards/bytcr_rt5640.c -@@ -1083,6 +1083,7 @@ static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN]; - static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */ - static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ - static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */ -+static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */ - - static int byt_rt5640_suspend(struct snd_soc_card *card) - { -@@ -1305,6 +1306,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) - } - } - -+ snprintf(byt_rt5640_components, sizeof(byt_rt5640_components), -+ "cfg-spk:%s cfg-mic:%s", -+ (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2", -+ map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); -+ byt_rt5640_card.components = byt_rt5640_components; - snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name), - "bytcr-rt5640-%s-spk-%s-mic", - (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? -diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c -index 4606f6f582d6..80a5674ddb1b 100644 ---- a/sound/soc/intel/boards/bytcr_rt5651.c -+++ b/sound/soc/intel/boards/bytcr_rt5651.c -@@ -798,6 +798,7 @@ static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN]; - static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */ - static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ - static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */ -+static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */ - - static int byt_rt5651_suspend(struct snd_soc_card *card) - { -@@ -876,7 +877,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) - const char *platform_name; - struct acpi_device *adev; - struct device *codec_dev; -- const char *hp_swapped; - bool is_bytcr = false; - int ret_val = 0; - int dai_index = 0; -@@ -1080,16 +1080,20 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) - } - } - -- if (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) -- hp_swapped = "-hp-swapped"; -- else -- hp_swapped = ""; -- -+ snprintf(byt_rt5651_components, sizeof(byt_rt5651_components), -+ "cfg-spk:%s cfg-mic:%s%s", -+ (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? "1" : "2", -+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], -+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? -+ " cfg-hp:lrswap" : ""); -+ byt_rt5651_card.components = byt_rt5651_components; - snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name), - "bytcr-rt5651-%s-spk-%s-mic%s", - (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? - "mono" : "stereo", -- mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped); -+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], -+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? -+ "-hp-swapped" : ""); - byt_rt5651_card.long_name = byt_rt5651_long_name; - - /* override plaform name, if required */ --- -2.20.1 - - -From 36c175e19e9cbb685708519d41e27cd803206737 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela <perex@perex.cz> -Date: Wed, 4 Dec 2019 15:15:46 -0600 -Subject: [PATCH 3/4] ASoC: Intel - do not describe I/O configuration in the - long card name - -The long card name might be used in GUI. This information should be hidden. - -Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option. - -Signed-off-by: Jaroslav Kysela <perex@perex.cz> -Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Cc: Mark Brown <broonie@kernel.org> -Link: https://lore.kernel.org/r/20191204211556.12671-4-pierre-louis.bossart@linux.intel.com -Signed-off-by: Mark Brown <broonie@kernel.org> - -Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> -(cherry picked from commit b5706f8ec29fb461571d25e3e813ede121fe31cd) -Bugzilla: 1772498 ---- - sound/soc/intel/boards/Kconfig | 13 +++++++++++++ - sound/soc/intel/boards/bytcht_es8316.c | 4 ++++ - sound/soc/intel/boards/bytcr_rt5640.c | 4 ++++ - sound/soc/intel/boards/bytcr_rt5651.c | 4 ++++ - 4 files changed, 25 insertions(+) - -diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig -index ef20316e83d1..145eb55bd691 100644 ---- a/sound/soc/intel/boards/Kconfig -+++ b/sound/soc/intel/boards/Kconfig -@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH - - if SND_SOC_INTEL_MACH - -+config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES -+ bool "Use more user friendly long card names" -+ help -+ Some drivers report the I/O configuration to userspace through the -+ soundcard's long card name in the control user space AP. An unfortunate -+ side effect is that this long name may also be used by the GUI, -+ confusing users with information they don't need. -+ This option prevents the long name from being modified, and the I/O -+ configuration will be provided through a different component interface. -+ Select Y if userspace like UCM (Use Case Manager) uses the component -+ interface. -+ If unsure select N. -+ - if SND_SOC_INTEL_HASWELL - - config SND_SOC_INTEL_HASWELL_MACH -diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c -index efa33f30dcac..12a1c5255484 100644 ---- a/sound/soc/intel/boards/bytcht_es8316.c -+++ b/sound/soc/intel/boards/bytcht_es8316.c -@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = { - - /* SoC card */ - static char codec_name[SND_ACPI_I2C_ID_LEN]; -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */ -+#endif - static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */ - - static int byt_cht_es8316_suspend(struct snd_soc_card *card) -@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) - (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2", - mic_name[BYT_CHT_ES8316_MAP(quirk)]); - byt_cht_es8316_card.components = components_string; -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic", - (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo", - mic_name[BYT_CHT_ES8316_MAP(quirk)]); - byt_cht_es8316_card.long_name = long_name; -+#endif - - /* register the soc card */ - snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv); -diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c -index 7bc6d3cec94c..648fcc1d07b5 100644 ---- a/sound/soc/intel/boards/bytcr_rt5640.c -+++ b/sound/soc/intel/boards/bytcr_rt5640.c -@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = { - static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN]; - static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */ - static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */ -+#endif - static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */ - - static int byt_rt5640_suspend(struct snd_soc_card *card) -@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) - (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2", - map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); - byt_rt5640_card.components = byt_rt5640_components; -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name), - "bytcr-rt5640-%s-spk-%s-mic", - (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? - "mono" : "stereo", - map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); - byt_rt5640_card.long_name = byt_rt5640_long_name; -+#endif - - /* override plaform name, if required */ - platform_name = mach->mach_params.platform; -diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c -index 80a5674ddb1b..c0d322a859f7 100644 ---- a/sound/soc/intel/boards/bytcr_rt5651.c -+++ b/sound/soc/intel/boards/bytcr_rt5651.c -@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = { - static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN]; - static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */ - static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */ -+#endif - static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */ - - static int byt_rt5651_suspend(struct snd_soc_card *card) -@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) - (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? - " cfg-hp:lrswap" : ""); - byt_rt5651_card.components = byt_rt5651_components; -+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) - snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name), - "bytcr-rt5651-%s-spk-%s-mic%s", - (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? -@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) - (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? - "-hp-swapped" : ""); - byt_rt5651_card.long_name = byt_rt5651_long_name; -+#endif - - /* override plaform name, if required */ - platform_name = mach->mach_params.platform; --- -2.20.1 - - -From 9008dcbcf36b9d67ea24920e05b50c8754488ebd Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela <perex@perex.cz> -Date: Fri, 22 Nov 2019 09:31:03 +0100 -Subject: [PATCH] ASoC: SOF - topology - do not change the link trigger order - for pre-1.4 firmware - -This patch is for SOF v1.3 firmware. The DSP firmware will crash (DSP oops) -without this patch. The 1.4.1 firmare has this issue fixed. - -The ABI version is used for the comparison, because the firmware version -for the firmware files before 1.4.2 was not set properly (git hash was -used). - -BugLink: https://github.com/thesofproject/sof/issues/2102 -Signed-off-by: Jaroslav Kysela <perex@perex.cz> -Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Cc: Mark Brown <broonie@kernel.org> ---- - sound/soc/sof/topology.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c -index 9f4f8868b386..58ff4766b47b 100644 ---- a/sound/soc/sof/topology.c -+++ b/sound/soc/sof/topology.c -@@ -3111,6 +3111,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index, - struct snd_soc_tplg_private *private = &cfg->priv; - struct sof_ipc_dai_config config; - struct snd_soc_tplg_hw_config *hw_config; -+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version; - int num_hw_configs; - int ret; - int i = 0; -@@ -3128,9 +3129,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index, - if (!link->no_pcm) { - link->nonatomic = true; - -- /* set trigger order */ -- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST; -- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST; -+ /* this causes DSP panic on firmware v1.3 */ -+ if (v->abi_version > SOF_ABI_VER(3, 7, 0)) { -+ /* set trigger order */ -+ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST; -+ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST; -+ } - - /* nothing more to do for FE dai links */ - return 0; --- -2.24.1 - - -From af7aae1b1f6306a1cda4da393e920a1334eaa3d4 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen <kai.vehmanen@linux.intel.com> -Date: Thu, 6 Feb 2020 22:02:23 +0200 -Subject: [PATCH] ASoC: SOF: Intel: hda: move i915 init earlier - -To be compliant with i915 display driver requirements, i915 power-up -must be done before any HDA communication takes place, including -parsing the bus capabilities. Otherwise the initial codec probe -may fail. - -Move i915 initialization earlier in the SOF HDA sequence. This -sequence is now aligned with the snd-hda-intel driver where the -display_power() call is before snd_hdac_bus_parse_capabilities() -and rest of the capability parsing. - -Also remove unnecessary ifdef around hda_codec_i915_init(). There's -a dummy implementation provided if CONFIG_SND_SOC_SOF_HDA is not -enabled. - -Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> -Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> -Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Reviewed-by: Takashi Iwai <tiwai@suse.de> -Link: https://lore.kernel.org/r/20200206200223.7715-3-kai.vehmanen@linux.intel.com -Signed-off-by: Mark Brown <broonie@kernel.org> ---- - sound/soc/sof/intel/hda.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c -index 8fddafb5c1d4..25946a1c2822 100644 ---- a/sound/soc/sof/intel/hda.c -+++ b/sound/soc/sof/intel/hda.c -@@ -286,6 +286,13 @@ static int hda_init(struct snd_sof_dev *sdev) - /* HDA base */ - sdev->bar[HDA_DSP_HDA_BAR] = bus->remap_addr; - -+ /* init i915 and HDMI codecs */ -+ ret = hda_codec_i915_init(sdev); -+ if (ret < 0) { -+ dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n"); -+ return ret; -+ } -+ - /* get controller capabilities */ - ret = hda_dsp_ctrl_get_caps(sdev); - if (ret < 0) -@@ -353,15 +360,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev) - if (bus->ppcap) - dev_dbg(sdev->dev, "PP capability, will probe DSP later.\n"); - --#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) -- /* init i915 and HDMI codecs */ -- ret = hda_codec_i915_init(sdev); -- if (ret < 0) { -- dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n"); -- return ret; -- } --#endif -- - /* Init HDA controller after i915 init */ - ret = hda_dsp_ctrl_init_chip(sdev, true); - if (ret < 0) { -@@ -611,6 +609,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev) - iounmap(sdev->bar[HDA_DSP_BAR]); - hdac_bus_unmap: - iounmap(bus->remap_addr); -+ hda_codec_i915_exit(sdev); - err: - return ret; - } --- -2.24.1 - diff --git a/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch b/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch new file mode 100644 index 000000000..8c7a43185 --- /dev/null +++ b/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch @@ -0,0 +1,374 @@ +From 6c92ae1e452ff3f4648b1450c9a3233a2ca53feb Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Date: Fri, 6 Mar 2020 18:44:03 +0100 +Subject: mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage() + +Some controllers diverge from the standard way of setting power and need +their bus voltage register to be configured regardless of the whether +they use regulators. As this is a common pattern across sdhci hosts, +create a helper function. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Acked-by: Adrian Hunter <adrian.hunter@intel.com> +Link: https://lore.kernel.org/r/20200306174413.20634-2-nsaenzjulienne@suse.de +Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> +--- + drivers/mmc/host/sdhci.c | 19 +++++++++++++++++++ + drivers/mmc/host/sdhci.h | 3 +++ + 2 files changed, 22 insertions(+) + +diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c +index c59566363a42..525e0c971c6a 100644 +--- a/drivers/mmc/host/sdhci.c ++++ b/drivers/mmc/host/sdhci.c +@@ -2010,6 +2010,25 @@ void sdhci_set_power(struct sdhci_host *host, unsigned char mode, + } + EXPORT_SYMBOL_GPL(sdhci_set_power); + ++/* ++ * Some controllers need to configure a valid bus voltage on their power ++ * register regardless of whether an external regulator is taking care of power ++ * supply. This helper function takes care of it if set as the controller's ++ * sdhci_ops.set_power callback. ++ */ ++void sdhci_set_power_and_bus_voltage(struct sdhci_host *host, ++ unsigned char mode, ++ unsigned short vdd) ++{ ++ if (!IS_ERR(host->mmc->supply.vmmc)) { ++ struct mmc_host *mmc = host->mmc; ++ ++ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); ++ } ++ sdhci_set_power_noreg(host, mode, vdd); ++} ++EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage); ++ + /*****************************************************************************\ + * * + * MMC callbacks * +diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h +index 249635692112..851b81565f46 100644 +--- a/drivers/mmc/host/sdhci.h ++++ b/drivers/mmc/host/sdhci.h +@@ -772,6 +772,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock); + void sdhci_enable_clk(struct sdhci_host *host, u16 clk); + void sdhci_set_power(struct sdhci_host *host, unsigned char mode, + unsigned short vdd); ++void sdhci_set_power_and_bus_voltage(struct sdhci_host *host, ++ unsigned char mode, ++ unsigned short vdd); + void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode, + unsigned short vdd); + void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq); +-- +cgit 1.2-0.3.lf.el7 +From f87391eec2c5f54269e64d655da19f2c32515e4c Mon Sep 17 00:00:00 2001 +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Date: Fri, 6 Mar 2020 18:44:11 +0100 +Subject: mmc: sdhci: iproc: Add custom set_power() callback for bcm2711 + +The controller needs a valid bus voltage in its power register +regardless of whether an external regulator is taking care of the power +supply. + +The sdhci core already provides a helper function for this, +sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct +sdhci_ops' which makes use of it. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Acked-by: Adrian Hunter <adrian.hunter@intel.com> +Link: https://lore.kernel.org/r/20200306174413.20634-10-nsaenzjulienne@suse.de +Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> +--- + drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c +index f4f5f0a70cda..225603148d7d 100644 +--- a/drivers/mmc/host/sdhci-iproc.c ++++ b/drivers/mmc/host/sdhci-iproc.c +@@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = { + .mmc_caps = 0x00000000, + }; + ++static const struct sdhci_ops sdhci_iproc_bcm2711_ops = { ++ .read_l = sdhci_iproc_readl, ++ .read_w = sdhci_iproc_readw, ++ .read_b = sdhci_iproc_readb, ++ .write_l = sdhci_iproc_writel, ++ .write_w = sdhci_iproc_writew, ++ .write_b = sdhci_iproc_writeb, ++ .set_clock = sdhci_set_clock, ++ .set_power = sdhci_set_power_and_bus_voltage, ++ .get_max_clock = sdhci_iproc_get_max_clock, ++ .set_bus_width = sdhci_set_bus_width, ++ .reset = sdhci_reset, ++ .set_uhs_signaling = sdhci_set_uhs_signaling, ++}; ++ + static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = { + .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12, +- .ops = &sdhci_iproc_32only_ops, ++ .ops = &sdhci_iproc_bcm2711_ops, + }; + + static const struct sdhci_iproc_data bcm2711_data = { +-- +cgit 1.2-0.3.lf.el7 +From patchwork Fri Mar 6 17:44:12 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11424593 +Return-Path: + <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D86014E3 + for <patchwork-linux-arm@patchwork.kernel.org>; + Fri, 6 Mar 2020 17:46:55 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 7BFCB2072A + for <patchwork-linux-arm@patchwork.kernel.org>; + Fri, 6 Mar 2020 17:46:55 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="YjdlKV21" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BFCB2072A +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=uwmoUBe7WYtSPXJudhI4GM1SShwysP2rkzh9oA/iygA=; b=YjdlKV21P2YnYd + uFZk/zUDicQRMv6kHWHSeOubxKYNNZjuVUmkI6PWtCuEt37bz+3qPjaDWjY6QO0qR9wHKzxaPikjZ + upSKvBHf9jcYSON0gQhjCxZEGnfO3zrdObtnjdQFTTE9rJPiUXe+bIsvhqlNCO/5Xq4pXjSVR81Fw + IVfXtxtw0tmDjrN7VDqH+dhvUPrvLDRnXOHnolvQfQyuvyvSZ9I7Wn/c4fFJsZemBA7mjvORI7cTd + lVRuIqACikY2bT4Zh+ZtglOCFxtlNjCe60Dj94AnA/j51dvC8MHQOOD+HGKjGzKBwk5FONXjvKeUZ + kR8WGaZiQsG3hj3hzxyw==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jAH3k-0003wN-91; Fri, 06 Mar 2020 17:46:52 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jAH1V-00085X-Ut; Fri, 06 Mar 2020 17:44:35 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 8906AACC2; + Fri, 6 Mar 2020 17:44:32 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org, + Rob Herring <robh+dt@kernel.org>, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Subject: [PATCH v2 10/11] ARM: dts: bcm2711: Update expgpio's GPIO labels +Date: Fri, 6 Mar 2020 18:44:12 +0100 +Message-Id: <20200306174413.20634-11-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de> +References: <20200306174413.20634-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200306_094434_171925_0978A2DC +X-CRM114-Status: GOOD ( 11.64 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, + linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com, + linux-arm-kernel@lists.infradead.org +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +The 6th line of the GPIO expander is used to power the board's SD card. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +index 1d4b589fe233..b0ea8233b636 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -68,7 +68,7 @@ expgpio: gpio { + "GLOBAL_RESET", + "VDD_SD_IO_SEL", + "CAM_GPIO", +- "", ++ "SD_PWR_ON", + ""; + status = "okay"; + }; +From patchwork Fri Mar 6 17:44:13 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 11424599 +Return-Path: + <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9E8E14BC + for <patchwork-linux-arm@patchwork.kernel.org>; + Fri, 6 Mar 2020 17:47:49 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id 86F7120656 + for <patchwork-linux-arm@patchwork.kernel.org>; + Fri, 6 Mar 2020 17:47:49 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="nK9IFX75" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F7120656 +Authentication-Results: mail.kernel.org; + dmarc=none (p=none dis=none) header.from=suse.de +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: + List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: + Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: + Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: + List-Owner; bh=yrr+wQNcWoBzz3a/8/AcMlS2enrwpsgYIWUpL8bLv8o=; b=nK9IFX75hVaG6g + t8PhPIHJnIGtQxqZ65valF8dAq8JXeUle2mgnW5xdfa/YWcgzajD9/LaS1qMXKW7wDU/rQ0GbSW9t + +8F8v8NQzCf34sfHmFBEl30S1pJN/dQVJKJk0kmx6/P9N+ig3vAyMVsPsXq1Xij+OU0aU8SU1V+mE + nZnwLti9oSRWY6sNhg1MoHB2DNBt/FBNtROGqiXh13ngQTg8C/HgYapnJnXb+GjrutVM2DzH+i/tG + OtgGRm0XoLRz5QjavZZHPmlHUm8pMxfgllYbUvrESNgDT06vBiPj4idCN7X1XXxxoqPsP3/k8kido + Py713+dNVA1gqQEWqG1g==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jAH4a-0004vA-Os; Fri, 06 Mar 2020 17:47:44 +0000 +Received: from mx2.suse.de ([195.135.220.15]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1jAH1W-00086J-W9; Fri, 06 Mar 2020 17:44:36 +0000 +X-Virus-Scanned: by amavisd-new at test-mx.suse.de +Received: from relay2.suse.de (unknown [195.135.220.254]) + by mx2.suse.de (Postfix) with ESMTP id 8D8E5AEC5; + Fri, 6 Mar 2020 17:44:33 +0000 (UTC) +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org, + Rob Herring <robh+dt@kernel.org>, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Subject: [PATCH v2 11/11] ARM: dts: bcm2711: Add vmmc regulator in emmc2 +Date: Fri, 6 Mar 2020 18:44:13 +0100 +Message-Id: <20200306174413.20634-12-nsaenzjulienne@suse.de> +X-Mailer: git-send-email 2.25.1 +In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de> +References: <20200306174413.20634-1-nsaenzjulienne@suse.de> +MIME-Version: 1.0 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200306_094435_205829_20FE02CB +X-CRM114-Status: GOOD ( 10.34 ) +X-Spam-Score: -2.3 (--) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-2.3 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) + [195.135.220.15 listed in wl.mailspike.net] + -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, + medium trust [195.135.220.15 listed in list.dnswl.org] + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com, + linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, + linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com, + linux-arm-kernel@lists.infradead.org +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +The SD card power can be controlled trough a pin routed into the board's +external GPIO expander. Turn that into a regulator and provide it to +emmc2. + +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +--- + arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +index b0ea8233b636..a2da058396fe 100644 +--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts ++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +@@ -55,6 +55,16 @@ sd_io_1v8_reg: sd_io_1v8_reg { + 3300000 0x0>; + status = "okay"; + }; ++ ++ sd_vcc_reg: sd_vcc_reg { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-sd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-boot-on; ++ enable-active-high; ++ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>; ++ }; + }; + + &firmware { +@@ -173,6 +183,7 @@ brcmf: wifi@1 { + /* EMMC2 is used to drive the SD card */ + &emmc2 { + vqmmc-supply = <&sd_io_1v8_reg>; ++ vmmc-supply = <&sd_vcc_reg>; + broken-cd; + status = "okay"; + }; diff --git a/arm-bcm2835-serial-8250_early-support-aux-uart.patch b/arm-bcm2835-serial-8250_early-support-aux-uart.patch new file mode 100644 index 000000000..5ab954996 --- /dev/null +++ b/arm-bcm2835-serial-8250_early-support-aux-uart.patch @@ -0,0 +1,47 @@ +From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001 +From: Matthias Brugger <mbrugger@suse.com> +Date: Sun, 26 Jan 2020 13:33:14 +0100 +Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart + +Define the OF early console for BCM2835 aux UART, which can be enabled +by passing "earlycon" on the boot command line. This UART is found on +BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants. + +Signed-off-by: Matthias Brugger <mbrugger@suse.com> +Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c +index e70e3cc30050..5cc03bf24f85 100644 +--- a/drivers/tty/serial/8250/8250_bcm2835aux.c ++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c +@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = { + }; + module_platform_driver(bcm2835aux_serial_driver); + ++#ifdef CONFIG_SERIAL_8250_CONSOLE ++ ++static int __init early_bcm2835aux_setup(struct earlycon_device *device, ++ const char *options) ++{ ++ if (!device->port.membase) ++ return -ENODEV; ++ ++ device->port.iotype = UPIO_MEM32; ++ device->port.regshift = 2; ++ ++ return early_serial8250_setup(device, NULL); ++} ++ ++OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart", ++ early_bcm2835aux_setup); ++#endif ++ + MODULE_DESCRIPTION("BCM2835 auxiliar UART driver"); + MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>"); + MODULE_LICENSE("GPL v2"); +-- +cgit 1.2-0.3.lf.el7 diff --git a/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch b/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch new file mode 100644 index 000000000..7bfd204b5 --- /dev/null +++ b/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch @@ -0,0 +1,50 @@ +From c45fbddb2cd7ce6198e33ebe6dc4c1301d7875d4 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Sun, 19 Apr 2020 20:50:08 +0100 +Subject: [PATCH] Fix some GPIO setup on Pinebook Pro + +This patchset contains two small fixes for the dts of the Pinebook Pro. +The first fixes inverted logic on the headphone detect GPIO. +The second patch fixes unreliable DC charger detection. + +Tobias Schramm (2): + arm64: dts: rockchip: fix inverted headphone detection + arm64: dts: rockchip: enable DC charger detection pullup + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +index 5ea281b55fe2..294d21bf45f5 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +@@ -147,7 +147,7 @@ es8316-sound { + "Speaker", "Speaker Amplifier OUTL", + "Speaker", "Speaker Amplifier OUTR"; + +- simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; + simple-audio-card,aux-devs = <&speaker_amp>; + simple-audio-card,pin-switches = "Speaker"; + +@@ -788,13 +788,13 @@ lidbtn_gpio: lidbtn-gpio { + + dc-charger { + dc_det_gpio: dc-det-gpio { +- rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + es8316 { + hp_det_gpio: hp-det-gpio { +- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + +-- +2.26.1 + diff --git a/arm64-a64-mbus.patch b/arm64-a64-mbus.patch new file mode 100644 index 000000000..46efa29cf --- /dev/null +++ b/arm64-a64-mbus.patch @@ -0,0 +1,69 @@ +From daae9f66b29a04a94708b1b5a9b61e3ee14df031 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec <jernej.skrabec@siol.net> +Date: Mon, 10 Feb 2020 18:06:52 +0100 +Subject: [PATCH 1/2] dt-bindings: interconnect: sunxi: Add A64 MBUS compatible + +A64 contains MBUS controller. Add a compatible for it. + +Acked-by: Rob Herring <robh@kernel.org> +Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml +index 9370e64992dd..aa0738b4d534 100644 +--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml ++++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml +@@ -30,6 +30,7 @@ properties: + enum: + - allwinner,sun5i-a13-mbus + - allwinner,sun8i-h3-mbus ++ - allwinner,sun50i-a64-mbus + + reg: + maxItems: 1 +-- +2.24.1 + +From 410bb2be7e1f1d329c238e2d6d06b6c25dcee404 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec <jernej.skrabec@siol.net> +Date: Mon, 10 Feb 2020 18:06:54 +0100 +Subject: [PATCH 2/2] arm64: dts: allwinner: a64: Add MBUS controller node + +A64 contains MBUS, which is the bus used by DMA devices to access +system memory. + +MBUS controller is responsible for arbitration between channels based +on set priority and can do some other things as well, like report +bandwidth used. It also maps RAM region to different address than CPU. + +Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +index 862b47dc9dc9..251c91724de1 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +@@ -1061,6 +1061,14 @@ pwm: pwm@1c21400 { + status = "disabled"; + }; + ++ mbus: dram-controller@1c62000 { ++ compatible = "allwinner,sun50i-a64-mbus"; ++ reg = <0x01c62000 0x1000>; ++ clocks = <&ccu 112>; ++ dma-ranges = <0x00000000 0x40000000 0xc0000000>; ++ #interconnect-cells = <1>; ++ }; ++ + csi: csi@1cb0000 { + compatible = "allwinner,sun50i-a64-csi"; + reg = <0x01cb0000 0x1000>; +-- +2.24.1 + diff --git a/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch b/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch new file mode 100644 index 000000000..3d43cd710 --- /dev/null +++ b/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch @@ -0,0 +1,320 @@ +From patchwork Wed Mar 25 20:16:03 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com> +X-Patchwork-Id: 1261638 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=gmail.com header.i=@gmail.com + header.a=rsa-sha256 header.s=20161025 header.b=sj7XVrax; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48nfWs1X7mz9sRf + for <incoming@patchwork.ozlabs.org>; + Thu, 26 Mar 2020 07:16:09 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727374AbgCYUQI (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Wed, 25 Mar 2020 16:16:08 -0400 +Received: from mail-wm1-f68.google.com ([209.85.128.68]:50585 "EHLO + mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727328AbgCYUQI (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Wed, 25 Mar 2020 16:16:08 -0400 +Received: by mail-wm1-f68.google.com with SMTP id d198so4073496wmd.0 + for <linux-tegra@vger.kernel.org>; + Wed, 25 Mar 2020 13:16:07 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:mime-version + :content-transfer-encoding; + bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=; + b=sj7XVraxdwiyRAeepEQ0wy1nLUUH6vcloNotxoFwaAZmvU2GILePtp+OM8VZxzmSg1 + qVjos+BzgdtxI0QGYvlsRwZJmw1PdwfTDzM8kMKmP2AfXDgnFG7LZsGZnzTmdPqErqG6 + RfQwpZiPunHplEvI/epnPHACQlV9HoX+teAIWP9gyJkMYwBCVOirkfv4yGqGZWyEciZ2 + yM5mGeUZ/OprHtVVEEuF5yb50CJm8cBEHBMr2ooS+0jm+avVEG8DKe9QM2nWgJB7+TXH + 7+iryK1A4PDr9L6syw0p6sAbkFd2+P/p44d/rqsKPWTQG0lkd0cgRHx9fVPls/P4Snyr + JwCA== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version + :content-transfer-encoding; + bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=; + b=HWu2t1YnW/GoMLlkfp6ZQha8CvUnfMi/OK1zsN3hDtTtMLwVQL9YBFPvXYfAASIGzA + qXmgdbIdQmwOXRxlDmgcXk8KcOJmvnJTSoE+GPeLrKGVq9h2c6XLINshs7RDWqY7//GM + /NMVkESX/sVh5qVQYVzsQOBWAsLkwpVAmt3lJ81XrCGdA/L5aN2FWOftTWJWoStgtHuB + 9N27ffBkV8/72gDCcGxM/lJlfxMBcfPIEMDGWlErsl2U/EPtF+e5AH1kF9/a+lImxa1h + vBlXvgfPKazfOLm1jA809U0QJrCy5bmTOJsaLqnkLPNJRyvlY6JZqk8a1Wc4u6l44uoI + 4l3g== +X-Gm-Message-State: ANhLgQ0GzmzHn/uC4G4GzXRW/D8i6fcQ7Y04Wxx+yBOvoeixp0lD9PYD + 9Q7E3Ezt7uCnfh5D41Ym8jY= +X-Google-Smtp-Source: ADFU+vvV+Qjqcd+wksczhsC9MSisSEM36LfhftNulFkmYxqwCfpDcq22YDEoWHYpgjaXwwZC4lgCyg== +X-Received: by 2002:a7b:c842:: with SMTP id c2mr5416219wml.154.1585167366416; + Wed, 25 Mar 2020 13:16:06 -0700 (PDT) +Received: from localhost + (p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de. + [2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51]) + by smtp.gmail.com with ESMTPSA id + i4sm132568wrm.32.2020.03.25.13.16.05 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 25 Mar 2020 13:16:05 -0700 (PDT) +From: Thierry Reding <thierry.reding@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com> +Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org +Subject: [PATCH 1/2] drm/tegra: Fix SMMU support on Tegra124 and Tegra210 +Date: Wed, 25 Mar 2020 21:16:03 +0100 +Message-Id: <20200325201604.833898-1-thierry.reding@gmail.com> +X-Mailer: git-send-email 2.24.1 +MIME-Version: 1.0 +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +From: Thierry Reding <treding@nvidia.com> + +When testing whether or not to enable the use of the SMMU, consult the +supported DMA mask rather than the actually configured DMA mask, since +the latter might already have been restricted. + +Fixes: 2d9384ff9177 ("drm/tegra: Relax IOMMU usage criteria on old Tegra") +Signed-off-by: Thierry Reding <treding@nvidia.com> +Tested-by: Jon Hunter <jonathanh@nvidia.com> +--- + drivers/gpu/drm/tegra/drm.c | 3 ++- + drivers/gpu/host1x/dev.c | 13 +++++++++++++ + include/linux/host1x.h | 3 +++ + 3 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c +index bd268028fb3d..583cd6e0ae27 100644 +--- a/drivers/gpu/drm/tegra/drm.c ++++ b/drivers/gpu/drm/tegra/drm.c +@@ -1039,6 +1039,7 @@ void tegra_drm_free(struct tegra_drm *tegra, size_t size, void *virt, + + static bool host1x_drm_wants_iommu(struct host1x_device *dev) + { ++ struct host1x *host1x = dev_get_drvdata(dev->dev.parent); + struct iommu_domain *domain; + + /* +@@ -1076,7 +1077,7 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev) + * sufficient and whether or not the host1x is attached to an IOMMU + * doesn't matter. + */ +- if (!domain && dma_get_mask(dev->dev.parent) <= DMA_BIT_MASK(32)) ++ if (!domain && host1x_get_dma_mask(host1x) <= DMA_BIT_MASK(32)) + return true; + + return domain != NULL; +diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c +index 388bcc2889aa..40a4b9f8b861 100644 +--- a/drivers/gpu/host1x/dev.c ++++ b/drivers/gpu/host1x/dev.c +@@ -502,6 +502,19 @@ static void __exit tegra_host1x_exit(void) + } + module_exit(tegra_host1x_exit); + ++/** ++ * host1x_get_dma_mask() - query the supported DMA mask for host1x ++ * @host1x: host1x instance ++ * ++ * Note that this returns the supported DMA mask for host1x, which can be ++ * different from the applicable DMA mask under certain circumstances. ++ */ ++u64 host1x_get_dma_mask(struct host1x *host1x) ++{ ++ return host1x->info->dma_mask; ++} ++EXPORT_SYMBOL(host1x_get_dma_mask); ++ + MODULE_AUTHOR("Thierry Reding <thierry.reding@avionic-design.de>"); + MODULE_AUTHOR("Terje Bergstrom <tbergstrom@nvidia.com>"); + MODULE_DESCRIPTION("Host1x driver for Tegra products"); +diff --git a/include/linux/host1x.h b/include/linux/host1x.h +index 62d216ff1097..c230b4e70d75 100644 +--- a/include/linux/host1x.h ++++ b/include/linux/host1x.h +@@ -17,9 +17,12 @@ enum host1x_class { + HOST1X_CLASS_GR3D = 0x60, + }; + ++struct host1x; + struct host1x_client; + struct iommu_group; + ++u64 host1x_get_dma_mask(struct host1x *host1x); ++ + /** + * struct host1x_client_ops - host1x client operations + * @init: host1x client initialization code + +From patchwork Wed Mar 25 20:16:04 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com> +X-Patchwork-Id: 1261639 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=gmail.com header.i=@gmail.com + header.a=rsa-sha256 header.s=20161025 header.b=XXUz449u; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48nfWw6NvSz9sPk + for <incoming@patchwork.ozlabs.org>; + Thu, 26 Mar 2020 07:16:12 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727316AbgCYUQM (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Wed, 25 Mar 2020 16:16:12 -0400 +Received: from mail-wr1-f65.google.com ([209.85.221.65]:33914 "EHLO + mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727328AbgCYUQM (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Wed, 25 Mar 2020 16:16:12 -0400 +Received: by mail-wr1-f65.google.com with SMTP id 65so4990084wrl.1 + for <linux-tegra@vger.kernel.org>; + Wed, 25 Mar 2020 13:16:09 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=; + b=XXUz449uJivXz+1lH6pKa9IvT3vUx61/skXaEyQxpkslFR268FwckKE0ryQDUx701N + hFN9ocSGCuE6bKpdgya8YmthXDASOYWZzKV0R5jms1rqgazVMF6jARv+kE4Jaj9Ek4tl + 4eTpmnHinx0xIrgGWCQbfltjb+zAE5XOGX8UCX1526r3yQQpu+OQlKZ70Tvq3pdw0zfT + URkTU8sfdTa9DCxUSsUukPcK9vKOk6XHkFleL6FisODDvXphdzzLa1TCv9UTGLrUsHSd + XDrukLto5efrUE03q5jP6ZN4xbnLDbhY6IkB7PAW1qwSPG/Eg0p0ivpJ58+QwwmBH6zF + ByDQ== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=; + b=DIWKPWCoYx1rnX34DSkRPm2K6lR1SurVvq+IIY5Nrc9uq+E3pmXQcActG0DDAHHK8a + SgnziEvuWTeROgrlwONYq+FUZRQ6s1TRR1+qDXqAlRtdebU/cEep+LRvdzJe/qJBpPqd + SnSTR3Xntgo7EcyLRj9YqSodasylPt3OzrhuDudfTSQtKZghElLfyJV/tzgwG+OC3TD4 + RJAykZ0tgWHy7Bc1UB+z6LovuT/sgcPUSLfNqDehQWqwQeqHqXgFAomUN0CCEr2YdjkT + sCpBZPqKtb22FdDWlDiNnEkEmMPA+K4MIWbZL9VuvArjFaaBn6fBxvnX4tAKEcOiKeUy + EZXw== +X-Gm-Message-State: ANhLgQ1Vj1gSFYKgV/7jV1T3UIwTE5jasGmLOhuuGuWvjBs2xXUgieyz + VhNVgYIYU/8R/0Vx9Hv44rw= +X-Google-Smtp-Source: ADFU+vtTfrVHW69I+ZhOz8qw8xUje/j42rKoNxAP2wTt+E5WQ5s6QhBcgeHzC4Bw5Q5NdWxjLUtZ/g== +X-Received: by 2002:adf:800e:: with SMTP id 14mr5104354wrk.369.1585167368929; + Wed, 25 Mar 2020 13:16:08 -0700 (PDT) +Received: from localhost + (p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de. + [2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51]) + by smtp.gmail.com with ESMTPSA id + e9sm151985wrw.30.2020.03.25.13.16.07 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 25 Mar 2020 13:16:07 -0700 (PDT) +From: Thierry Reding <thierry.reding@gmail.com> +To: Thierry Reding <thierry.reding@gmail.com> +Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org +Subject: [PATCH 2/2] gpu: host1x: Use SMMU on Tegra124 and Tegra210 +Date: Wed, 25 Mar 2020 21:16:04 +0100 +Message-Id: <20200325201604.833898-2-thierry.reding@gmail.com> +X-Mailer: git-send-email 2.24.1 +In-Reply-To: <20200325201604.833898-1-thierry.reding@gmail.com> +References: <20200325201604.833898-1-thierry.reding@gmail.com> +MIME-Version: 1.0 +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +From: Thierry Reding <treding@nvidia.com> + +Tegra124 and Tegra210 support addressing more than 32 bits of physical +memory. However, since their host1x does not support the wide GATHER +opcode, they should use the SMMU if at all possible to ensure that all +the system memory can be used for command buffers, irrespective of +whether or not the host1x firewall is enabled. + +Signed-off-by: Thierry Reding <treding@nvidia.com> +Tested-by: Jon Hunter <jonathanh@nvidia.com> +--- + drivers/gpu/host1x/dev.c | 46 ++++++++++++++++++++++++++++++++++++---- + 1 file changed, 42 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c +index 40a4b9f8b861..d24344e91922 100644 +--- a/drivers/gpu/host1x/dev.c ++++ b/drivers/gpu/host1x/dev.c +@@ -192,17 +192,55 @@ static void host1x_setup_sid_table(struct host1x *host) + } + } + ++static bool host1x_wants_iommu(struct host1x *host1x) ++{ ++ /* ++ * If we support addressing a maximum of 32 bits of physical memory ++ * and if the host1x firewall is enabled, there's no need to enable ++ * IOMMU support. This can happen for example on Tegra20, Tegra30 ++ * and Tegra114. ++ * ++ * Tegra124 and later can address up to 34 bits of physical memory and ++ * many platforms come equipped with more than 2 GiB of system memory, ++ * which requires crossing the 4 GiB boundary. But there's a catch: on ++ * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can ++ * only address up to 32 bits of memory in GATHER opcodes, which means ++ * that command buffers need to either be in the first 2 GiB of system ++ * memory (which could quickly lead to memory exhaustion), or command ++ * buffers need to be treated differently from other buffers (which is ++ * not possible with the current ABI). ++ * ++ * A third option is to use the IOMMU in these cases to make sure all ++ * buffers will be mapped into a 32-bit IOVA space that host1x can ++ * address. This allows all of the system memory to be used and works ++ * within the limitations of the host1x on these SoCs. ++ * ++ * In summary, default to enable IOMMU on Tegra124 and later. For any ++ * of the earlier SoCs, only use the IOMMU for additional safety when ++ * the host1x firewall is disabled. ++ */ ++ if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) { ++ if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL)) ++ return false; ++ } ++ ++ return true; ++} ++ + static struct iommu_domain *host1x_iommu_attach(struct host1x *host) + { + struct iommu_domain *domain = iommu_get_domain_for_dev(host->dev); + int err; + + /* +- * If the host1x firewall is enabled, there's no need to enable IOMMU +- * support. Similarly, if host1x is already attached to an IOMMU (via +- * the DMA API), don't try to attach again. ++ * We may not always want to enable IOMMU support (for example if the ++ * host1x firewall is already enabled and we don't support addressing ++ * more than 32 bits of physical memory), so check for that first. ++ * ++ * Similarly, if host1x is already attached to an IOMMU (via the DMA ++ * API), don't try to attach again. + */ +- if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL) || domain) ++ if (!host1x_wants_iommu(host) || domain) + return domain; + + host->group = iommu_group_get(host->dev); diff --git a/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch b/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch new file mode 100644 index 000000000..efa8393c3 --- /dev/null +++ b/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch @@ -0,0 +1,200 @@ +From patchwork Tue Feb 11 13:48:28 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Alifer Moraes <alifer.wsdm@gmail.com> +X-Patchwork-Id: 11375533 +Return-Path: + <SRS0=9UBk=37=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> +Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org + [172.30.200.123]) + by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DAC92A + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 11 Feb 2020 13:49:12 +0000 (UTC) +Received: from bombadil.infradead.org (bombadil.infradead.org + [198.137.202.133]) + (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) + (No client certificate requested) + by mail.kernel.org (Postfix) with ESMTPS id C5EA020714 + for <patchwork-linux-arm@patchwork.kernel.org>; + Tue, 11 Feb 2020 13:49:12 +0000 (UTC) +Authentication-Results: mail.kernel.org; + dkim=pass (2048-bit key) header.d=lists.infradead.org + header.i=@lists.infradead.org header.b="balGUEE3"; + dkim=fail reason="signature verification failed" (2048-bit key) + header.d=gmail.com header.i=@gmail.com header.b="d3FXu4Dc" +DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5EA020714 +Authentication-Results: mail.kernel.org; + dmarc=fail (p=none dis=none) header.from=gmail.com +Authentication-Results: mail.kernel.org; + spf=none + smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; + d=lists.infradead.org; s=bombadil.20170209; h=Sender: + Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: + List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: + Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: + Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: + References:List-Owner; bh=Q9Eedrpm+ZQezEHXcjojgCHrYwg1NSmbBzGRJC6OAEs=; b=bal + GUEE3cweBEy/Vkjzf2O1dBoqXUeIQqctHowPUTw4Z2UghEKFuNfNsw8XoV+k/9uxO4M/XaDCgWyyp + qf26Y3SZo9+k2pqbjJt+qdqndF06tTHiH7QPQGbaWEBxURzOD+G1VW8Iyjvfi0f9vrXbv8d9b9+DI + LPpFdD/7IwXQZEYsPmaSEitj7mQXBlWZnRZrvrQfYtxXb3yABUQIUrBtZSoARs4A+Txn4vOFlT6B4 + HOAidlwfT8hESddkvjjmeCAuPLXUyIBvDoSaYgAumOSh1xoUZsswM2ALud+R1XKVlGlAd1BE6uHt2 + bWDUHrcXdge45JTn/egO1ibajqTlB/g==; +Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) + by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j1VuW-0004DJ-JR; Tue, 11 Feb 2020 13:49:08 +0000 +Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841]) + by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) + id 1j1VuM-0003zu-98 + for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 13:48:59 +0000 +Received: by mail-qt1-x841.google.com with SMTP id t13so7964724qto.3 + for <linux-arm-kernel@lists.infradead.org>; + Tue, 11 Feb 2020 05:48:53 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id; + bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=; + b=d3FXu4DcpsHeeo7NBsq1Ec3f7OKhc4SsvQnIJenSnOtjREel9IF+kdR8ma1SWkO5OR + Ou4s2dnBv7WOxC4OPWNV6d8KIVpBRVtM/ukAKzN6d3zx7MvBtQz1N27NoDx/a7ujHsmS + jvZYtEEc8DToM7semtrIS3CUfnR8Jxni2Z/6WUP8wvMdDT8C1m2PB78zzz+BFas4vec2 + VRg0vXB9eGeEdlGGMFCs2IJ9nbGhw7o3VA3WFY8plHWMmjNInC6fLgpMiA40FBmv4BzV + G9slDIDonCBacDdi6tPT8KEVnytqC8eiltqCoEj+hq8mYECNDQpWUjWhJQ4KRRh1aoXi + oAuA== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id; + bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=; + b=VDw2Y7qVf/KFTneIHUcwsg23yYrIU2SHbDXAyjC6m5rgjl9cM292uJO9J1u+Op1Cu/ + dOhT15wf440CJpqMBTLTJJSuUVpomGxEXFT4qDa6Q84BqkWbFYl/d9HRJkcM1376rLVZ + 7nbzvWqSlLIu3wFgOabFryD13Mw65RJpKUn2vW0b7kInWJ/phJhDJ5+FwjVWJTXEIlsT + LFN5gpS5hajAUubLcUmK8avcuJGka+vT8NkK608MO8NndwUp56g4BRs7Pk4S6wvttmy3 + F8ouwAvWF2idbxWjx9MGcaM/PVLhQpDmcif8AjlEhGnbBza4u5356N4S+SKZSkd43Grw + 8ZWA== +X-Gm-Message-State: APjAAAUJWGlEecdg9M/V5ba1zVNwrP9LNv4AsXidTI7JEnOQd/PE0sMm + I4AUmnPqcCuUaNiG7XoZiUw= +X-Google-Smtp-Source: + APXvYqybhzOEAAvHZbhKNes/s71zGxqa2omF1pXH9nVpHWlE7KVvcXMkRtBbOlD4T9UG/KxmmcCT+w== +X-Received: by 2002:ac8:7caf:: with SMTP id z15mr14892626qtv.68.1581428933199; + Tue, 11 Feb 2020 05:48:53 -0800 (PST) +Received: from NXL86673.nxp.com ([177.221.114.206]) + by smtp.googlemail.com with ESMTPSA id h6sm2158936qtr.33.2020.02.11.05.48.50 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Tue, 11 Feb 2020 05:48:52 -0800 (PST) +From: Alifer Moraes <alifer.wsdm@gmail.com> +To: robh+dt@kernel.org +Subject: [PATCH] arm64: dts: imx8mq-phanbell: Add support for ethernet +Date: Tue, 11 Feb 2020 10:48:28 -0300 +Message-Id: <20200211134828.138-1-alifer.wsdm@gmail.com> +X-Mailer: git-send-email 2.17.1 +X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 +X-CRM114-CacheID: sfid-20200211_054858_316312_8FE28FDF +X-CRM114-Status: GOOD ( 10.43 ) +X-Spam-Score: -0.2 (/) +X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: + Content analysis details: (-0.2 points) + pts rule name description + ---- ---------------------- + -------------------------------------------------- + -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, + no trust [2607:f8b0:4864:20:0:0:0:841 listed in] + [list.dnswl.org] + 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider [alifer.wsdm[at]gmail.com] + -0.0 SPF_PASS SPF: sender matches SPF record + 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record + 0.1 DKIM_SIGNED Message has a DKIM or DK signature, + not necessarily + valid + -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from + envelope-from domain + -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain +X-BeenThere: linux-arm-kernel@lists.infradead.org +X-Mailman-Version: 2.1.29 +Precedence: list +List-Id: <linux-arm-kernel.lists.infradead.org> +List-Unsubscribe: + <http://lists.infradead.org/mailman/options/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> +List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> +List-Post: <mailto:linux-arm-kernel@lists.infradead.org> +List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> +List-Subscribe: + <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, + <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> +Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, festevam@gmail.com, + s.hauer@pengutronix.de, linux-kernel@vger.kernel.org, + Alifer Moraes <alifer.wsdm@gmail.com>, marco.franchi@nxp.com, + shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org +MIME-Version: 1.0 +Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> +Errors-To: + linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org + +Add support for ethernet on Google's i.MX 8MQ Phanbell + +Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com> +--- + .../boot/dts/freescale/imx8mq-phanbell.dts | 41 +++++++++++++++++++ + 1 file changed, 41 insertions(+) + +diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts +index 3f2a489a4ad8..16ed13c44a47 100644 +--- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts ++++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts +@@ -201,6 +201,27 @@ + }; + }; + ++&fec1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_fec1>; ++ phy-mode = "rgmii-id"; ++ phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; ++ phy-reset-duration = <10>; ++ phy-reset-post-delay = <30>; ++ phy-handle = <ðphy0>; ++ fsl,magic-packet; ++ status = "okay"; ++ ++ mdio { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ethphy0: ethernet-phy@0 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <0>; ++ }; ++ }; ++}; ++ + &uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart1>; +@@ -254,6 +275,26 @@ + }; + + &iomuxc { ++ pinctrl_fec1: fec1grp { ++ fsl,pins = < ++ MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 ++ MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 ++ MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f ++ MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f ++ MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f ++ MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f ++ MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 ++ MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 ++ MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 ++ MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 ++ MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f ++ MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 ++ MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 ++ MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f ++ MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 ++ >; ++ }; ++ + pinctrl_i2c1: i2c1grp { + fsl,pins = < + MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f diff --git a/arm64-pine64-pinephone.patch b/arm64-pine64-pinephone.patch new file mode 100644 index 000000000..640d53e33 --- /dev/null +++ b/arm64-pine64-pinephone.patch @@ -0,0 +1,568 @@ +From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman <megous@megous.com> +Date: Thu, 27 Feb 2020 02:26:48 +0100 +Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins + +PinePhone needs I2C2 pins description. Add it, and make it default +for i2c2, since it's the only possiblilty. + +Signed-off-by: Ondrej Jirman <megous@megous.com> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +index 862b47dc9dc9..107a48f9c5b3 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins { + function = "i2c1"; + }; + ++ i2c2_pins: i2c2-pins { ++ pins = "PE14", "PE15"; ++ function = "i2c2"; ++ }; ++ + /omit-if-no-ref/ + lcd_rgb666_pins: lcd-rgb666-pins { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", +@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 { + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&ccu CLK_BUS_I2C2>; + resets = <&ccu RST_BUS_I2C2>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c2_pins>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + }; + +- + spi0: spi@1c68000 { + compatible = "allwinner,sun8i-h3-spi"; + reg = <0x01c68000 0x1000>; +-- +2.24.1 + +From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman <megous@megous.com> +Date: Thu, 27 Feb 2020 02:26:49 +0100 +Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1 + bindings + +Document board compatible names for Pine64 PinePhone: + +- 1.0 - Developer variant +- 1.1 - Braveheart variant + +Signed-off-by: Ondrej Jirman <megous@megous.com> +Reviewed-by: Rob Herring <robh@kernel.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml +index 159060b65c5d..c632252be48b 100644 +--- a/Documentation/devicetree/bindings/arm/sunxi.yaml ++++ b/Documentation/devicetree/bindings/arm/sunxi.yaml +@@ -636,6 +636,16 @@ properties: + - const: pine64,pinebook + - const: allwinner,sun50i-a64 + ++ - description: Pine64 PinePhone Developer Batch (1.0) ++ items: ++ - const: pine64,pinephone-1.0 ++ - const: allwinner,sun50i-a64 ++ ++ - description: Pine64 PinePhone Braveheart (1.1) ++ items: ++ - const: pine64,pinephone-1.1 ++ - const: allwinner,sun50i-a64 ++ + - description: Pine64 PineTab + items: + - const: pine64,pinetab +-- +2.24.1 + +From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman <megous@megous.com> +Date: Thu, 27 Feb 2020 02:26:50 +0100 +Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64 + PinePhone + +At the moment PinePhone comes in two slightly incompatible variants: + +- 1.0: Early Developer Batch +- 1.1: Braveheart Batch + +There will be at least one more incompatible variant in the very near +future, so let's start by sharing the dtsi among multiple variants, +right away, even though the HW description doesn't yet include the +different bits. + +The differences between 1.0 and 1.1 are: change in pins that control +the flash LED, differences in modem power status signal routing, and +maybe some other subtler things, that have not been determined yet. + +This is a basic DT that includes only features that are already +supported by mainline drivers. + +Co-developed-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Samuel Holland <samuel@sholland.org> +Co-developed-by: Martijn Braam <martijn@brixit.nl> +Signed-off-by: Martijn Braam <martijn@brixit.nl> +Co-developed-by: Luca Weiss <luca@z3ntu.xyz> +Signed-off-by: Luca Weiss <luca@z3ntu.xyz> +Signed-off-by: Bhushan Shah <bshah@kde.org> +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +Signed-off-by: Ondrej Jirman <megous@megous.com> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/Makefile | 2 + + .../allwinner/sun50i-a64-pinephone-1.0.dts | 11 + + .../allwinner/sun50i-a64-pinephone-1.1.dts | 11 + + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++ + 4 files changed, 403 insertions(+) + create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts + create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts + create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi + +diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile +index 6dad63881cd3..e4d3cd0ac5bb 100644 +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts +new file mode 100644 +index 000000000000..0c42272106af +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts +@@ -0,0 +1,11 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> ++ ++/dts-v1/; ++ ++#include "sun50i-a64-pinephone.dtsi" ++ ++/ { ++ model = "Pine64 PinePhone Developer Batch (1.0)"; ++ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts +new file mode 100644 +index 000000000000..06a775c41664 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts +@@ -0,0 +1,11 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> ++ ++/dts-v1/; ++ ++#include "sun50i-a64-pinephone.dtsi" ++ ++/ { ++ model = "Pine64 PinePhone Braveheart (1.1)"; ++ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64"; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +new file mode 100644 +index 000000000000..cefda145c3c9 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -0,0 +1,379 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz> ++// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl> ++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com> ++ ++#include "sun50i-a64.dtsi" ++#include "sun50i-a64-cpu-opp.dtsi" ++ ++#include <dt-bindings/gpio/gpio.h> ++#include <dt-bindings/input/input.h> ++#include <dt-bindings/leds/common.h> ++#include <dt-bindings/pwm/pwm.h> ++ ++/ { ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ blue { ++ function = LED_FUNCTION_INDICATOR; ++ color = <LED_COLOR_ID_BLUE>; ++ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */ ++ }; ++ ++ green { ++ function = LED_FUNCTION_INDICATOR; ++ color = <LED_COLOR_ID_GREEN>; ++ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */ ++ }; ++ ++ red { ++ function = LED_FUNCTION_INDICATOR; ++ color = <LED_COLOR_ID_RED>; ++ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */ ++ }; ++ }; ++ ++ speaker_amp: audio-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */ ++ sound-name-prefix = "Speaker Amp"; ++ }; ++ ++ vibrator { ++ compatible = "gpio-vibrator"; ++ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ ++ vcc-supply = <®_dcdc1>; ++ }; ++}; ++ ++&codec { ++ status = "okay"; ++}; ++ ++&codec_analog { ++ cpvdd-supply = <®_eldo1>; ++ status = "okay"; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu1 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu2 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu3 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&dai { ++ status = "okay"; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci1 { ++ status = "okay"; ++}; ++ ++&i2c1 { ++ status = "okay"; ++ ++ /* Magnetometer */ ++ lis3mdl@1e { ++ compatible = "st,lis3mdl-magn"; ++ reg = <0x1e>; ++ vdd-supply = <®_dldo1>; ++ vddio-supply = <®_dldo1>; ++ }; ++ ++ /* Accelerometer/gyroscope */ ++ mpu6050@68 { ++ compatible = "invensense,mpu6050"; ++ reg = <0x68>; ++ interrupt-parent = <&pio>; ++ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ ++ vdd-supply = <®_dldo1>; ++ vddio-supply = <®_dldo1>; ++ }; ++}; ++ ++/* Connected to pogo pins (external spring based pinheader for user addons) */ ++&i2c2 { ++ status = "okay"; ++}; ++ ++&lradc { ++ vref-supply = <®_aldo3>; ++ status = "okay"; ++ ++ button-200 { ++ label = "Volume Up"; ++ linux,code = <KEY_VOLUMEUP>; ++ channel = <0>; ++ voltage = <200000>; ++ }; ++ ++ button-400 { ++ label = "Volume Down"; ++ linux,code = <KEY_VOLUMEDOWN>; ++ channel = <0>; ++ voltage = <400000>; ++ }; ++}; ++ ++&mmc0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ vmmc-supply = <®_dcdc1>; ++ vqmmc-supply = <®_dcdc1>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ ++ disable-wp; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ ++&mmc2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc2_pins>; ++ vmmc-supply = <®_dcdc1>; ++ vqmmc-supply = <®_dcdc1>; ++ bus-width = <8>; ++ non-removable; ++ cap-mmc-hw-reset; ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&ohci1 { ++ status = "okay"; ++}; ++ ++&pio { ++ vcc-pb-supply = <®_dcdc1>; ++ vcc-pc-supply = <®_dcdc1>; ++ vcc-pd-supply = <®_dcdc1>; ++ vcc-pe-supply = <®_aldo1>; ++ vcc-pf-supply = <®_dcdc1>; ++ vcc-pg-supply = <®_dldo4>; ++ vcc-ph-supply = <®_dcdc1>; ++}; ++ ++&r_pio { ++ /* ++ * FIXME: We can't add that supply for now since it would ++ * create a circular dependency between pinctrl, the regulator ++ * and the RSB Bus. ++ * ++ * vcc-pl-supply = <®_aldo2>; ++ */ ++}; ++ ++&r_rsb { ++ status = "okay"; ++ ++ axp803: pmic@3a3 { ++ compatible = "x-powers,axp803"; ++ reg = <0x3a3>; ++ interrupt-parent = <&r_intc>; ++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; ++ }; ++}; ++ ++#include "axp803.dtsi" ++ ++&ac_power_supply { ++ status = "okay"; ++}; ++ ++&battery_power_supply { ++ status = "okay"; ++}; ++ ++®_aldo1 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "dovdd-csi"; ++}; ++ ++®_aldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-pl"; ++}; ++ ++®_aldo3 { ++ regulator-always-on; ++ regulator-min-microvolt = <2700000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pll-avcc"; ++}; ++ ++®_dcdc1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3"; ++}; ++ ++®_dcdc2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1000000>; ++ regulator-max-microvolt = <1300000>; ++ regulator-name = "vdd-cpux"; ++}; ++ ++/* DCDC3 is polyphased with DCDC2 */ ++ ++®_dcdc5 { ++ regulator-always-on; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-name = "vcc-dram"; ++}; ++ ++®_dcdc6 { ++ regulator-always-on; ++ regulator-min-microvolt = <1100000>; ++ regulator-max-microvolt = <1100000>; ++ regulator-name = "vdd-sys"; ++}; ++ ++®_dldo1 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-dsi-sensor"; ++}; ++ ++®_dldo2 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-mipi-io"; ++}; ++ ++®_dldo3 { ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ regulator-name = "avdd-csi"; ++}; ++ ++®_dldo4 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-io"; ++}; ++ ++®_eldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-lpddr"; ++}; ++ ++®_eldo3 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "dvdd-1v8-csi"; ++}; ++ ++®_fldo1 { ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-name = "vcc-1v2-hsic"; ++}; ++ ++®_fldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1100000>; ++ regulator-max-microvolt = <1100000>; ++ regulator-name = "vdd-cpus"; ++}; ++ ++®_ldo_io0 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-lcd-ctp-stk"; ++ status = "okay"; ++}; ++ ++®_ldo_io1 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-1v8-typec"; ++ status = "okay"; ++}; ++ ++®_rtc_ldo { ++ regulator-name = "vcc-rtc"; ++}; ++ ++&sound { ++ status = "okay"; ++ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; ++ simple-audio-card,widgets = "Microphone", "Headset Microphone", ++ "Microphone", "Internal Microphone", ++ "Headphone", "Headphone Jack", ++ "Speaker", "Internal Earpiece", ++ "Speaker", "Internal Speaker"; ++ simple-audio-card,routing = ++ "Headphone Jack", "HP", ++ "Internal Earpiece", "EARPIECE", ++ "Internal Speaker", "Speaker Amp OUTL", ++ "Internal Speaker", "Speaker Amp OUTR", ++ "Speaker Amp INL", "LINEOUT", ++ "Speaker Amp INR", "LINEOUT", ++ "Left DAC", "AIF1 Slot 0 Left", ++ "Right DAC", "AIF1 Slot 0 Right", ++ "AIF1 Slot 0 Left ADC", "Left ADC", ++ "AIF1 Slot 0 Right ADC", "Right ADC", ++ "Internal Microphone", "MBIAS", ++ "MIC1", "Internal Microphone", ++ "Headset Microphone", "HBIAS", ++ "MIC2", "Headset Microphone"; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pb_pins>; ++ status = "okay"; ++}; ++ ++/* Connected to the modem (hardware flow control can't be used) */ ++&uart3 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart3_pins>; ++ status = "okay"; ++}; ++ ++&usb_otg { ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; ++ ++&usb_power_supply { ++ status = "okay"; ++}; ++ ++&usbphy { ++ status = "okay"; ++}; +-- +2.24.1 + diff --git a/arm64-pine64-pinetab.patch b/arm64-pine64-pinetab.patch new file mode 100644 index 000000000..cafbc71bd --- /dev/null +++ b/arm64-pine64-pinetab.patch @@ -0,0 +1,583 @@ +From e15d9c7cb74033f668c19a65abfd77ed7331f91e Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +Date: Thu, 16 Jan 2020 11:36:35 +0800 +Subject: [PATCH 1/2] dt-bindings: arm: sunxi: add binding for PineTab tablet + +Add the device tree binding for Pine64's PineTab tablet, which uses +Allwinner A64 SoC. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +Reviewed-by: Rob Herring <robh@kernel.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml +index 327ce6730823..159060b65c5d 100644 +--- a/Documentation/devicetree/bindings/arm/sunxi.yaml ++++ b/Documentation/devicetree/bindings/arm/sunxi.yaml +@@ -636,6 +636,11 @@ properties: + - const: pine64,pinebook + - const: allwinner,sun50i-a64 + ++ - description: Pine64 PineTab ++ items: ++ - const: pine64,pinetab ++ - const: allwinner,sun50i-a64 ++ + - description: Pine64 SoPine Baseboard + items: + - const: pine64,sopine-baseboard +-- +2.24.1 + +From d7b56d337bb980f0b996958ec6808253c4f50771 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +Date: Thu, 16 Jan 2020 11:36:36 +0800 +Subject: [PATCH 2/2] arm64: dts: allwinner: a64: add support for PineTab + +PineTab is a 10.1" tablet by Pine64 with Allwinner A64 inside. + +It includes the following peripherals: + +USB: +- A microUSB Type-B port connected to the OTG-capable USB PHY of +Allwinner A64. The ID pin is connected to a GPIO of the A64 SoC, and the +Vbus is connected to the Vbus of AXP803 PMIC. These enables OTG +functionality on this port. +- A USB Type-A port is connected to the internal hub attached to the +non-OTG USB PHY of Allwinner A64. +- There are reserved pins for an external keyboard connected to the +internal hub. + +Power: +- The microUSB port has its Vbus connected to AXP803, mentioned above. +- A DC jack (of a strange size, 2.5mm outer diameter) is connected to +the ACIN of AXP803. +- A Li-Polymer battery is connected to the battery pins of AXP803. + +Storage: +- An tradition Pine64 eMMC slot is on the board, mounted with an eMMC +module by factory. +- An external microSD slot is hidden under a protect case. + +Display: +- A MIPI-DSI LCD panel (800x1280) is connected to the DSI port of A64 SoC. +- A mini HDMI port. + +Input: +- A touch panel attached to a Goodix GT9271 touch controller. +- Volume keys connected to the LRADC of the A64 SoC. + +Camera: +- An OV5640 CMOS camera is at rear, connected to the CSI bus of A64 SoC. +- A GC2145 CMOS camera is at front, shares the same CSI bus with OV5640. + +Audio: +- A headphone jack is conencted to the SoC's internal codec. +- A speaker connected is to the Line Out port of SoC's internal codec, via +an amplifier. + +Misc: +- Debug UART is muxed with the headphone jack, with the switch next to +the microSD slot. +- A bosch BMA223 accelerometer is connected to the I2C bus of A64 SoC. +- Wi-Fi and Bluetooth are available via a RTL8723CS chip, similar to the +one in Pinebook. + +This commit adds a basically usable device tree for it, implementing +most of the features mentioned above. HDMI is not supported now because +bad LCD-HDMI coexistence situation of mainline A64 display driver, the +front camera currently lacks a driver and a facility to share the bus +with the rear one, and the accelerometer currently lacks a DT binding. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/Makefile | 1 + + .../boot/dts/allwinner/sun50i-a64-pinetab.dts | 460 ++++++++++++++++++ + 2 files changed, 461 insertions(+) + create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts + +diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile +index cf4f78617c3f..6dad63881cd3 100644 +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts +new file mode 100644 +index 000000000000..316e8a443913 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts +@@ -0,0 +1,460 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz> ++ * ++ */ ++ ++/dts-v1/; ++ ++#include "sun50i-a64.dtsi" ++#include "sun50i-a64-cpu-opp.dtsi" ++ ++#include <dt-bindings/gpio/gpio.h> ++#include <dt-bindings/input/input.h> ++#include <dt-bindings/pwm/pwm.h> ++ ++/ { ++ model = "PineTab"; ++ compatible = "pine64,pinetab", "allwinner,sun50i-a64"; ++ ++ aliases { ++ serial0 = &uart0; ++ ethernet0 = &rtl8723cs; ++ }; ++ ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; ++ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; ++ default-brightness-level = <15>; ++ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ ++ power-supply = <&vdd_bl>; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ i2c-csi { ++ compatible = "i2c-gpio"; ++ sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */ ++ scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */ ++ i2c-gpio,delay-us = <5>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ /* Rear camera */ ++ ov5640: camera@3c { ++ compatible = "ovti,ov5640"; ++ reg = <0x3c>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&csi_mclk_pin>; ++ clocks = <&ccu CLK_CSI_MCLK>; ++ clock-names = "xclk"; ++ ++ AVDD-supply = <®_dldo3>; ++ DOVDD-supply = <®_aldo1>; ++ DVDD-supply = <®_eldo3>; ++ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */ ++ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */ ++ ++ port { ++ ov5640_ep: endpoint { ++ remote-endpoint = <&csi_ep>; ++ bus-width = <8>; ++ hsync-active = <1>; /* Active high */ ++ vsync-active = <0>; /* Active low */ ++ data-active = <1>; /* Active high */ ++ pclk-sample = <1>; /* Rising */ ++ }; ++ }; ++ }; ++ }; ++ ++ speaker_amp: audio-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ ++ sound-name-prefix = "Speaker Amp"; ++ }; ++ ++ vdd_bl: regulator@0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "bl-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ ++ enable-active-high; ++ }; ++ ++ wifi_pwrseq: wifi_pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ ++ post-power-on-delay-ms = <200>; ++ }; ++}; ++ ++&codec { ++ status = "okay"; ++}; ++ ++&codec_analog { ++ hpvcc-supply = <®_eldo1>; ++ status = "okay"; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu1 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu2 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&cpu3 { ++ cpu-supply = <®_dcdc2>; ++}; ++ ++&csi { ++ status = "okay"; ++ ++ port { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ csi_ep: endpoint { ++ remote-endpoint = <&ov5640_ep>; ++ bus-width = <8>; ++ hsync-active = <1>; /* Active high */ ++ vsync-active = <0>; /* Active low */ ++ data-active = <1>; /* Active high */ ++ pclk-sample = <1>; /* Rising */ ++ }; ++ }; ++}; ++ ++&dai { ++ status = "okay"; ++}; ++ ++&de { ++ status = "okay"; ++}; ++ ++&dphy { ++ status = "okay"; ++}; ++ ++&dsi { ++ vcc-dsi-supply = <®_dldo1>; ++ status = "okay"; ++ ++ panel@0 { ++ compatible = "feixin,k101-im2ba02"; ++ reg = <0>; ++ avdd-supply = <®_dc1sw>; ++ dvdd-supply = <®_dc1sw>; ++ cvdd-supply = <®_ldo_io1>; ++ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ ++ backlight = <&backlight>; ++ }; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci1 { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ status = "okay"; ++ ++ touchscreen@5d { ++ compatible = "goodix,gt9271"; ++ reg = <0x5d>; ++ interrupt-parent = <&pio>; ++ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */ ++ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ ++ reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */ ++ AVDD28-supply = <®_ldo_io1>; ++ }; ++}; ++ ++&i2c0_pins { ++ bias-pull-up; ++}; ++ ++&i2c1 { ++ status = "okay"; ++ ++ /* TODO: add Bochs BMA223 accelerometer here */ ++}; ++ ++&lradc { ++ vref-supply = <®_aldo3>; ++ status = "okay"; ++ ++ button-200 { ++ label = "Volume Up"; ++ linux,code = <KEY_VOLUMEUP>; ++ channel = <0>; ++ voltage = <200000>; ++ }; ++ ++ button-400 { ++ label = "Volume Down"; ++ linux,code = <KEY_VOLUMEDOWN>; ++ channel = <0>; ++ voltage = <400000>; ++ }; ++}; ++ ++&mixer1 { ++ status = "okay"; ++}; ++ ++&mmc0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ vmmc-supply = <®_dcdc1>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ ++&mmc1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc1_pins>; ++ vmmc-supply = <®_dldo4>; ++ vqmmc-supply = <®_eldo1>; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ bus-width = <4>; ++ non-removable; ++ status = "okay"; ++ ++ rtl8723cs: wifi@1 { ++ reg = <1>; ++ }; ++}; ++ ++&mmc2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc2_pins>; ++ vmmc-supply = <®_dcdc1>; ++ vqmmc-supply = <®_dcdc1>; ++ bus-width = <8>; ++ non-removable; ++ cap-mmc-hw-reset; ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&pwm { ++ status = "okay"; ++}; ++ ++&r_rsb { ++ status = "okay"; ++ ++ axp803: pmic@3a3 { ++ compatible = "x-powers,axp803"; ++ reg = <0x3a3>; ++ interrupt-parent = <&r_intc>; ++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; ++ x-powers,drive-vbus-en; ++ }; ++}; ++ ++#include "axp803.dtsi" ++ ++&ac_power_supply { ++ status = "okay"; ++}; ++ ++&battery_power_supply { ++ status = "okay"; ++}; ++ ++®_aldo1 { ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ regulator-name = "dovdd-csi"; ++}; ++ ++®_aldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pl"; ++}; ++ ++®_aldo3 { ++ regulator-always-on; ++ regulator-min-microvolt = <2700000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pll-avcc"; ++}; ++ ++®_dc1sw { ++ regulator-name = "vcc-lcd"; ++}; ++ ++®_dcdc1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3"; ++}; ++ ++®_dcdc2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1000000>; ++ regulator-max-microvolt = <1300000>; ++ regulator-name = "vdd-cpux"; ++}; ++ ++/* DCDC3 is polyphased with DCDC2 */ ++ ++®_dcdc5 { ++ regulator-always-on; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-name = "vcc-dram"; ++}; ++ ++®_dcdc6 { ++ regulator-always-on; ++ regulator-min-microvolt = <1100000>; ++ regulator-max-microvolt = <1100000>; ++ regulator-name = "vdd-sys"; ++}; ++ ++®_dldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-hdmi-dsi-sensor"; ++}; ++ ++®_dldo3 { ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ regulator-name = "avdd-csi"; ++}; ++ ++®_dldo4 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi"; ++}; ++ ++®_drivevbus { ++ regulator-name = "usb0-vbus"; ++ status = "okay"; ++}; ++ ++®_eldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "cpvdd"; ++}; ++ ++®_eldo2 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcca-1v8"; ++}; ++ ++®_eldo3 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "dvdd-1v8-csi"; ++}; ++ ++®_fldo1 { ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-name = "vcc-1v2-hsic"; ++}; ++ ++®_fldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1100000>; ++ regulator-max-microvolt = <1100000>; ++ regulator-name = "vdd-cpus"; ++}; ++ ++®_ldo_io0 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-usb"; ++ status = "okay"; ++}; ++ ++®_ldo_io1 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-enable-ramp-delay = <3500000>; ++ regulator-name = "vcc-touchscreen"; ++ status = "okay"; ++}; ++ ++®_rtc_ldo { ++ regulator-name = "vcc-rtc"; ++}; ++ ++&sound { ++ status = "okay"; ++ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; ++ simple-audio-card,widgets = "Microphone", "Internal Microphone Left", ++ "Microphone", "Internal Microphone Right", ++ "Headphone", "Headphone Jack", ++ "Speaker", "Internal Speaker"; ++ simple-audio-card,routing = ++ "Left DAC", "AIF1 Slot 0 Left", ++ "Right DAC", "AIF1 Slot 0 Right", ++ "Speaker Amp INL", "LINEOUT", ++ "Speaker Amp INR", "LINEOUT", ++ "Internal Speaker", "Speaker Amp OUTL", ++ "Internal Speaker", "Speaker Amp OUTR", ++ "Headphone Jack", "HP", ++ "AIF1 Slot 0 Left ADC", "Left ADC", ++ "AIF1 Slot 0 Right ADC", "Right ADC", ++ "Internal Microphone Left", "MBIAS", ++ "MIC1", "Internal Microphone Left", ++ "Internal Microphone Right", "HBIAS", ++ "MIC2", "Internal Microphone Right"; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pb_pins>; ++ status = "okay"; ++}; ++ ++&usb_otg { ++ dr_mode = "otg"; ++ status = "okay"; ++}; ++ ++&usb_power_supply { ++ status = "okay"; ++}; ++ ++&usbphy { ++ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */ ++ usb0_vbus_power-supply = <&usb_power_supply>; ++ usb0_vbus-supply = <®_drivevbus>; ++ usb1_vbus-supply = <®_ldo_io0>; ++ status = "okay"; ++}; +-- +2.24.1 + diff --git a/arm64-pinebook-fixes.patch b/arm64-pinebook-fixes.patch new file mode 100644 index 000000000..410487293 --- /dev/null +++ b/arm64-pinebook-fixes.patch @@ -0,0 +1,429 @@ +From e7a6e6b0c6506a9f070dbfb2ca948770c47a1d78 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:30:57 -0600 +Subject: [PATCH 1/8] arm64: dts: allwinner: pinebook: Remove unused vcc3v3 + regulator + +This fixed regulator has no consumers, GPIOs, or other connections. +Remove it. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index 3d894b208901..ff32ca1a495e 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -63,13 +63,6 @@ lid_switch { + }; + }; + +- reg_vcc3v3: vcc3v3 { +- compatible = "regulator-fixed"; +- regulator-name = "vcc3v3"; +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- }; +- + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ +-- +2.24.1 + +From 5eea216437eeff908d6d2942bf893fb77ebfc111 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:30:59 -0600 +Subject: [PATCH 2/8] arm64: dts: allwinner: pinebook: Sort device tree nodes + +The r_i2c node should come before r_rsb, and in any case should not +separate the axp803 node from its subnodes. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index ff32ca1a495e..77784f7b1da7 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -172,6 +172,14 @@ &pwm { + status = "okay"; + }; + ++/* The ANX6345 eDP-bridge is on r_i2c */ ++&r_i2c { ++ clock-frequency = <100000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&r_i2c_pl89_pins>; ++ status = "okay"; ++}; ++ + &r_rsb { + status = "okay"; + +@@ -183,14 +191,6 @@ axp803: pmic@3a3 { + }; + }; + +-/* The ANX6345 eDP-bridge is on r_i2c */ +-&r_i2c { +- clock-frequency = <100000>; +- pinctrl-names = "default"; +- pinctrl-0 = <&r_i2c_pl89_pins>; +- status = "okay"; +-}; +- + #include "axp803.dtsi" + + &ac_power_supply { +-- +2.24.1 + +From 4bdf53ffc64e5c6738c942dcdc422d5ca8a2070a Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:31:00 -0600 +Subject: [PATCH 3/8] arm64: dts: allwinner: pinebook: Make simplefb more + consistent + +Boards generally reference the simplefb nodes from the SoC dtsi by +label, not by full path. simplefb_hdmi is already like this in the +Pinebook DTS. Update simplefb_lcd to match. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index 77784f7b1da7..224bed65d008 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -41,12 +41,6 @@ backlight: backlight { + + chosen { + stdout-path = "serial0:115200n8"; +- +- framebuffer-lcd { +- panel-supply = <®_dc1sw>; +- dvdd25-supply = <®_dldo2>; +- dvdd12-supply = <®_fldo1>; +- }; + }; + + gpio_keys { +@@ -316,6 +310,12 @@ ®_rtc_ldo { + regulator-name = "vcc-rtc"; + }; + ++&simplefb_lcd { ++ panel-supply = <®_dc1sw>; ++ dvdd25-supply = <®_dldo2>; ++ dvdd12-supply = <®_fldo1>; ++}; ++ + &simplefb_hdmi { + vcc-hdmi-supply = <®_dldo1>; + }; +-- +2.24.1 + +From c0f416de7141bbc713f080ad123b256f6320ec92 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:31:01 -0600 +Subject: [PATCH 4/8] arm64: dts: allwinner: pinebook: Document MMC0 CD pin + name + +Normally GPIO pin references are followed by a comment giving the pin +name for searchability. Add the comment here where it was missing. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index 224bed65d008..a1e15777d524 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -119,7 +119,7 @@ &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; + vmmc-supply = <®_dcdc1>; +- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + disable-wp; + bus-width = <4>; + status = "okay"; +-- +2.24.1 + +From 8818d55ec31fa6e0dc14fb7a4924b3e8d3ecef7d Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:31:02 -0600 +Subject: [PATCH 5/8] arm64: dts: allwinner: pinebook: Add GPIO port regulators + +Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. + +VCC-PC and VCC-PG are supplied by ELDO1 at 1.8v. +VCC-PD is supplied by DCDC1 (VCC-IO) at 3.3v. +VCC-PE is supplied by ALDO1, and is unused. + +VCC-PL creates a circular dependency, so it is omitted for now. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index a1e15777d524..1ec39120323f 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -162,6 +162,13 @@ &ohci1 { + status = "okay"; + }; + ++&pio { ++ vcc-pc-supply = <®_eldo1>; ++ vcc-pd-supply = <®_dcdc1>; ++ vcc-pe-supply = <®_aldo1>; ++ vcc-pg-supply = <®_eldo1>; ++}; ++ + &pwm { + status = "okay"; + }; +@@ -174,6 +181,16 @@ &r_i2c { + status = "okay"; + }; + ++&r_pio { ++ /* ++ * FIXME: We can't add that supply for now since it would ++ * create a circular dependency between pinctrl, the regulator ++ * and the RSB Bus. ++ * ++ * vcc-pl-supply = <®_aldo2>; ++ */ ++}; ++ + &r_rsb { + status = "okay"; + +-- +2.24.1 + +From bd863f25d41173e140850772f9a02ffb3b3e0d6b Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:31:03 -0600 +Subject: [PATCH 6/8] arm64: dts: allwinner: pinebook: Fix backlight regulator + +The output from the backlight regulator is labeled as "VBKLT" in the +schematic. Using the equation and resistor values from the schematic, +the output is approximately 18V, not 3.3V. Since the regulator in use +(SS6640STR) is a boost regulator powered by PS (battery or AC input), +which are both >3.3V, the output could not be 3.3V anyway. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../dts/allwinner/sun50i-a64-pinebook.dts | 20 +++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index 1ec39120323f..313f4e6edc19 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -21,22 +21,13 @@ aliases { + ethernet0 = &rtl8723cs; + }; + +- vdd_bl: regulator@0 { +- compatible = "regulator-fixed"; +- regulator-name = "bl-3v3"; +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ +- enable-active-high; +- }; +- + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pwm 0 50000 0>; + brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>; + default-brightness-level = <2>; + enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ +- power-supply = <&vdd_bl>; ++ power-supply = <®_vbklt>; + }; + + chosen { +@@ -57,6 +48,15 @@ lid_switch { + }; + }; + ++ reg_vbklt: vbklt { ++ compatible = "regulator-fixed"; ++ regulator-name = "vbklt"; ++ regulator-min-microvolt = <18000000>; ++ regulator-max-microvolt = <18000000>; ++ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ ++ enable-active-high; ++ }; ++ + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ +-- +2.24.1 + +From 425472eb612873c9c64b41df70020de58448bef3 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:31:04 -0600 +Subject: [PATCH 7/8] arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator + +Now that AXP803 GPIO support is available, we can properly model +the hardware. Replace the use of GPIO0-LDO with a fixed regulator +controlled by GPIO0. This boost regulator is used to power the +(internal and external) USB ports, as well as the speakers. + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../dts/allwinner/sun50i-a64-pinebook.dts | 27 +++++++++---------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index 313f4e6edc19..c06c540e6c08 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -57,6 +57,15 @@ reg_vbklt: vbklt { + enable-active-high; + }; + ++ reg_vcc5v0: vcc5v0 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v0"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ +@@ -64,12 +73,7 @@ wifi_pwrseq: wifi_pwrseq { + + speaker_amp: audio-amplifier { + compatible = "simple-audio-amplifier"; +- /* +- * TODO This is actually a fixed regulator controlled by +- * the GPIO line on the PMIC. This should be corrected +- * once GPIO support is added for this PMIC. +- */ +- VCC-supply = <®_ldo_io0>; ++ VCC-supply = <®_vcc5v0>; + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ + sound-name-prefix = "Speaker Amp"; + }; +@@ -316,13 +320,6 @@ ®_fldo2 { + regulator-name = "vdd-cpus"; + }; + +-®_ldo_io0 { +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- regulator-name = "vcc-usb"; +- status = "okay"; +-}; +- + ®_rtc_ldo { + regulator-name = "vcc-rtc"; + }; +@@ -371,7 +368,7 @@ &usb_otg { + }; + + &usbphy { +- usb0_vbus-supply = <®_ldo_io0>; +- usb1_vbus-supply = <®_ldo_io0>; ++ usb0_vbus-supply = <®_vcc5v0>; ++ usb1_vbus-supply = <®_vcc5v0>; + status = "okay"; + }; +-- +2.24.1 + +From c3aea4ea2117f5dc28da3d4175fc93296653ecd5 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 19 Jan 2020 10:30:58 -0600 +Subject: [PATCH 8/8] arm64: dts: allwinner: pinebook: Remove unused AXP803 + regulators + +The Pinebook does not use the CSI bus on the A64. In fact it does not +use GPIO port E for anything at all. Thus the following regulators are +not used and do not need voltages set: + + - ALDO1: Connected to VCC-PE only + - DLDO3: Not connected + - ELDO3: Not connected + +Signed-off-by: Samuel Holland <samuel@sholland.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +index c06c540e6c08..12e513ba8f50 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +@@ -217,9 +217,7 @@ &battery_power_supply { + }; + + ®_aldo1 { +- regulator-min-microvolt = <2800000>; +- regulator-max-microvolt = <2800000>; +- regulator-name = "vcc-csi"; ++ regulator-name = "vcc-pe"; + }; + + ®_aldo2 { +@@ -282,12 +280,6 @@ ®_dldo2 { + regulator-name = "vcc-edp"; + }; + +-®_dldo3 { +- regulator-min-microvolt = <3300000>; +- regulator-max-microvolt = <3300000>; +- regulator-name = "avdd-csi"; +-}; +- + ®_dldo4 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; +@@ -301,12 +293,6 @@ ®_eldo1 { + regulator-name = "cpvdd"; + }; + +-®_eldo3 { +- regulator-min-microvolt = <1800000>; +- regulator-max-microvolt = <1800000>; +- regulator-name = "vdd-1v8-csi"; +-}; +- + ®_fldo1 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; +-- +2.24.1 + diff --git a/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch b/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch new file mode 100644 index 000000000..8f9dd4473 --- /dev/null +++ b/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch @@ -0,0 +1,396 @@ +From patchwork Wed Jan 29 13:28:17 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1230891 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=lgr6vu5h; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48747F4JPmz9sPW + for <incoming@patchwork.ozlabs.org>; + Thu, 30 Jan 2020 00:28:25 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1726178AbgA2N2Y (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Wed, 29 Jan 2020 08:28:24 -0500 +Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:3674 "EHLO + hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1726069AbgA2N2Y (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Wed, 29 Jan 2020 08:28:24 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e3188630000>; Wed, 29 Jan 2020 05:28:03 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Wed, 29 Jan 2020 05:28:23 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Wed, 29 Jan 2020 05:28:23 -0800 +Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com + (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Wed, 29 Jan 2020 13:28:22 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com + (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Wed, 29 Jan 2020 13:28:22 +0000 +Received: from localhost.localdomain (Not Verified[10.21.133.51]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e3188740004>; Wed, 29 Jan 2020 05:28:21 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, + Jiri Slaby <jslaby@suse.com>, Thierry Reding <thierry.reding@gmail.com> +CC: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>, + <linux-tegra@vger.kernel.org>, Jeff Brasen <jbrasen@nvidia.com>, + Jon Hunter <jonathanh@nvidia.com> +Subject: [PATCH V3] serial: 8250_tegra: Create Tegra specific 8250 driver +Date: Wed, 29 Jan 2020 13:28:17 +0000 +Message-ID: <20200129132817.26343-1-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1580304483; bh=HoJs+kXsFZvSMy4ts1p9lRICvn55qhYk7d+0r26WND4=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + X-NVConfidentiality:MIME-Version:Content-Type; + b=lgr6vu5h+VXLi0/YMPdPOZmrFcPymQL2RMQS/Y94oEs9qjQBfvOy9RYiQ5bsghpNO + 9U3OavbzFTAgW3KVZK8/mx1JJMjbFph68zpRKJEwBkblJHozmOkNlYLdz/cMpg5F3z + XIdzGIouM94Y4Hf/z/PboeRmHIBT/2El0aEgzPdP9pt7VwjIlXvaaQs07AQ8RQFHaL + NV3bpUNN5YnloRF8XZ4upFOBRw06fcNAkTS9bwSFXWyFX19F+pUyKwKLaMIsmytQ8Q + 1tMqHbNUdh2yi1PLb34dnWezFZmhfrhFsKrmWnbZA/QAcB+HuvRmUMtZmIE+K4sa1B + dhsJcFUWXmJbQ== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +From: Jeff Brasen <jbrasen@nvidia.com> + +To support booting NVIDIA Tegra platforms with either Device-Tree or +ACPI, create a Tegra specific 8250 serial driver that supports both +firmware types. Another benefit from doing this, is that the Tegra +specific codec in the generic Open Firmware 8250 driver can now be +removed. + +Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + +Changes since V2: +- Added missing header for devm_ioremap (reported by kbuild test robot) +Changes since V1: +- Added support for COMPILE_TEST + + drivers/tty/serial/8250/8250_of.c | 28 ---- + drivers/tty/serial/8250/8250_tegra.c | 198 +++++++++++++++++++++++++++ + drivers/tty/serial/8250/Kconfig | 9 ++ + drivers/tty/serial/8250/Makefile | 1 + + 4 files changed, 208 insertions(+), 28 deletions(-) + create mode 100644 drivers/tty/serial/8250/8250_tegra.c + +diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c +index 531ad67395e0..5e45cf8dbc6e 100644 +--- a/drivers/tty/serial/8250/8250_of.c ++++ b/drivers/tty/serial/8250/8250_of.c +@@ -7,7 +7,6 @@ + #include <linux/console.h> + #include <linux/module.h> + #include <linux/slab.h> +-#include <linux/delay.h> + #include <linux/serial_core.h> + #include <linux/serial_reg.h> + #include <linux/of_address.h> +@@ -26,28 +25,6 @@ struct of_serial_info { + int line; + }; + +-#ifdef CONFIG_ARCH_TEGRA +-static void tegra_serial_handle_break(struct uart_port *p) +-{ +- unsigned int status, tmout = 10000; +- +- do { +- status = p->serial_in(p, UART_LSR); +- if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS)) +- status = p->serial_in(p, UART_RX); +- else +- break; +- if (--tmout == 0) +- break; +- udelay(1); +- } while (1); +-} +-#else +-static inline void tegra_serial_handle_break(struct uart_port *port) +-{ +-} +-#endif +- + static int of_8250_rs485_config(struct uart_port *port, + struct serial_rs485 *rs485) + { +@@ -211,10 +188,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev, + port->rs485_config = of_8250_rs485_config; + + switch (type) { +- case PORT_TEGRA: +- port->handle_break = tegra_serial_handle_break; +- break; +- + case PORT_RT2880: + port->iotype = UPIO_AU; + break; +@@ -359,7 +332,6 @@ static const struct of_device_id of_platform_serial_table[] = { + { .compatible = "ns16550", .data = (void *)PORT_16550, }, + { .compatible = "ns16750", .data = (void *)PORT_16750, }, + { .compatible = "ns16850", .data = (void *)PORT_16850, }, +- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, }, + { .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, }, + { .compatible = "ralink,rt2880-uart", .data = (void *)PORT_RT2880, }, + { .compatible = "intel,xscale-uart", .data = (void *)PORT_XSCALE, }, +diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c +new file mode 100644 +index 000000000000..c0ffad1572c6 +--- /dev/null ++++ b/drivers/tty/serial/8250/8250_tegra.c +@@ -0,0 +1,198 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Serial Port driver for Tegra devices ++ * ++ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. ++ */ ++ ++#include <linux/acpi.h> ++#include <linux/clk.h> ++#include <linux/console.h> ++#include <linux/delay.h> ++#include <linux/io.h> ++#include <linux/module.h> ++#include <linux/reset.h> ++#include <linux/slab.h> ++ ++#include "8250.h" ++ ++struct tegra_uart { ++ struct clk *clk; ++ struct reset_control *rst; ++ int line; ++}; ++ ++static void tegra_uart_handle_break(struct uart_port *p) ++{ ++ unsigned int status, tmout = 10000; ++ ++ do { ++ status = p->serial_in(p, UART_LSR); ++ if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS)) ++ status = p->serial_in(p, UART_RX); ++ else ++ break; ++ if (--tmout == 0) ++ break; ++ udelay(1); ++ } while (1); ++} ++ ++static int tegra_uart_probe(struct platform_device *pdev) ++{ ++ struct uart_8250_port port8250; ++ struct tegra_uart *uart; ++ struct uart_port *port; ++ struct resource *res; ++ int ret; ++ ++ uart = devm_kzalloc(&pdev->dev, sizeof(*uart), GFP_KERNEL); ++ if (!uart) ++ return -ENOMEM; ++ ++ memset(&port8250, 0, sizeof(port8250)); ++ ++ port = &port8250.port; ++ spin_lock_init(&port->lock); ++ ++ port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT | ++ UPF_FIXED_TYPE; ++ port->iotype = UPIO_MEM32; ++ port->regshift = 2; ++ port->type = PORT_TEGRA; ++ port->irqflags |= IRQF_SHARED; ++ port->dev = &pdev->dev; ++ port->handle_break = tegra_uart_handle_break; ++ ++ ret = of_alias_get_id(pdev->dev.of_node, "serial"); ++ if (ret >= 0) ++ port->line = ret; ++ ++ ret = platform_get_irq(pdev, 0); ++ if (ret < 0) ++ return ret; ++ ++ port->irq = ret; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!res) ++ return -ENODEV; ++ ++ port->membase = devm_ioremap(&pdev->dev, res->start, ++ resource_size(res)); ++ if (!port->membase) ++ return -ENOMEM; ++ ++ port->mapbase = res->start; ++ port->mapsize = resource_size(res); ++ ++ uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL); ++ if (IS_ERR(uart->rst)) ++ return PTR_ERR(uart->rst); ++ ++ if (device_property_read_u32(&pdev->dev, "clock-frequency", ++ &port->uartclk)) { ++ uart->clk = devm_clk_get(&pdev->dev, NULL); ++ if (IS_ERR(uart->clk)) { ++ dev_err(&pdev->dev, "failed to get clock!\n"); ++ return -ENODEV; ++ } ++ ++ ret = clk_prepare_enable(uart->clk); ++ if (ret < 0) ++ return ret; ++ ++ port->uartclk = clk_get_rate(uart->clk); ++ } ++ ++ ret = reset_control_deassert(uart->rst); ++ if (ret) ++ goto err_clkdisable; ++ ++ ret = serial8250_register_8250_port(&port8250); ++ if (ret < 0) ++ goto err_clkdisable; ++ ++ platform_set_drvdata(pdev, uart); ++ uart->line = ret; ++ ++ return 0; ++ ++err_clkdisable: ++ clk_disable_unprepare(uart->clk); ++ ++ return ret; ++} ++ ++static int tegra_uart_remove(struct platform_device *pdev) ++{ ++ struct tegra_uart *uart = platform_get_drvdata(pdev); ++ ++ serial8250_unregister_port(uart->line); ++ reset_control_assert(uart->rst); ++ clk_disable_unprepare(uart->clk); ++ ++ return 0; ++} ++ ++#ifdef CONFIG_PM_SLEEP ++static int tegra_uart_suspend(struct device *dev) ++{ ++ struct tegra_uart *uart = dev_get_drvdata(dev); ++ struct uart_8250_port *port8250 = serial8250_get_port(uart->line); ++ struct uart_port *port = &port8250->port; ++ ++ serial8250_suspend_port(uart->line); ++ ++ if (!uart_console(port) || console_suspend_enabled) ++ clk_disable_unprepare(uart->clk); ++ ++ return 0; ++} ++ ++static int tegra_uart_resume(struct device *dev) ++{ ++ struct tegra_uart *uart = dev_get_drvdata(dev); ++ struct uart_8250_port *port8250 = serial8250_get_port(uart->line); ++ struct uart_port *port = &port8250->port; ++ ++ if (!uart_console(port) || console_suspend_enabled) ++ clk_prepare_enable(uart->clk); ++ ++ serial8250_resume_port(uart->line); ++ ++ return 0; ++} ++#endif ++ ++static SIMPLE_DEV_PM_OPS(tegra_uart_pm_ops, tegra_uart_suspend, ++ tegra_uart_resume); ++ ++static const struct of_device_id tegra_uart_of_match[] = { ++ { .compatible = "nvidia,tegra20-uart", }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(of, tegra_uart_of_match); ++ ++static const struct acpi_device_id tegra_uart_acpi_match[] = { ++ { "NVDA0100", 0 }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(acpi, tegra_uart_acpi_match); ++ ++static struct platform_driver tegra_uart_driver = { ++ .driver = { ++ .name = "tegra-uart", ++ .pm = &tegra_uart_pm_ops, ++ .of_match_table = tegra_uart_of_match, ++ .acpi_match_table = ACPI_PTR(tegra_uart_acpi_match), ++ }, ++ .probe = tegra_uart_probe, ++ .remove = tegra_uart_remove, ++}; ++ ++module_platform_driver(tegra_uart_driver); ++ ++MODULE_AUTHOR("Jeff Brasen <jbrasen@nvidia.com>"); ++MODULE_DESCRIPTION("NVIDIA Tegra 8250 Driver"); ++MODULE_LICENSE("GPL v2"); +diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig +index f16824bbb573..af0688156dd0 100644 +--- a/drivers/tty/serial/8250/Kconfig ++++ b/drivers/tty/serial/8250/Kconfig +@@ -500,6 +500,15 @@ config SERIAL_8250_PXA + applicable to both devicetree and legacy boards, and early console is + part of its support. + ++config SERIAL_8250_TEGRA ++ tristate "8250 support for Tegra serial ports" ++ default SERIAL_8250 ++ depends on SERIAL_8250 ++ depends on ARCH_TEGRA || COMPILE_TEST ++ help ++ Select this option if you have machine with an NVIDIA Tegra SoC and ++ wish to enable 8250 serial driver for the Tegra serial interfaces. ++ + config SERIAL_OF_PLATFORM + tristate "Devicetree based probing for 8250 ports" + depends on SERIAL_8250 && OF +diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile +index 51a6079d3f1f..a8bfb654d490 100644 +--- a/drivers/tty/serial/8250/Makefile ++++ b/drivers/tty/serial/8250/Makefile +@@ -37,6 +37,7 @@ obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o + obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o + obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o + obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o ++obj-$(CONFIG_SERIAL_8250_TEGRA) += 8250_tegra.o + obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o + + CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt diff --git a/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch b/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch deleted file mode 100644 index 3628a7e6b..000000000 --- a/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 59780095ba35a49946e726c88caff6f65f3e433a Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Tue, 30 Jul 2019 14:22:36 +0100 -Subject: [PATCH] arm64: tegra: Jetson TX2: Allow bootloader to configure - Ethernet MAC - -Add an ethernet alias so that a stable MAC address is added to the -device tree for the wired ethernet interface. - -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi -index 5e18acf5cfad..947744d0f04c 100644 ---- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi -+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi -@@ -8,6 +8,7 @@ - compatible = "nvidia,p3310", "nvidia,tegra186"; - - aliases { -+ ethernet0 = "/ethernet@2490000"; - sdhci0 = "/sdhci@3460000"; - sdhci1 = "/sdhci@3400000"; - serial0 = &uarta; --- -2.21.0 - diff --git a/arm64-tegra-fix-pcie.patch b/arm64-tegra-fix-pcie.patch new file mode 100644 index 000000000..3e93a913c --- /dev/null +++ b/arm64-tegra-fix-pcie.patch @@ -0,0 +1,101 @@ +From 5fc5158c547fc3a2b46cbc6f73b926d8b78cd6e2 Mon Sep 17 00:00:00 2001 +From: "Signed-off-by: Jon Hunter" <jonathanh@nvidia.com> +Date: Fri, 14 Feb 2020 13:53:53 +0000 +Subject: [PATCH] ARM64: tegra: Fix Tegra194 PCIe compatible string + +If the kernel configuration option CONFIG_PCIE_DW_PLAT_HOST is enabled +then this can cause the kernel to incorrectly probe the generic +designware PCIe platform driver instead of the Tegra194 designware PCIe +driver. This causes a boot failure on Tegra194 because the necessary +configuration to access the hardware is not performed. + +The order in which the compatible strings are populated in Device-Tree +is not relevant in this case, because the kernel will attempt to probe +the device as soon as a driver is loaded and if the generic designware +PCIe driver is loaded first, then this driver will be probed first. +Therefore, to fix this problem, remove the "snps,dw-pcie" string from +the compatible string as we never want this driver to be probe on +Tegra194. + +Fixes: 2602c32f15e7 ("arm64: tegra: Add P2U and PCIe controller nodes to Tegra194 DT") + +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +--- + .../devicetree/bindings/pci/nvidia,tegra194-pcie.txt | 2 +- + arch/arm64/boot/dts/nvidia/tegra194.dtsi | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt b/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt +index b739f92da58e..1f90eb39870b 100644 +--- a/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt ++++ b/Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt +@@ -118,7 +118,7 @@ Tegra194: + -------- + + pcie@14180000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; + reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x38000000 0x0 0x00040000 /* configuration space (256K) */ +diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi +index ccac43be12ac..4c58cb10fb9c 100644 +--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi ++++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi +@@ -1208,7 +1208,7 @@ sor3: sor@15bc0000 { + }; + + pcie@14100000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; + reg = <0x00 0x14100000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x30000000 0x0 0x00040000 /* configuration space (256K) */ +@@ -1253,7 +1253,7 @@ pcie@14100000 { + }; + + pcie@14120000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; + reg = <0x00 0x14120000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x32000000 0x0 0x00040000 /* configuration space (256K) */ +@@ -1298,7 +1298,7 @@ pcie@14120000 { + }; + + pcie@14140000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; + reg = <0x00 0x14140000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x34000000 0x0 0x00040000 /* configuration space (256K) */ +@@ -1343,7 +1343,7 @@ pcie@14140000 { + }; + + pcie@14160000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>; + reg = <0x00 0x14160000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x36000000 0x0 0x00040000 /* configuration space (256K) */ +@@ -1388,7 +1388,7 @@ pcie@14160000 { + }; + + pcie@14180000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; + reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x38000000 0x0 0x00040000 /* configuration space (256K) */ +@@ -1433,7 +1433,7 @@ pcie@14180000 { + }; + + pcie@141a0000 { +- compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; ++ compatible = "nvidia,tegra194-pcie"; + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>; + reg = <0x00 0x141a0000 0x0 0x00020000 /* appl registers (128K) */ + 0x00 0x3a000000 0x0 0x00040000 /* configuration space (256K) */ +-- +2.24.1 + diff --git a/arm64-tegra-jetson-tx1-fixes.patch b/arm64-tegra-jetson-tx1-fixes.patch deleted file mode 100644 index 0f476970f..000000000 --- a/arm64-tegra-jetson-tx1-fixes.patch +++ /dev/null @@ -1,39 +0,0 @@ -From aea4a7a551fd7342299d34f04a8b75f58644ac07 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Sat, 23 Mar 2019 17:45:10 +0000 -Subject: [PATCH 2/3] arm64: tegra210: Jetson TX1: disable display panel and - associated backlight - -The Jetson TX1 dev kit doesn't ship with a screen by default and if -it's not there it appears to crash on boot so disable them both by -default until we work out the problem. - -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts -index 37e3c46e753f..a16f24f1d5ff 100644 ---- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts -+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts -@@ -36,7 +36,7 @@ - - host1x@50000000 { - dsi@54300000 { -- status = "okay"; -+ status = "disabled"; - - avdd-dsi-csi-supply = <&vdd_dsi_csi>; - -@@ -54,6 +54,8 @@ - - i2c@7000c400 { - backlight: backlight@2c { -+ status = "disabled"; -+ - compatible = "ti,lp8557"; - reg = <0x2c>; - --- -2.20.1 diff --git a/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch b/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch new file mode 100644 index 000000000..08c519629 --- /dev/null +++ b/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch @@ -0,0 +1,186 @@ +From patchwork Mon Feb 24 14:07:48 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com> +X-Patchwork-Id: 1243112 +Return-Path: <linux-tegra-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; spf=none (no SPF record) + smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; + helo=vger.kernel.org; + envelope-from=linux-tegra-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=nvidia.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=nvidia.com header.i=@nvidia.com + header.a=rsa-sha256 header.s=n1 header.b=bnwYpe6i; + dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 48R3nG3y97z9sRQ + for <incoming@patchwork.ozlabs.org>; + Tue, 25 Feb 2020 01:08:18 +1100 (AEDT) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727539AbgBXOIR (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Mon, 24 Feb 2020 09:08:17 -0500 +Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:5063 "EHLO + hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1727451AbgBXOIR (ORCPT + <rfc822;linux-tegra@vger.kernel.org>); + Mon, 24 Feb 2020 09:08:17 -0500 +Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by + hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) + id <B5e53d8840000>; Mon, 24 Feb 2020 06:07:00 -0800 +Received: from hqmail.nvidia.com ([172.20.161.6]) + by hqpgpgate101.nvidia.com (PGP Universal service); + Mon, 24 Feb 2020 06:08:16 -0800 +X-PGP-Universal: processed; + by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:08:16 -0800 +Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com + (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; + Mon, 24 Feb 2020 14:08:16 +0000 +Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com + (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via + Frontend Transport; Mon, 24 Feb 2020 14:08:15 +0000 +Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by + rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) + id <B5e53d8cd0006>; Mon, 24 Feb 2020 06:08:15 -0800 +From: Jon Hunter <jonathanh@nvidia.com> +To: Milo Kim <milo.kim@ti.com>, Lee Jones <lee.jones@linaro.org>, + Daniel Thompson <daniel.thompson@linaro.org>, + Jingoo Han <jingoohan1@gmail.com> +CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>, + <linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com> +Subject: [PATCH] backlight: lp855x: Ensure regulators are disabled on probe + failure +Date: Mon, 24 Feb 2020 14:07:48 +0000 +Message-ID: <20200224140748.2182-1-jonathanh@nvidia.com> +X-Mailer: git-send-email 2.17.1 +X-NVConfidentiality: public +MIME-Version: 1.0 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; + t=1582553220; bh=B1HKOxHeQwu3ZxgJLvSfafO1owYsd38lFNvB2Oh8gBc=; + h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: + X-NVConfidentiality:MIME-Version:Content-Type; + b=bnwYpe6isaqG2Bp36VGI0VAYjd8jtznqNulwkVw85vf5zOMSfv809Oou4taz+1W9g + /eTLeJozbJBXhllQfybYW8hX4fyWIjWNON8aQugt/0HrnKAjg5r9wLT5lTgmy+8n2B + YrCJM3gob7XIi7l0cbONUTfyGssXmyEi+0SUamN4DDOnXIFxHBentnbyQdvOQ9+11P + Dr5X+zeRff1B/SMt2pdNwrja2cVOPDRGAM+U4epkb2bICZZUiGv1fQLKa+KgJ7xMMS + AwmdVrZ/6l2MAKwM+FuIqdF/x7mpCYg64MWX7TFFRwOSCFwNeq1fcK5TWItV01qcCa + mFLwbcDwN/IQA== +Sender: linux-tegra-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-tegra.vger.kernel.org> +X-Mailing-List: linux-tegra@vger.kernel.org + +If probing the LP885x backlight fails after the regulators have been +enabled, then the following warning is seen when releasing the +regulators ... + + WARNING: CPU: 1 PID: 289 at drivers/regulator/core.c:2051 _regulator_put.part.28+0x158/0x160 + Modules linked in: tegra_xudc lp855x_bl(+) host1x pwm_tegra ip_tables x_tables ipv6 nf_defrag_ipv6 + CPU: 1 PID: 289 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200224 #1 + Hardware name: NVIDIA Jetson TX1 Developer Kit (DT) + + ... + + Call trace: + _regulator_put.part.28+0x158/0x160 + regulator_put+0x34/0x50 + devm_regulator_release+0x10/0x18 + release_nodes+0x12c/0x230 + devres_release_all+0x34/0x50 + really_probe+0x1c0/0x370 + driver_probe_device+0x58/0x100 + device_driver_attach+0x6c/0x78 + __driver_attach+0xb0/0xf0 + bus_for_each_dev+0x68/0xc8 + driver_attach+0x20/0x28 + bus_add_driver+0x160/0x1f0 + driver_register+0x60/0x110 + i2c_register_driver+0x40/0x80 + lp855x_driver_init+0x20/0x1000 [lp855x_bl] + do_one_initcall+0x58/0x1a0 + do_init_module+0x54/0x1d0 + load_module+0x1d80/0x21c8 + __do_sys_finit_module+0xe8/0x100 + __arm64_sys_finit_module+0x18/0x20 + el0_svc_common.constprop.3+0xb0/0x168 + do_el0_svc+0x20/0x98 + el0_sync_handler+0xf4/0x1b0 + el0_sync+0x140/0x180 + +Fix this by ensuring that the regulators are disabled, if enabled, on +probe failure. + +Finally, ensure that the vddio regulator is disabled in the driver +remove handler. + +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> +--- + drivers/video/backlight/lp855x_bl.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +diff --git a/drivers/video/backlight/lp855x_bl.c b/drivers/video/backlight/lp855x_bl.c +index f68920131a4a..e94932c69f54 100644 +--- a/drivers/video/backlight/lp855x_bl.c ++++ b/drivers/video/backlight/lp855x_bl.c +@@ -456,7 +456,7 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id) + ret = regulator_enable(lp->enable); + if (ret < 0) { + dev_err(lp->dev, "failed to enable vddio: %d\n", ret); +- return ret; ++ goto disable_supply; + } + + /* +@@ -471,24 +471,34 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id) + ret = lp855x_configure(lp); + if (ret) { + dev_err(lp->dev, "device config err: %d", ret); +- return ret; ++ goto disable_vddio; + } + + ret = lp855x_backlight_register(lp); + if (ret) { + dev_err(lp->dev, + "failed to register backlight. err: %d\n", ret); +- return ret; ++ goto disable_vddio; + } + + ret = sysfs_create_group(&lp->dev->kobj, &lp855x_attr_group); + if (ret) { + dev_err(lp->dev, "failed to register sysfs. err: %d\n", ret); +- return ret; ++ goto disable_vddio; + } + + backlight_update_status(lp->bl); ++ + return 0; ++ ++disable_vddio: ++ if (lp->enable) ++ regulator_disable(lp->enable); ++disable_supply: ++ if (lp->supply) ++ regulator_disable(lp->supply); ++ ++ return ret; + } + + static int lp855x_remove(struct i2c_client *cl) +@@ -497,6 +507,8 @@ static int lp855x_remove(struct i2c_client *cl) + + lp->bl->props.brightness = 0; + backlight_update_status(lp->bl); ++ if (lp->enable) ++ regulator_disable(lp->enable); + if (lp->supply) + regulator_disable(lp->supply); + sysfs_remove_group(&lp->dev->kobj, &lp855x_attr_group); diff --git a/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch b/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch deleted file mode 100644 index a11f2ce1a..000000000 --- a/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9ad059ee412caed3fc8666dadf0d2e897d621958 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Wed, 18 Dec 2019 08:03:36 +0000 -Subject: [PATCH] gpu/drm/v3d: Add ARCH_BCM2835 to DRM_V3D Kconfig - -On arm64 the config ARCH_BCM doesn't exist so to be able to -build for platforms such as the Raspberry Pi 4 we need to add -ARCH_BCM2835 similar to what has been done on vc4. - -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - drivers/gpu/drm/v3d/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig -index 9a5c44606337..b0e048697964 100644 ---- a/drivers/gpu/drm/v3d/Kconfig -+++ b/drivers/gpu/drm/v3d/Kconfig -@@ -1,7 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0-only - config DRM_V3D - tristate "Broadcom V3D 3.x and newer" -- depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST -+ depends on ARCH_BCM || ARCH_BCMSTB || ARCH_BCM2835 || COMPILE_TEST - depends on DRM - depends on COMMON_CLK - depends on MMU --- -2.24.1 - diff --git a/configs/fedora/generic/CONFIG_AD7091R5 b/configs/fedora/generic/CONFIG_AD7091R5 new file mode 100644 index 000000000..a2cd8825e --- /dev/null +++ b/configs/fedora/generic/CONFIG_AD7091R5 @@ -0,0 +1 @@ +# CONFIG_AD7091R5 is not set diff --git a/configs/fedora/generic/s390x/CONFIG_ARCH_RANDOM b/configs/fedora/generic/CONFIG_ARCH_RANDOM index 51658fe1c..51658fe1c 100644 --- a/configs/fedora/generic/s390x/CONFIG_ARCH_RANDOM +++ b/configs/fedora/generic/CONFIG_ARCH_RANDOM diff --git a/configs/fedora/generic/CONFIG_ATH11K b/configs/fedora/generic/CONFIG_ATH11K new file mode 100644 index 000000000..584c5e3f1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ATH11K @@ -0,0 +1 @@ +# CONFIG_ATH11K is not set diff --git a/configs/fedora/generic/CONFIG_BACKLIGHT_LED b/configs/fedora/generic/CONFIG_BACKLIGHT_LED new file mode 100644 index 000000000..177fa13b5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BACKLIGHT_LED @@ -0,0 +1 @@ +CONFIG_BACKLIGHT_LED=m diff --git a/configs/fedora/generic/CONFIG_BCM84881_PHY b/configs/fedora/generic/CONFIG_BCM84881_PHY new file mode 100644 index 000000000..6f472549d --- /dev/null +++ b/configs/fedora/generic/CONFIG_BCM84881_PHY @@ -0,0 +1 @@ +# CONFIG_BCM84881_PHY is not set diff --git a/configs/fedora/generic/CONFIG_BMA400 b/configs/fedora/generic/CONFIG_BMA400 new file mode 100644 index 000000000..597efc083 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BMA400 @@ -0,0 +1 @@ +# CONFIG_BMA400 is not set diff --git a/configs/fedora/generic/CONFIG_BOOTTIME_TRACING b/configs/fedora/generic/CONFIG_BOOTTIME_TRACING new file mode 100644 index 000000000..d0462f760 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BOOTTIME_TRACING @@ -0,0 +1 @@ +CONFIG_BOOTTIME_TRACING=y diff --git a/configs/fedora/generic/CONFIG_BOOT_CONFIG b/configs/fedora/generic/CONFIG_BOOT_CONFIG new file mode 100644 index 000000000..6a72346aa --- /dev/null +++ b/configs/fedora/generic/CONFIG_BOOT_CONFIG @@ -0,0 +1 @@ +CONFIG_BOOT_CONFIG=y diff --git a/configs/fedora/generic/CONFIG_CAN_UCAN b/configs/fedora/generic/CONFIG_CAN_UCAN index 80c32eda8..ec2185e3a 100644 --- a/configs/fedora/generic/CONFIG_CAN_UCAN +++ b/configs/fedora/generic/CONFIG_CAN_UCAN @@ -1 +1 @@ -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set diff --git a/configs/fedora/generic/CONFIG_CAPI_AVM b/configs/fedora/generic/CONFIG_CAPI_AVM deleted file mode 100644 index e22084428..000000000 --- a/configs/fedora/generic/CONFIG_CAPI_AVM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CAPI_AVM=y diff --git a/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI b/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI new file mode 100644 index 000000000..03ef57306 --- /dev/null +++ b/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI @@ -0,0 +1 @@ +# CONFIG_COMMON_CLK_FSL_SAI is not set diff --git a/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL b/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL new file mode 100644 index 000000000..25d6ba248 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL @@ -0,0 +1 @@ +CONFIG_CPU_FREQ_THERMAL=y diff --git a/configs/fedora/generic/CONFIG_DLHL60D b/configs/fedora/generic/CONFIG_DLHL60D new file mode 100644 index 000000000..031f3d2e3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DLHL60D @@ -0,0 +1 @@ +# CONFIG_DLHL60D is not set diff --git a/configs/fedora/generic/CONFIG_DMABUF_HEAPS b/configs/fedora/generic/CONFIG_DMABUF_HEAPS new file mode 100644 index 000000000..06c5f4cf1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DMABUF_HEAPS @@ -0,0 +1 @@ +# CONFIG_DMABUF_HEAPS is not set diff --git a/configs/fedora/generic/CONFIG_DM_CLONE b/configs/fedora/generic/CONFIG_DM_CLONE index 03f992664..319d14515 100644 --- a/configs/fedora/generic/CONFIG_DM_CLONE +++ b/configs/fedora/generic/CONFIG_DM_CLONE @@ -1 +1 @@ -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m diff --git a/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345 b/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345 new file mode 100644 index 000000000..8129e7197 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345 @@ -0,0 +1 @@ +CONFIG_DRM_ANALOGIX_ANX6345=m diff --git a/configs/fedora/generic/CONFIG_DRM_DP_CEC b/configs/fedora/generic/CONFIG_DRM_DP_CEC index 5f9b38555..f0dbdcca2 100644 --- a/configs/fedora/generic/CONFIG_DRM_DP_CEC +++ b/configs/fedora/generic/CONFIG_DRM_DP_CEC @@ -1 +1 @@ -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set diff --git a/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC b/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC new file mode 100644 index 000000000..9b5f29038 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC @@ -0,0 +1 @@ +# CONFIG_DRM_LVDS_CODEC is not set diff --git a/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER b/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER deleted file mode 100644 index e2ea277b3..000000000 --- a/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_LVDS_ENCODER is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D new file mode 100644 index 000000000..96be5cb7a --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 new file mode 100644 index 000000000..b4e04533d --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP new file mode 100644 index 000000000..0fa27c807 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 new file mode 100644 index 000000000..b3e186e66 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272 b/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272 new file mode 100644 index 000000000..4978faa12 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set diff --git a/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA b/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA new file mode 100644 index 000000000..db43b2234 --- /dev/null +++ b/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA @@ -0,0 +1 @@ +# CONFIG_EFI_DISABLE_PCI_DMA is not set diff --git a/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK b/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK new file mode 100644 index 000000000..7ede260aa --- /dev/null +++ b/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK @@ -0,0 +1 @@ +CONFIG_ETHTOOL_NETLINK=y diff --git a/configs/fedora/generic/CONFIG_EXFAT_FS b/configs/fedora/generic/CONFIG_EXFAT_FS deleted file mode 100644 index 2113d8106..000000000 --- a/configs/fedora/generic/CONFIG_EXFAT_FS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXFAT_FS is not set diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION b/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION new file mode 100644 index 000000000..93db20585 --- /dev/null +++ b/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION @@ -0,0 +1 @@ +CONFIG_F2FS_FS_COMPRESSION=y diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_LZ4 b/configs/fedora/generic/CONFIG_F2FS_FS_LZ4 new file mode 100644 index 000000000..93646c6d9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_F2FS_FS_LZ4 @@ -0,0 +1 @@ +CONFIG_F2FS_FS_LZ4=y diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_LZO b/configs/fedora/generic/CONFIG_F2FS_FS_LZO new file mode 100644 index 000000000..2210e5ab4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_F2FS_FS_LZO @@ -0,0 +1 @@ +CONFIG_F2FS_FS_LZO=y diff --git a/configs/fedora/generic/CONFIG_GIGASET_BASE b/configs/fedora/generic/CONFIG_GIGASET_BASE deleted file mode 100644 index fa7bb4bea..000000000 --- a/configs/fedora/generic/CONFIG_GIGASET_BASE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GIGASET_BASE=m diff --git a/configs/fedora/generic/CONFIG_GIGASET_CAPI b/configs/fedora/generic/CONFIG_GIGASET_CAPI deleted file mode 100644 index b94738045..000000000 --- a/configs/fedora/generic/CONFIG_GIGASET_CAPI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GIGASET_CAPI=y diff --git a/configs/fedora/generic/CONFIG_GIGASET_DEBUG b/configs/fedora/generic/CONFIG_GIGASET_DEBUG deleted file mode 100644 index 95c9cd104..000000000 --- a/configs/fedora/generic/CONFIG_GIGASET_DEBUG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_GIGASET_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_GIGASET_M101 b/configs/fedora/generic/CONFIG_GIGASET_M101 deleted file mode 100644 index 10388d0a9..000000000 --- a/configs/fedora/generic/CONFIG_GIGASET_M101 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GIGASET_M101=m diff --git a/configs/fedora/generic/CONFIG_GIGASET_M105 b/configs/fedora/generic/CONFIG_GIGASET_M105 deleted file mode 100644 index cf3d1db9f..000000000 --- a/configs/fedora/generic/CONFIG_GIGASET_M105 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GIGASET_M105=m diff --git a/configs/fedora/generic/CONFIG_GPIO_LOGICVC b/configs/fedora/generic/CONFIG_GPIO_LOGICVC new file mode 100644 index 000000000..1ee4eb11a --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_LOGICVC @@ -0,0 +1 @@ +# CONFIG_GPIO_LOGICVC is not set diff --git a/configs/fedora/generic/CONFIG_GPIO_SIFIVE b/configs/fedora/generic/CONFIG_GPIO_SIFIVE new file mode 100644 index 000000000..461cb49e4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_SIFIVE @@ -0,0 +1 @@ +# CONFIG_GPIO_SIFIVE is not set diff --git a/configs/fedora/generic/CONFIG_HYSDN b/configs/fedora/generic/CONFIG_HYSDN deleted file mode 100644 index 2f1ddde6c..000000000 --- a/configs/fedora/generic/CONFIG_HYSDN +++ /dev/null @@ -1 +0,0 @@ -CONFIG_HYSDN=m diff --git a/configs/fedora/generic/CONFIG_HYSDN_CAPI b/configs/fedora/generic/CONFIG_HYSDN_CAPI deleted file mode 100644 index db9a861ab..000000000 --- a/configs/fedora/generic/CONFIG_HYSDN_CAPI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_HYSDN_CAPI=y diff --git a/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT b/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT deleted file mode 100644 index e18239222..000000000 --- a/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_PARPORT_LIGHT is not set diff --git a/configs/fedora/generic/CONFIG_INET_ESPINTCP b/configs/fedora/generic/CONFIG_INET_ESPINTCP new file mode 100644 index 000000000..ebf9d9fe6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INET_ESPINTCP @@ -0,0 +1 @@ +CONFIG_INET_ESPINTCP=y diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2 b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2 new file mode 100644 index 000000000..1fa2256b7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2 @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP new file mode 100644 index 000000000..c196b5c5e --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4 b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4 new file mode 100644 index 000000000..001bc786f --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4 @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA new file mode 100644 index 000000000..dad4d574a --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO new file mode 100644 index 000000000..14032648b --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE new file mode 100644 index 000000000..5a21322e6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE @@ -0,0 +1 @@ +CONFIG_INITRAMFS_COMPRESSION_NONE=y diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ new file mode 100644 index 000000000..8059cfb74 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ @@ -0,0 +1 @@ +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set diff --git a/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST b/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST new file mode 100644 index 000000000..01e6cc50d --- /dev/null +++ b/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST @@ -0,0 +1 @@ +# CONFIG_KPROBE_EVENT_GEN_TEST is not set diff --git a/configs/fedora/generic/CONFIG_LTC2496 b/configs/fedora/generic/CONFIG_LTC2496 new file mode 100644 index 000000000..b63c5163c --- /dev/null +++ b/configs/fedora/generic/CONFIG_LTC2496 @@ -0,0 +1 @@ +# CONFIG_LTC2496 is not set diff --git a/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828 b/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828 new file mode 100644 index 000000000..e60c1237e --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828 @@ -0,0 +1 @@ +# CONFIG_MFD_ROHM_BD71828 is not set diff --git a/configs/fedora/generic/CONFIG_MFD_WCD934X b/configs/fedora/generic/CONFIG_MFD_WCD934X new file mode 100644 index 000000000..77d877e00 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_WCD934X @@ -0,0 +1 @@ +# CONFIG_MFD_WCD934X is not set diff --git a/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B b/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B new file mode 100644 index 000000000..eae364473 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B @@ -0,0 +1 @@ +# CONFIG_MICROCHIP_PIT64B is not set diff --git a/configs/fedora/generic/CONFIG_MPTCP b/configs/fedora/generic/CONFIG_MPTCP new file mode 100644 index 000000000..3bfe60494 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MPTCP @@ -0,0 +1 @@ +CONFIG_MPTCP=y diff --git a/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST b/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST new file mode 100644 index 000000000..bbf062136 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST @@ -0,0 +1 @@ +# CONFIG_MPTCP_HMAC_TEST is not set diff --git a/configs/fedora/generic/CONFIG_MPTCP_IPV6 b/configs/fedora/generic/CONFIG_MPTCP_IPV6 new file mode 100644 index 000000000..d0780145d --- /dev/null +++ b/configs/fedora/generic/CONFIG_MPTCP_IPV6 @@ -0,0 +1 @@ +CONFIG_MPTCP_IPV6=y diff --git a/configs/fedora/generic/CONFIG_MSM_MMCC_8998 b/configs/fedora/generic/CONFIG_MSM_MMCC_8998 new file mode 100644 index 000000000..8c52ae545 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MSM_MMCC_8998 @@ -0,0 +1 @@ +# CONFIG_MSM_MMCC_8998 is not set diff --git a/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC b/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC deleted file mode 100644 index b8a44ee19..000000000 --- a/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_MTD_NAND_FSL_IFC is not set diff --git a/configs/fedora/generic/CONFIG_NET_DSA_AR9331 b/configs/fedora/generic/CONFIG_NET_DSA_AR9331 new file mode 100644 index 000000000..c0f369f09 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_DSA_AR9331 @@ -0,0 +1 @@ +# CONFIG_NET_DSA_AR9331 is not set diff --git a/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331 b/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331 new file mode 100644 index 000000000..96e408b5b --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331 @@ -0,0 +1 @@ +# CONFIG_NET_DSA_TAG_AR9331 is not set diff --git a/configs/fedora/generic/CONFIG_NET_SCH_ETS b/configs/fedora/generic/CONFIG_NET_SCH_ETS new file mode 100644 index 000000000..95ea61e43 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_SCH_ETS @@ -0,0 +1 @@ +# CONFIG_NET_SCH_ETS is not set diff --git a/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE b/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE new file mode 100644 index 000000000..71241b274 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE @@ -0,0 +1 @@ +# CONFIG_NET_SCH_FQ_PIE is not set diff --git a/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC b/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC new file mode 100644 index 000000000..ee88cb4c9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC @@ -0,0 +1 @@ +CONFIG_NFSD_V4_2_INTER_SSC=y diff --git a/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT b/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT new file mode 100644 index 000000000..b0be4a26c --- /dev/null +++ b/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT @@ -0,0 +1 @@ +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set diff --git a/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC b/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC new file mode 100644 index 000000000..ac88cb5bd --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC @@ -0,0 +1 @@ +# CONFIG_PHY_INTEL_EMMC is not set diff --git a/configs/fedora/generic/CONFIG_PING b/configs/fedora/generic/CONFIG_PING new file mode 100644 index 000000000..d0dcdc8ed --- /dev/null +++ b/configs/fedora/generic/CONFIG_PING @@ -0,0 +1 @@ +# CONFIG_PING is not set diff --git a/configs/fedora/generic/CONFIG_PLX_DMA b/configs/fedora/generic/CONFIG_PLX_DMA new file mode 100644 index 000000000..61c623f9c --- /dev/null +++ b/configs/fedora/generic/CONFIG_PLX_DMA @@ -0,0 +1 @@ +# CONFIG_PLX_DMA is not set diff --git a/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS b/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS new file mode 100644 index 000000000..57785aa59 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_PTDUMP_DEBUGFS is not set diff --git a/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES new file mode 100644 index 000000000..ccff0ec88 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES @@ -0,0 +1 @@ +# CONFIG_PTP_1588_CLOCK_INES is not set diff --git a/configs/fedora/generic/CONFIG_QCOM_CPR b/configs/fedora/generic/CONFIG_QCOM_CPR new file mode 100644 index 000000000..96eea8d43 --- /dev/null +++ b/configs/fedora/generic/CONFIG_QCOM_CPR @@ -0,0 +1 @@ +# CONFIG_QCOM_CPR is not set diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MP8859 b/configs/fedora/generic/CONFIG_REGULATOR_MP8859 new file mode 100644 index 000000000..754940abf --- /dev/null +++ b/configs/fedora/generic/CONFIG_REGULATOR_MP8859 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MP8859 is not set diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920 b/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920 new file mode 100644 index 000000000..c1a23686c --- /dev/null +++ b/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_MPQ7920 is not set diff --git a/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019 b/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019 new file mode 100644 index 000000000..2fe47853d --- /dev/null +++ b/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019 @@ -0,0 +1 @@ +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set diff --git a/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL b/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL new file mode 100644 index 000000000..299201c6f --- /dev/null +++ b/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL @@ -0,0 +1 @@ +# CONFIG_RESET_BRCMSTB_RESCAL is not set diff --git a/configs/fedora/generic/CONFIG_RESET_INTEL_GW b/configs/fedora/generic/CONFIG_RESET_INTEL_GW new file mode 100644 index 000000000..eab682e0b --- /dev/null +++ b/configs/fedora/generic/CONFIG_RESET_INTEL_GW @@ -0,0 +1 @@ +# CONFIG_RESET_INTEL_GW is not set diff --git a/configs/fedora/generic/CONFIG_SC_DISPCC_7180 b/configs/fedora/generic/CONFIG_SC_DISPCC_7180 new file mode 100644 index 000000000..4e4aa7bc0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SC_DISPCC_7180 @@ -0,0 +1 @@ +# CONFIG_SC_DISPCC_7180 is not set diff --git a/configs/fedora/generic/CONFIG_SC_GPUCC_7180 b/configs/fedora/generic/CONFIG_SC_GPUCC_7180 new file mode 100644 index 000000000..754bb8b3f --- /dev/null +++ b/configs/fedora/generic/CONFIG_SC_GPUCC_7180 @@ -0,0 +1 @@ +# CONFIG_SC_GPUCC_7180 is not set diff --git a/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180 b/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180 new file mode 100644 index 000000000..4abd39b9b --- /dev/null +++ b/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180 @@ -0,0 +1 @@ +# CONFIG_SC_VIDEOCC_7180 is not set diff --git a/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE new file mode 100644 index 000000000..e8e9e3ea8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE @@ -0,0 +1 @@ +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 diff --git a/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS new file mode 100644 index 000000000..5e8c57ec5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS @@ -0,0 +1 @@ +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 diff --git a/configs/fedora/generic/CONFIG_SENSORS_ADM1177 b/configs/fedora/generic/CONFIG_SENSORS_ADM1177 new file mode 100644 index 000000000..73f1d35f4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_ADM1177 @@ -0,0 +1 @@ +# CONFIG_SENSORS_ADM1177 is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP b/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP new file mode 100644 index 000000000..6ca481ecc --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP @@ -0,0 +1 @@ +CONFIG_SENSORS_DRIVETEMP=m diff --git a/configs/fedora/generic/CONFIG_SENSORS_MAX20730 b/configs/fedora/generic/CONFIG_SENSORS_MAX20730 new file mode 100644 index 000000000..38f8a8dd9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_MAX20730 @@ -0,0 +1 @@ +# CONFIG_SENSORS_MAX20730 is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_MAX31730 b/configs/fedora/generic/CONFIG_SENSORS_MAX31730 new file mode 100644 index 000000000..463fd89b1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_MAX31730 @@ -0,0 +1 @@ +# CONFIG_SENSORS_MAX31730 is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_XDPE122 b/configs/fedora/generic/CONFIG_SENSORS_XDPE122 new file mode 100644 index 000000000..4de67bfd0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_XDPE122 @@ -0,0 +1 @@ +# CONFIG_SENSORS_XDPE122 is not set diff --git a/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS b/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS new file mode 100644 index 000000000..056bf6f16 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS @@ -0,0 +1 @@ +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set diff --git a/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION b/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION new file mode 100644 index 000000000..a882af4c8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION @@ -0,0 +1 @@ +# CONFIG_SND_CTL_VALIDATION is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_MT6660 b/configs/fedora/generic/CONFIG_SND_SOC_MT6660 new file mode 100644 index 000000000..7e78d6d6e --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_MT6660 @@ -0,0 +1 @@ +# CONFIG_SND_SOC_MT6660 is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW new file mode 100644 index 000000000..46419fa28 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW @@ -0,0 +1 @@ +# CONFIG_SND_SOC_RT1308_SDW is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW new file mode 100644 index 000000000..fbb2dab88 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW @@ -0,0 +1 @@ +# CONFIG_SND_SOC_RT700_SDW is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW new file mode 100644 index 000000000..f37826a01 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW @@ -0,0 +1 @@ +# CONFIG_SND_SOC_RT711_SDW is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW new file mode 100644 index 000000000..828094466 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW @@ -0,0 +1 @@ +# CONFIG_SND_SOC_RT715_SDW is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_WSA881X b/configs/fedora/generic/CONFIG_SND_SOC_WSA881X new file mode 100644 index 000000000..0d83e772a --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_WSA881X @@ -0,0 +1 @@ +# CONFIG_SND_SOC_WSA881X is not set diff --git a/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX b/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX new file mode 100644 index 000000000..e36c66c7e --- /dev/null +++ b/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX @@ -0,0 +1 @@ +# CONFIG_SPI_HISI_SFC_V3XX is not set diff --git a/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS b/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS new file mode 100644 index 000000000..ddd3656b3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS @@ -0,0 +1 @@ +# CONFIG_STAGING_EXFAT_FS is not set diff --git a/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX b/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX new file mode 100644 index 000000000..8c57b454a --- /dev/null +++ b/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX @@ -0,0 +1 @@ +CONFIG_STRICT_KERNEL_RWX=y diff --git a/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST b/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST new file mode 100644 index 000000000..23019ea4c --- /dev/null +++ b/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST @@ -0,0 +1 @@ +# CONFIG_SYNTH_EVENT_GEN_TEST is not set diff --git a/configs/fedora/generic/CONFIG_THUNDERBOLT b/configs/fedora/generic/CONFIG_THUNDERBOLT deleted file mode 100644 index dce0561e8..000000000 --- a/configs/fedora/generic/CONFIG_THUNDERBOLT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_THUNDERBOLT is not set diff --git a/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI b/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI deleted file mode 100644 index e551a8ba1..000000000 --- a/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_VIRTIO_BLK_SCSI is not set diff --git a/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK b/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK new file mode 100644 index 000000000..e07891f5b --- /dev/null +++ b/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK @@ -0,0 +1 @@ +CONFIG_VSOCKETS_LOOPBACK=m diff --git a/configs/fedora/generic/CONFIG_WIREGUARD b/configs/fedora/generic/CONFIG_WIREGUARD new file mode 100644 index 000000000..f4bb670b4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_WIREGUARD @@ -0,0 +1 @@ +CONFIG_WIREGUARD=m diff --git a/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG b/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG new file mode 100644 index 000000000..bcd811328 --- /dev/null +++ b/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG @@ -0,0 +1 @@ +# CONFIG_WIREGUARD_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_X86_PTDUMP b/configs/fedora/generic/CONFIG_X86_PTDUMP deleted file mode 100644 index 74f8094eb..000000000 --- a/configs/fedora/generic/CONFIG_X86_PTDUMP +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_X86_PTDUMP is not set diff --git a/configs/fedora/generic/CONFIG_ZONEFS_FS b/configs/fedora/generic/CONFIG_ZONEFS_FS new file mode 100644 index 000000000..557a55ca1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ZONEFS_FS @@ -0,0 +1 @@ +# CONFIG_ZONEFS_FS is not set diff --git a/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ b/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ new file mode 100644 index 000000000..167c189ca --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ @@ -0,0 +1 @@ +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m diff --git a/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS b/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS new file mode 100644 index 000000000..a8cf80f89 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS @@ -0,0 +1 @@ +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL new file mode 100644 index 000000000..5c7d98e5a --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA new file mode 100644 index 000000000..94f96317e --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER new file mode 100644 index 000000000..b0a7986d5 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set diff --git a/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER b/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER deleted file mode 100644 index 53f0efb59..000000000 --- a/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_LVDS_ENCODER=m diff --git a/configs/fedora/generic/CONFIG_GPIO_MPC8XXX b/configs/fedora/generic/arm/CONFIG_GPIO_MPC8XXX index 876fd6a58..876fd6a58 100644 --- a/configs/fedora/generic/CONFIG_GPIO_MPC8XXX +++ b/configs/fedora/generic/arm/CONFIG_GPIO_MPC8XXX diff --git a/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200 b/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200 new file mode 100644 index 000000000..afe147710 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200 @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_IPROC_RNG200=m diff --git a/configs/fedora/generic/arm/CONFIG_IMX_DSP b/configs/fedora/generic/arm/CONFIG_IMX_DSP index e7d6b097b..21b752db3 100644 --- a/configs/fedora/generic/arm/CONFIG_IMX_DSP +++ b/configs/fedora/generic/arm/CONFIG_IMX_DSP @@ -1 +1 @@ -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_INA2XX_ADC b/configs/fedora/generic/arm/CONFIG_INA2XX_ADC index 32f6a0524..32f6a0524 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_INA2XX_ADC +++ b/configs/fedora/generic/arm/CONFIG_INA2XX_ADC diff --git a/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916 b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916 new file mode 100644 index 000000000..09742187e --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916 @@ -0,0 +1 @@ +CONFIG_INTERCONNECT_QCOM_MSM8916=m diff --git a/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018 b/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018 new file mode 100644 index 000000000..15fac8f98 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018 @@ -0,0 +1 @@ +# CONFIG_IPQ_GCC_6018 is not set diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH index 811074928..811074928 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH +++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_OTP b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_OTP index 9b951bd56..9b951bd56 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_OTP +++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_OTP diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_WRITE_VERIFY b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_WRITE_VERIFY index 8549afbbc..8549afbbc 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_WRITE_VERIFY +++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_WRITE_VERIFY diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI new file mode 100644 index 000000000..0a5178936 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI @@ -0,0 +1 @@ +# CONFIG_MTD_PHYSMAP_GEMINI is not set diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX new file mode 100644 index 000000000..51968d79e --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX @@ -0,0 +1 @@ +# CONFIG_MTD_PHYSMAP_IXP4XX is not set diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF index 20f59ebc7..6cdadf044 100644 --- a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF +++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF @@ -1 +1 @@ -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE new file mode 100644 index 000000000..54ac1e2a8 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE @@ -0,0 +1 @@ +# CONFIG_MTD_PHYSMAP_VERSATILE is not set diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SST25L b/configs/fedora/generic/arm/CONFIG_MTD_SST25L index b1da0c467..b1da0c467 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SST25L +++ b/configs/fedora/generic/arm/CONFIG_MTD_SST25L diff --git a/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM b/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM new file mode 100644 index 000000000..e3925e528 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM @@ -0,0 +1 @@ +CONFIG_NVMEM_SPMI_SDAM=m diff --git a/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0 b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0 new file mode 100644 index 000000000..b13045cf4 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0 @@ -0,0 +1 @@ +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m diff --git a/configs/fedora/generic/arm/CONFIG_QCOM_SCM b/configs/fedora/generic/arm/CONFIG_QCOM_SCM new file mode 100644 index 000000000..58e98180c --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_QCOM_SCM @@ -0,0 +1 @@ +CONFIG_QCOM_SCM=y diff --git a/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT b/configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT index 8f9c32859..8f9c32859 100644 --- a/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT +++ b/configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT diff --git a/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE b/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE new file mode 100644 index 000000000..b340a0279 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE @@ -0,0 +1 @@ +# CONFIG_QUICC_ENGINE is not set diff --git a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP index 86d2137bd..98a696d76 100644 --- a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP +++ b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP @@ -1 +1 @@ -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set diff --git a/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363 b/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363 new file mode 100644 index 000000000..41451f50b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363 @@ -0,0 +1 @@ +CONFIG_RTC_DRV_PCF85363=m diff --git a/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA b/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA new file mode 100644 index 000000000..b9ebe4268 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA @@ -0,0 +1 @@ +CONFIG_SERIAL_8250_TEGRA=y diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_IMX_SOC b/configs/fedora/generic/arm/CONFIG_SND_IMX_SOC index 25cc80938..25cc80938 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_IMX_SOC +++ b/configs/fedora/generic/arm/CONFIG_SND_IMX_SOC diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_AUDMUX b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_AUDMUX index efa06fed2..efa06fed2 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_AUDMUX +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_AUDMUX diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SGTL5000 b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SGTL5000 index 9bc19346c..9bc19346c 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SGTL5000 +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SGTL5000 diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SPDIF b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SPDIF index 58a211e43..58a211e43 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SPDIF +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SPDIF diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8962 b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8962 index cfebf5ded..cfebf5ded 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8962 +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8962 diff --git a/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL b/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL new file mode 100644 index 000000000..32182a25f --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL @@ -0,0 +1 @@ +CONFIG_SUN8I_THERMAL=m diff --git a/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1 b/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1 new file mode 100644 index 000000000..c8db5948b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1 @@ -0,0 +1 @@ +CONFIG_VIDEO_ROCKCHIP_ISP1=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD new file mode 100644 index 000000000..cba9bf0b8 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD @@ -0,0 +1 @@ +CONFIG_ARM64_E0PD=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 new file mode 100644 index 000000000..4cc427c4a --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 @@ -0,0 +1 @@ +CONFIG_ARM64_ERRATUM_1530923=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS new file mode 100644 index 000000000..bb1ab4cb2 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS @@ -0,0 +1 @@ +CONFIG_ARM64_USE_LSE_ATOMICS=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP new file mode 100644 index 000000000..f6d939b0e --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP @@ -0,0 +1 @@ +# CONFIG_CLK_IMX8MP is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG new file mode 100644 index 000000000..d558056c3 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG @@ -0,0 +1 @@ +CONFIG_CLK_LS1028A_PLLDIG=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ index b05638e5c..def0884d5 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ @@ -1 +1 @@ -# CONFIG_CLK_QORIQ is not set +CONFIG_CLK_QORIQ=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 new file mode 100644 index 000000000..aba5e985e --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA b/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA new file mode 100644 index 000000000..be503d27c --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA @@ -0,0 +1 @@ +CONFIG_HISI_DMA=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC b/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC new file mode 100644 index 000000000..38acef3a9 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC @@ -0,0 +1 @@ +CONFIG_MTD_NAND_FSL_IFC=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX b/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX new file mode 100644 index 000000000..47506f794 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX @@ -0,0 +1 @@ +CONFIG_NET_DSA_MSCC_FELIX=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF b/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF new file mode 100644 index 000000000..69cbb9236 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF @@ -0,0 +1 @@ +CONFIG_OCTEONTX2_PF=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP new file mode 100644 index 000000000..5d797be71 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP @@ -0,0 +1 @@ +# CONFIG_PINCTRL_IMX8MP is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR new file mode 100644 index 000000000..e86e12294 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR @@ -0,0 +1 @@ +CONFIG_QCOM_CPR=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO deleted file mode 100644 index 8e56160a2..000000000 --- a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_QCOM_SOCINFO is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ b/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ new file mode 100644 index 000000000..f70531603 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ @@ -0,0 +1 @@ +CONFIG_QORIQ_CPUFREQ=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859 b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859 new file mode 100644 index 000000000..730804512 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859 @@ -0,0 +1 @@ +CONFIG_REGULATOR_MP8859=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC b/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC deleted file mode 100644 index f0bf90c04..000000000 --- a/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SND_IMX_SOC is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM b/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM new file mode 100644 index 000000000..bfb00c97e --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM @@ -0,0 +1 @@ +CONFIG_SOUNDWIRE_QCOM=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI index 7b081b181..e5284e9c8 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI +++ b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI @@ -1 +1 @@ -# CONFIG_SPI_QCOM_GENI is not set +CONFIG_SPI_QCOM_GENI=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES index eb6803b74..1b126b18e 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES +++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES @@ -1 +1 @@ -# CONFIG_CRYPTO_DEV_OMAP_AES is not set +CONFIG_CRYPTO_DEV_OMAP_AES=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_LS1021A b/configs/fedora/generic/arm/armv7/CONFIG_SOC_LS1021A index 3df043f0c..3df043f0c 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_LS1021A +++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_LS1021A diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI b/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI new file mode 100644 index 000000000..834ceae37 --- /dev/null +++ b/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI @@ -0,0 +1 @@ +CONFIG_SPI_FSL_SPI=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD deleted file mode 100644 index e16720b6a..000000000 --- a/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_MUSB_AM335X_CHILD=m diff --git a/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV b/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV index d304d6073..3224c1e00 100644 --- a/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV +++ b/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV @@ -1 +1 @@ -# CONFIG_HOTPLUG_PCI_POWERNV is not set +CONFIG_HOTPLUG_PCI_POWERNV=m diff --git a/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE b/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE new file mode 100644 index 000000000..b340a0279 --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE @@ -0,0 +1 @@ +# CONFIG_QUICC_ENGINE is not set diff --git a/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC b/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC new file mode 100644 index 000000000..a1bcfe6b5 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC @@ -0,0 +1 @@ +CONFIG_ZLIB_DFLTCC=y diff --git a/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT b/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT deleted file mode 100644 index 1dbc68883..000000000 --- a/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT +++ /dev/null @@ -1 +0,0 @@ -CONFIG_I2C_PARPORT_LIGHT=m diff --git a/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON b/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON new file mode 100644 index 000000000..e0046c4d9 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON @@ -0,0 +1 @@ +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y diff --git a/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW b/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW new file mode 100644 index 000000000..2047fe3b5 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW @@ -0,0 +1 @@ +# CONFIG_PCIE_INTEL_GW is not set diff --git a/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC b/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC new file mode 100644 index 000000000..7829f20cf --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC @@ -0,0 +1 @@ +CONFIG_PHY_INTEL_EMMC=m diff --git a/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT b/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT new file mode 100644 index 000000000..49e70e671 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT @@ -0,0 +1 @@ +CONFIG_PINCTRL_LYNXPOINT=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE b/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE new file mode 100644 index 000000000..c7493fadb --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE @@ -0,0 +1 @@ +CONFIG_SND_HDA_PREALLOC_SIZE=0 diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH new file mode 100644 index 000000000..08ec882bb --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ deleted file mode 100644 index 4181a1dd2..000000000 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=n diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH index c13580570..7cc6669fd 100644 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH @@ -1,2 +1 @@ CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m - diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ deleted file mode 100644 index bad67ba0e..000000000 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH new file mode 100644 index 000000000..a96d1ad40 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ deleted file mode 100644 index df1d44aef..000000000 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1=n diff --git a/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG b/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG deleted file mode 100644 index 6c885445e..000000000 --- a/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG +++ /dev/null @@ -1 +0,0 @@ -CONFIG_STACKPROTECTOR_STRONG=y diff --git a/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET b/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET deleted file mode 100644 index 1cfc06a79..000000000 --- a/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_THUNDERBOLT_NET=m diff --git a/configs/fedora/generic/x86/CONFIG_TIME_NS b/configs/fedora/generic/x86/CONFIG_TIME_NS new file mode 100644 index 000000000..4480620f6 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_TIME_NS @@ -0,0 +1 @@ +CONFIG_TIME_NS=y diff --git a/configs/fedora/generic/x86/CONFIG_USB4 b/configs/fedora/generic/x86/CONFIG_USB4 new file mode 100644 index 000000000..2b50250e8 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_USB4 @@ -0,0 +1 @@ +CONFIG_USB4=m diff --git a/configs/fedora/generic/x86/CONFIG_USB4_NET b/configs/fedora/generic/x86/CONFIG_USB4_NET new file mode 100644 index 000000000..2d51af31b --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_USB4_NET @@ -0,0 +1 @@ +CONFIG_USB4_NET=m diff --git a/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX b/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX deleted file mode 100644 index ed1a6daeb..000000000 --- a/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_X86_INTEL_MPX=y diff --git a/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE b/configs/fedora/generic/x86/x86_64/CONFIG_EFI_RCI2_TABLE index 083461929..083461929 100644 --- a/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE +++ b/configs/fedora/generic/x86/x86_64/CONFIG_EFI_RCI2_TABLE diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD new file mode 100644 index 000000000..5ca68a398 --- /dev/null +++ b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD @@ -0,0 +1 @@ +CONFIG_INTEL_IDXD=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL new file mode 100644 index 000000000..f8e5172cf --- /dev/null +++ b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL @@ -0,0 +1 @@ +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT b/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT deleted file mode 100644 index 12b8cdd76..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT +++ /dev/null @@ -1 +0,0 @@ -CONFIG_THUNDERBOLT=m diff --git a/drm-dp-mst-error-handling-improvements.patch b/drm-dp-mst-error-handling-improvements.patch new file mode 100644 index 000000000..91e396940 --- /dev/null +++ b/drm-dp-mst-error-handling-improvements.patch @@ -0,0 +1,471 @@ +From 52bd42038880354565bd5ca0bcc1d24b15136b0d Mon Sep 17 00:00:00 2001 +From: Benjamin Gaignard <benjamin.gaignard@st.com> +Date: Wed, 5 Feb 2020 09:48:42 +0100 +Subject: [PATCH 1/3] drm/dp_mst: Fix W=1 warnings + +Fix the warnings that show up with W=1. +They are all about unused but set variables. +If functions returns are not used anymore make them void. + +Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> +Reviewed-by: Lyude Paul <lyude@redhat.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20200205084842.5642-1-benjamin.gaignard@st.com +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 114 +++++++++++++++----------- + 1 file changed, 65 insertions(+), 49 deletions(-) + +diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c +index 415bd0770eab..95e08d908dd2 100644 +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -1035,7 +1035,8 @@ static bool drm_dp_sideband_parse_req(struct drm_dp_sideband_msg_rx *raw, + } + } + +-static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes, u8 *bytes) ++static void build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, ++ u8 port_num, u32 offset, u8 num_bytes, u8 *bytes) + { + struct drm_dp_sideband_msg_req_body req; + +@@ -1045,17 +1046,14 @@ static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 + req.u.dpcd_write.num_bytes = num_bytes; + req.u.dpcd_write.bytes = bytes; + drm_dp_encode_sideband_req(&req, msg); +- +- return 0; + } + +-static int build_link_address(struct drm_dp_sideband_msg_tx *msg) ++static void build_link_address(struct drm_dp_sideband_msg_tx *msg) + { + struct drm_dp_sideband_msg_req_body req; + + req.req_type = DP_LINK_ADDRESS; + drm_dp_encode_sideband_req(&req, msg); +- return 0; + } + + static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg) +@@ -1067,7 +1065,8 @@ static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg) + return 0; + } + +-static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int port_num) ++static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, ++ int port_num) + { + struct drm_dp_sideband_msg_req_body req; + +@@ -1078,10 +1077,11 @@ static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int por + return 0; + } + +-static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_num, +- u8 vcpi, uint16_t pbn, +- u8 number_sdp_streams, +- u8 *sdp_stream_sink) ++static void build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, ++ int port_num, ++ u8 vcpi, uint16_t pbn, ++ u8 number_sdp_streams, ++ u8 *sdp_stream_sink) + { + struct drm_dp_sideband_msg_req_body req; + memset(&req, 0, sizeof(req)); +@@ -1094,11 +1094,10 @@ static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_n + number_sdp_streams); + drm_dp_encode_sideband_req(&req, msg); + msg->path_msg = true; +- return 0; + } + +-static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg, +- int port_num, bool power_up) ++static void build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg, ++ int port_num, bool power_up) + { + struct drm_dp_sideband_msg_req_body req; + +@@ -1110,7 +1109,6 @@ static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg, + req.u.port_num.port_number = port_num; + drm_dp_encode_sideband_req(&req, msg); + msg->path_msg = true; +- return 0; + } + + static int drm_dp_mst_assign_payload_id(struct drm_dp_mst_topology_mgr *mgr, +@@ -2073,29 +2071,24 @@ ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux, + offset, size, buffer); + } + +-static void drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid) ++static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid) + { +- int ret; ++ int ret = 0; + + memcpy(mstb->guid, guid, 16); + + if (!drm_dp_validate_guid(mstb->mgr, mstb->guid)) { + if (mstb->port_parent) { +- ret = drm_dp_send_dpcd_write( +- mstb->mgr, +- mstb->port_parent, +- DP_GUID, +- 16, +- mstb->guid); ++ ret = drm_dp_send_dpcd_write(mstb->mgr, ++ mstb->port_parent, ++ DP_GUID, 16, mstb->guid); + } else { +- +- ret = drm_dp_dpcd_write( +- mstb->mgr->aux, +- DP_GUID, +- mstb->guid, +- 16); ++ ret = drm_dp_dpcd_write(mstb->mgr->aux, ++ DP_GUID, mstb->guid, 16); + } + } ++ ++ return ret; + } + + static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb, +@@ -2641,7 +2634,8 @@ static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr, + return false; + } + +-static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes) ++static void build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, ++ u8 port_num, u32 offset, u8 num_bytes) + { + struct drm_dp_sideband_msg_req_body req; + +@@ -2650,8 +2644,6 @@ static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 + req.u.dpcd_read.dpcd_address = offset; + req.u.dpcd_read.num_bytes = num_bytes; + drm_dp_encode_sideband_req(&req, msg); +- +- return 0; + } + + static int drm_dp_send_sideband_msg(struct drm_dp_mst_topology_mgr *mgr, +@@ -2877,7 +2869,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_sideband_msg_tx *txmsg; + struct drm_dp_link_address_ack_reply *reply; + struct drm_dp_mst_port *port, *tmp; +- int i, len, ret, port_mask = 0; ++ int i, ret, port_mask = 0; + bool changed = false; + + txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL); +@@ -2885,7 +2877,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, + return -ENOMEM; + + txmsg->dst = mstb; +- len = build_link_address(txmsg); ++ build_link_address(txmsg); + + mstb->link_address_sent = true; + drm_dp_queue_down_tx(mgr, txmsg); +@@ -2906,7 +2898,9 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, + DRM_DEBUG_KMS("link address reply: %d\n", reply->nports); + drm_dp_dump_link_address(reply); + +- drm_dp_check_mstb_guid(mstb, reply->guid); ++ ret = drm_dp_check_mstb_guid(mstb, reply->guid); ++ if (ret) ++ goto out; + + for (i = 0; i < reply->nports; i++) { + port_mask |= BIT(reply->ports[i].port_number); +@@ -2947,14 +2941,14 @@ void drm_dp_send_clear_payload_id_table(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_branch *mstb) + { + struct drm_dp_sideband_msg_tx *txmsg; +- int len, ret; ++ int ret; + + txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL); + if (!txmsg) + return; + + txmsg->dst = mstb; +- len = build_clear_payload_id_table(txmsg); ++ build_clear_payload_id_table(txmsg); + + drm_dp_queue_down_tx(mgr, txmsg); + +@@ -2972,7 +2966,6 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr, + { + struct drm_dp_enum_path_resources_ack_reply *path_res; + struct drm_dp_sideband_msg_tx *txmsg; +- int len; + int ret; + + txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL); +@@ -2980,7 +2973,7 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr, + return -ENOMEM; + + txmsg->dst = mstb; +- len = build_enum_path_resources(txmsg, port->port_num); ++ build_enum_path_resources(txmsg, port->port_num); + + drm_dp_queue_down_tx(mgr, txmsg); + +@@ -3073,7 +3066,7 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr, + { + struct drm_dp_sideband_msg_tx *txmsg; + struct drm_dp_mst_branch *mstb; +- int len, ret, port_num; ++ int ret, port_num; + u8 sinks[DRM_DP_MAX_SDP_STREAMS]; + int i; + +@@ -3098,9 +3091,9 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr, + sinks[i] = i; + + txmsg->dst = mstb; +- len = build_allocate_payload(txmsg, port_num, +- id, +- pbn, port->num_sdp_streams, sinks); ++ build_allocate_payload(txmsg, port_num, ++ id, ++ pbn, port->num_sdp_streams, sinks); + + drm_dp_queue_down_tx(mgr, txmsg); + +@@ -3129,7 +3122,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, bool power_up) + { + struct drm_dp_sideband_msg_tx *txmsg; +- int len, ret; ++ int ret; + + port = drm_dp_mst_topology_get_port_validated(mgr, port); + if (!port) +@@ -3142,7 +3135,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr, + } + + txmsg->dst = port->parent; +- len = build_power_updown_phy(txmsg, port->port_num, power_up); ++ build_power_updown_phy(txmsg, port->port_num, power_up); + drm_dp_queue_down_tx(mgr, txmsg); + + ret = drm_dp_mst_wait_tx_reply(port->parent, txmsg); +@@ -3364,7 +3357,6 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, + int offset, int size, u8 *bytes) + { +- int len; + int ret = 0; + struct drm_dp_sideband_msg_tx *txmsg; + struct drm_dp_mst_branch *mstb; +@@ -3379,7 +3371,7 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, + goto fail_put; + } + +- len = build_dpcd_read(txmsg, port->port_num, offset, size); ++ build_dpcd_read(txmsg, port->port_num, offset, size); + txmsg->dst = port->parent; + + drm_dp_queue_down_tx(mgr, txmsg); +@@ -3417,7 +3409,6 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, + int offset, int size, u8 *bytes) + { +- int len; + int ret; + struct drm_dp_sideband_msg_tx *txmsg; + struct drm_dp_mst_branch *mstb; +@@ -3432,7 +3423,7 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr, + goto fail_put; + } + +- len = build_dpcd_write(txmsg, port->port_num, offset, size, bytes); ++ build_dpcd_write(txmsg, port->port_num, offset, size, bytes); + txmsg->dst = mstb; + + drm_dp_queue_down_tx(mgr, txmsg); +@@ -3682,7 +3673,12 @@ int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr, + DRM_DEBUG_KMS("dpcd read failed - undocked during suspend?\n"); + goto out_fail; + } +- drm_dp_check_mstb_guid(mgr->mst_primary, guid); ++ ++ ret = drm_dp_check_mstb_guid(mgr->mst_primary, guid); ++ if (ret) { ++ DRM_DEBUG_KMS("check mstb failed - undocked during suspend?\n"); ++ goto out_fail; ++ } + + /* + * For the final step of resuming the topology, we need to bring the +@@ -4625,15 +4621,34 @@ void drm_dp_mst_dump_topology(struct seq_file *m, + int ret; + + ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); ++ if (ret) { ++ seq_printf(m, "dpcd read failed\n"); ++ goto out; ++ } + seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf); ++ + ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); ++ if (ret) { ++ seq_printf(m, "faux/mst read failed\n"); ++ goto out; ++ } + seq_printf(m, "faux/mst: %*ph\n", 2, buf); ++ + ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); ++ if (ret) { ++ seq_printf(m, "mst ctrl read failed\n"); ++ goto out; ++ } + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); + + /* dump the standard OUI branch header */ + ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE); ++ if (ret) { ++ seq_printf(m, "branch oui read failed\n"); ++ goto out; ++ } + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); ++ + for (i = 0x3; i < 0x8 && buf[i]; i++) + seq_printf(m, "%c", buf[i]); + seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n", +@@ -4642,6 +4657,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m, + seq_printf(m, "payload table: %*ph\n", DP_PAYLOAD_TABLE_SIZE, buf); + } + ++out: + mutex_unlock(&mgr->lock); + + } +-- +2.25.1 + +From 9004e704af8486da3dcbde0fb35a2a309152a5c3 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Fri, 6 Mar 2020 18:49:21 -0500 +Subject: [PATCH 2/3] drm/dp_mst: Make drm_dp_mst_dpcd_write() consistent with + drm_dp_dpcd_write() + +Noticed this while having some problems with hubs sometimes not being +detected on the first plug. Every single dpcd read or write function +returns the number of bytes transferred on success or a negative error +code, except apparently for drm_dp_mst_dpcd_write() - which returns 0 on +success. + +There's not really any good reason for this difference that I can tell, +and having the two functions give differing behavior means that +drm_dp_dpcd_write() will end up returning 0 on success for MST devices, +but the number of bytes transferred for everything else. + +So, fix that and update the kernel doc. + +Signed-off-by: Lyude Paul <lyude@redhat.com> +Fixes: 2f221a5efed4 ("drm/dp_mst: Add MST support to DP DPCD R/W functions") +Cc: Hans de Goede <hdegoede@redhat.com> +Cc: Mikita Lipski <mikita.lipski@amd.com> +Cc: Sean Paul <sean@poorly.run> +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 11 ++++------- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c +index 95e08d908dd2..2dc1c0ba456b 100644 +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -2059,7 +2059,7 @@ ssize_t drm_dp_mst_dpcd_read(struct drm_dp_aux *aux, + * sideband messaging as drm_dp_dpcd_write() does for local + * devices via actual AUX CH. + * +- * Return: 0 on success, negative error code on failure. ++ * Return: number of bytes written on success, negative error code on failure. + */ + ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux, + unsigned int offset, void *buffer, size_t size) +@@ -3429,12 +3429,9 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr, + drm_dp_queue_down_tx(mgr, txmsg); + + ret = drm_dp_mst_wait_tx_reply(mstb, txmsg); +- if (ret > 0) { +- if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) +- ret = -EIO; +- else +- ret = 0; +- } ++ if (ret > 0 && txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK) ++ ret = -EIO; ++ + kfree(txmsg); + fail_put: + drm_dp_mst_topology_put_mstb(mstb); +-- +2.25.1 + +From ff18e1a7ef709cdd3dcbf7b4ae2b37e1c6695289 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Fri, 6 Mar 2020 18:49:22 -0500 +Subject: [PATCH 3/3] drm/dp_mst: Fix drm_dp_check_mstb_guid() return code + +We actually expect this to return a 0 on success, or negative error code +on failure. In order to do that, we check whether or not we managed to +write the whole GUID and then return 0 if so, otherwise return a +negative error code. Also, let's add an error message here so it's a +little more obvious when this fails in the middle of a link address +probe. + +This should fix issues with certain MST hubs seemingly stopping for no +reason in the middle of the link address probe process. + +Fixes: cb897542c6d2 ("drm/dp_mst: Fix W=1 warnings") +Cc: Benjamin Gaignard <benjamin.gaignard@st.com> +Cc: Sean Paul <sean@poorly.run> +Cc: Hans de Goede <hdegoede@redhat.com> +Signed-off-by: Lyude Paul <lyude@redhat.com> +--- + drivers/gpu/drm/drm_dp_mst_topology.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c +index 2dc1c0ba456b..d0e5993b0622 100644 +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -2088,7 +2088,10 @@ static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid) + } + } + +- return ret; ++ if (ret < 16 && ret > 0) ++ return -EPROTO; ++ ++ return ret == 16 ? 0 : ret; + } + + static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb, +@@ -2899,8 +2902,14 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, + drm_dp_dump_link_address(reply); + + ret = drm_dp_check_mstb_guid(mstb, reply->guid); +- if (ret) ++ if (ret) { ++ char buf[64]; ++ ++ drm_dp_mst_rad_to_str(mstb->rad, mstb->lct, buf, sizeof(buf)); ++ DRM_ERROR("GUID check on %s failed: %d\n", ++ buf, ret); + goto out; ++ } + + for (i = 0; i < reply->nports; i++) { + port_mask |= BIT(reply->ports[i].port_number); +-- +2.25.1 + diff --git a/drm-i915-backports.patch b/drm-i915-backports.patch new file mode 100644 index 000000000..6fa8d2849 --- /dev/null +++ b/drm-i915-backports.patch @@ -0,0 +1,894 @@ +From 0fdb20f83f9962a3501e9cbdbfcc37ed5e721ab8 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:31 -0400 +Subject: [PATCH 1/7] drm/i915: Fix eDP DPCD aux max backlight calculations + +Max backlight value for the panel was being calculated using byte +count i.e. 0xffff if 2 bytes are supported for backlight brightness +and 0xff if 1 byte is supported. However, EDP_PWMGEN_BIT_COUNT +determines the number of active control bits used for the brightness +setting. Thus, even if the panel uses 2 byte setting, it might not use +all the control bits. Thus, max backlight should be set based on the +value of EDP_PWMGEN_BIT_COUNT instead of assuming 65535 or 255. + +Additionally, EDP_PWMGEN_BIT_COUNT was being updated based on the VBT +frequency which results in a different max backlight value. Thus, +setting of EDP_PWMGEN_BIT_COUNT is moved to setup phase instead of +enable so that max backlight can be calculated correctly. Only the +frequency divider is set during the enable phase using the value of +EDP_PWMGEN_BIT_COUNT. + +This is based off the original patch series from Furquan Shaikh +<furquan@google.com>: + +https://patchwork.freedesktop.org/patch/317255/?series=62326&rev=3 + +Changes since original patch: +* Remove unused intel_dp variable in intel_dp_aux_setup_backlight() +* Fix checkpatch issues +* Make sure that we rewrite the pwmgen bit count whenever we bring the + panel out of D3 mode + +v2 by Jani: +* rebase +* fix readb return value check + +Cc: Furquan Shaikh <furquan@google.com> +Tested-by: AceLan Kao <acelan.kao@canonical.com> +Tested-by: Perry Yuan <pyuan@redhat.com> +Signed-off-by: Lyude Paul <lyude@redhat.com> +Signed-off-by: Jani Nikula <jani.nikula@intel.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-2-lyude@redhat.com +--- + .../drm/i915/display/intel_display_types.h | 3 + + .../drm/i915/display/intel_dp_aux_backlight.c | 139 ++++++++++++------ + 2 files changed, 95 insertions(+), 47 deletions(-) + +diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h +index 888ea8a170d1..778bd30743e5 100644 +--- a/drivers/gpu/drm/i915/display/intel_display_types.h ++++ b/drivers/gpu/drm/i915/display/intel_display_types.h +@@ -214,6 +214,9 @@ struct intel_panel { + u8 controller; /* bxt+ only */ + struct pwm_device *pwm; + ++ /* DPCD backlight */ ++ u8 pwmgen_bit_count; ++ + struct backlight_device *device; + + /* Connector and platform specific backlight functions */ +diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +index 7c653f8c307f..345eed641455 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +@@ -111,61 +111,28 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector) + { + struct drm_i915_private *dev_priv = to_i915(connector->base.dev); + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); +- int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1; +- u8 pn, pn_min, pn_max; ++ const u8 pn = connector->panel.backlight.pwmgen_bit_count; ++ int freq, fxp, f, fxp_actual, fxp_min, fxp_max; + +- /* Find desired value of (F x P) +- * Note that, if F x P is out of supported range, the maximum value or +- * minimum value will applied automatically. So no need to check that. +- */ + freq = dev_priv->vbt.backlight.pwm_freq_hz; +- DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq); + if (!freq) { + DRM_DEBUG_KMS("Use panel default backlight frequency\n"); + return false; + } + + fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq); ++ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255); ++ fxp_actual = f << pn; + +- /* Use highest possible value of Pn for more granularity of brightness +- * adjustment while satifying the conditions below. +- * - Pn is in the range of Pn_min and Pn_max +- * - F is in the range of 1 and 255 +- * - FxP is within 25% of desired value. +- * Note: 25% is arbitrary value and may need some tweak. +- */ +- if (drm_dp_dpcd_readb(&intel_dp->aux, +- DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) { +- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n"); +- return false; +- } +- if (drm_dp_dpcd_readb(&intel_dp->aux, +- DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) { +- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n"); +- return false; +- } +- pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK; +- pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK; +- ++ /* Ensure frequency is within 25% of desired value */ + fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4); + fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4); +- if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) { +- DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n"); +- return false; +- } + +- for (pn = pn_max; pn >= pn_min; pn--) { +- f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255); +- fxp_actual = f << pn; +- if (fxp_min <= fxp_actual && fxp_actual <= fxp_max) +- break; +- } +- +- if (drm_dp_dpcd_writeb(&intel_dp->aux, +- DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) { +- DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n"); ++ if (fxp_min > fxp_actual || fxp_actual > fxp_max) { ++ DRM_DEBUG_KMS("Actual frequency out of range\n"); + return false; + } ++ + if (drm_dp_dpcd_writeb(&intel_dp->aux, + DP_EDP_BACKLIGHT_FREQ_SET, (u8) f) < 0) { + DRM_DEBUG_KMS("Failed to write aux backlight freq\n"); +@@ -179,6 +146,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st + { + struct intel_connector *connector = to_intel_connector(conn_state->connector); + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); ++ struct intel_panel *panel = &connector->panel; + u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode; + + if (drm_dp_dpcd_readb(&intel_dp->aux, +@@ -197,6 +165,12 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st + case DP_EDP_BACKLIGHT_CONTROL_MODE_PRODUCT: + new_dpcd_buf &= ~DP_EDP_BACKLIGHT_CONTROL_MODE_MASK; + new_dpcd_buf |= DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD; ++ ++ if (drm_dp_dpcd_writeb(&intel_dp->aux, ++ DP_EDP_PWMGEN_BIT_COUNT, ++ panel->backlight.pwmgen_bit_count) < 0) ++ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n"); ++ + break; + + /* Do nothing when it is already DPCD mode */ +@@ -226,20 +200,91 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old + false); + } + ++static u32 intel_dp_aux_calc_max_backlight(struct intel_connector *connector) ++{ ++ struct drm_i915_private *i915 = to_i915(connector->base.dev); ++ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); ++ struct intel_panel *panel = &connector->panel; ++ u32 max_backlight = 0; ++ int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1; ++ u8 pn, pn_min, pn_max; ++ ++ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_EDP_PWMGEN_BIT_COUNT, &pn) == 1) { ++ pn &= DP_EDP_PWMGEN_BIT_COUNT_MASK; ++ max_backlight = (1 << pn) - 1; ++ } ++ ++ /* Find desired value of (F x P) ++ * Note that, if F x P is out of supported range, the maximum value or ++ * minimum value will applied automatically. So no need to check that. ++ */ ++ freq = i915->vbt.backlight.pwm_freq_hz; ++ DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq); ++ if (!freq) { ++ DRM_DEBUG_KMS("Use panel default backlight frequency\n"); ++ return max_backlight; ++ } ++ ++ fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq); ++ ++ /* Use highest possible value of Pn for more granularity of brightness ++ * adjustment while satifying the conditions below. ++ * - Pn is in the range of Pn_min and Pn_max ++ * - F is in the range of 1 and 255 ++ * - FxP is within 25% of desired value. ++ * Note: 25% is arbitrary value and may need some tweak. ++ */ ++ if (drm_dp_dpcd_readb(&intel_dp->aux, ++ DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) { ++ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n"); ++ return max_backlight; ++ } ++ if (drm_dp_dpcd_readb(&intel_dp->aux, ++ DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) { ++ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n"); ++ return max_backlight; ++ } ++ pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK; ++ pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK; ++ ++ fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4); ++ fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4); ++ if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) { ++ DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n"); ++ return max_backlight; ++ } ++ ++ for (pn = pn_max; pn >= pn_min; pn--) { ++ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255); ++ fxp_actual = f << pn; ++ if (fxp_min <= fxp_actual && fxp_actual <= fxp_max) ++ break; ++ } ++ ++ DRM_DEBUG_KMS("Using eDP pwmgen bit count of %d\n", pn); ++ if (drm_dp_dpcd_writeb(&intel_dp->aux, ++ DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) { ++ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n"); ++ return max_backlight; ++ } ++ panel->backlight.pwmgen_bit_count = pn; ++ ++ max_backlight = (1 << pn) - 1; ++ ++ return max_backlight; ++} ++ + static int intel_dp_aux_setup_backlight(struct intel_connector *connector, + enum pipe pipe) + { +- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); + struct intel_panel *panel = &connector->panel; + +- if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT) +- panel->backlight.max = 0xFFFF; +- else +- panel->backlight.max = 0xFF; ++ panel->backlight.max = intel_dp_aux_calc_max_backlight(connector); ++ if (!panel->backlight.max) ++ return -ENODEV; + + panel->backlight.min = 0; + panel->backlight.level = intel_dp_aux_get_backlight(connector); +- + panel->backlight.enabled = panel->backlight.level != 0; + + return 0; +-- +2.25.1 + +From 7dbe3f659d364de34b210baf0598913dc8c3cabd Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:32 -0400 +Subject: [PATCH 2/7] drm/i915: Assume 100% brightness when not in DPCD control + mode + +Currently we always determine the initial panel brightness level by +simply reading the value from DP_EDP_BACKLIGHT_BRIGHTNESS_MSB/LSB. This +seems wrong though, because if the panel is not currently in DPCD +control mode there's not really any reason why there would be any +brightness value programmed in the first place. + +This appears to be the case on the Lenovo ThinkPad X1 Extreme 2nd +Generation, where the default value in these registers is always 0 on +boot despite the fact the panel runs at max brightness by default. +Getting the initial brightness value correct here is important as well, +since the panel on this laptop doesn't behave well if it's ever put into +DPCD control mode while the brightness level is programmed to 0. + +So, let's fix this by checking what the current backlight control mode +is before reading the brightness level. If it's in DPCD control mode, we +return the programmed brightness level. Otherwise we assume 100% +brightness and return the highest possible brightness level. This also +prevents us from accidentally programming a brightness level of 0. + +This is one of the many fixes that gets backlight controls working on +the ThinkPad X1 Extreme 2nd Generation with optional 4K AMOLED screen. + +Changes since v1: +* s/DP_EDP_DISPLAY_CONTROL_REGISTER/DP_EDP_BACKLIGHT_MODE_SET_REGISTER/ + - Jani + +Tested-by: AceLan Kao <acelan.kao@canonical.com> +Tested-by: Perry Yuan <pyuan@redhat.com> +Signed-off-by: Lyude Paul <lyude@redhat.com> +Signed-off-by: Jani Nikula <jani.nikula@intel.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-3-lyude@redhat.com +--- + .../drm/i915/display/intel_dp_aux_backlight.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +index 345eed641455..5d4db5f8a165 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +@@ -59,8 +59,25 @@ static u32 intel_dp_aux_get_backlight(struct intel_connector *connector) + { + struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); + u8 read_val[2] = { 0x0 }; ++ u8 mode_reg; + u16 level = 0; + ++ if (drm_dp_dpcd_readb(&intel_dp->aux, ++ DP_EDP_BACKLIGHT_MODE_SET_REGISTER, ++ &mode_reg) != 1) { ++ DRM_DEBUG_KMS("Failed to read the DPCD register 0x%x\n", ++ DP_EDP_BACKLIGHT_MODE_SET_REGISTER); ++ return 0; ++ } ++ ++ /* ++ * If we're not in DPCD control mode yet, the programmed brightness ++ * value is meaningless and we should assume max brightness ++ */ ++ if ((mode_reg & DP_EDP_BACKLIGHT_CONTROL_MODE_MASK) != ++ DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD) ++ return connector->panel.backlight.max; ++ + if (drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_BACKLIGHT_BRIGHTNESS_MSB, + &read_val, sizeof(read_val)) < 0) { + DRM_DEBUG_KMS("Failed to read DPCD register 0x%x\n", +-- +2.25.1 + +From b2a29a70e386c2fbd92e1b7980091e7980495211 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:33 -0400 +Subject: [PATCH 3/7] drm/i915: Fix DPCD register order in + intel_dp_aux_enable_backlight() + +For eDP panels, it appears it's expected that so long as the panel is in +DPCD control mode that the brightness value is never set to 0. Instead, +if the desired effect is to set the panel's backlight to 0 we're +expected to simply turn off the backlight through the +DP_EDP_DISPLAY_CONTROL_REGISTER. + +We already do the latter correctly in intel_dp_aux_disable_backlight(). +But, we make the mistake of writing the DPCD registers in the wrong +order when enabling the backlight in intel_dp_aux_enable_backlight() +since we currently enable the backlight through +DP_EDP_DISPLAY_CONTROL_REGISTER before writing the brightness level. On +the X1 Extreme 2nd Generation, this appears to have the potential of +confusing the panel in such a way that further attempts to set the +brightness don't actually change the backlight as expected and leave it +off. Presumably, this happens because the incorrect register writing +order briefly leaves the panel with DPCD mode enabled and a 0 brightness +level set. + +So, reverse the order we write the DPCD registers when enabling the +panel backlight so that we write the brightness value first, and enable +the backlight second. This fix appears to be the final bit needed to get +the backlight on the ThinkPad X1 Extreme 2nd Generation's AMOLED screen +working. + +Tested-by: AceLan Kao <acelan.kao@canonical.com> +Tested-by: Perry Yuan <pyuan@redhat.com> +Signed-off-by: Lyude Paul <lyude@redhat.com> +Signed-off-by: Jani Nikula <jani.nikula@intel.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-4-lyude@redhat.com +--- + drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +index 5d4db5f8a165..77a759361c5c 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +@@ -207,8 +207,9 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st + } + } + ++ intel_dp_aux_set_backlight(conn_state, ++ connector->panel.backlight.level); + set_aux_backlight_enable(intel_dp, true); +- intel_dp_aux_set_backlight(conn_state, connector->panel.backlight.level); + } + + static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state) +-- +2.25.1 + +From 8b2e6f450c1f8d34632d4789369030008e874a75 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:34 -0400 +Subject: [PATCH 4/7] drm/i915: Auto detect DPCD backlight support by default + +Turns out we actually already have some companies, such as Lenovo, +shipping machines with AMOLED screens that don't allow controlling the +backlight through the usual PWM interface and only allow controlling it +through the standard EDP DPCD interface. One example of one of these +laptops is the X1 Extreme 2nd Generation. + +Since we've got systems that need this turned on by default now to have +backlight controls working out of the box, let's start auto-detecting it +for systems by default based on what the VBT tells us. We do this by +changing the default value for the enable_dpcd_backlight module param +from 0 to -1. + +Tested-by: AceLan Kao <acelan.kao@canonical.com> +Tested-by: Perry Yuan <pyuan@redhat.com> +Signed-off-by: Lyude Paul <lyude@redhat.com> +Signed-off-by: Jani Nikula <jani.nikula@intel.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-6-lyude@redhat.com +--- + drivers/gpu/drm/i915/i915_params.c | 2 +- + drivers/gpu/drm/i915/i915_params.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c +index 1dd1f3652795..31eed60c167e 100644 +--- a/drivers/gpu/drm/i915/i915_params.c ++++ b/drivers/gpu/drm/i915/i915_params.c +@@ -172,7 +172,7 @@ i915_param_named_unsafe(inject_probe_failure, uint, 0400, + + i915_param_named(enable_dpcd_backlight, int, 0600, + "Enable support for DPCD backlight control" +- "(-1=use per-VBT LFP backlight type setting, 0=disabled [default], 1=enabled)"); ++ "(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled)"); + + #if IS_ENABLED(CONFIG_DRM_I915_GVT) + i915_param_named(enable_gvt, bool, 0400, +diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h +index 31b88f297fbc..a79d0867f77a 100644 +--- a/drivers/gpu/drm/i915/i915_params.h ++++ b/drivers/gpu/drm/i915/i915_params.h +@@ -64,7 +64,7 @@ struct drm_printer; + param(int, reset, 3) \ + param(unsigned int, inject_probe_failure, 0) \ + param(int, fastboot, -1) \ +- param(int, enable_dpcd_backlight, 0) \ ++ param(int, enable_dpcd_backlight, -1) \ + param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \ + param(unsigned long, fake_lmem_start, 0) \ + /* leave bools at the end to not create holes */ \ +-- +2.25.1 + +From c10b0dfaac8385f9b712a552c9a5eed9976aacf2 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:35 -0400 +Subject: [PATCH 5/7] drm/dp: Introduce EDID-based quirks + +The whole point of using OUIs is so that we can recognize certain +devices and potentially apply quirks for them. Normally this should work +quite well, but there appears to be quite a number of laptop panels out +there that will fill the OUI but not the device ID. As such, for devices +like this I can't imagine it's a very good idea to try relying on OUIs +for applying quirks. As well, some laptop vendors have confirmed to us +that their panels have this exact issue. + +So, let's introduce the ability to apply DP quirks based on EDID +identification. We reuse the same quirk bits for OUI-based quirks, so +that callers can simply check all possible quirks using +drm_dp_has_quirk(). + +Signed-off-by: Lyude Paul <lyude@redhat.com> +Reviewed-by: Adam Jackson <ajax@redhat.com> +Cc: Jani Nikula <jani.nikula@intel.com> +--- + drivers/gpu/drm/drm_dp_helper.c | 61 +++++++++++++++++++ + drivers/gpu/drm/drm_dp_mst_topology.c | 3 +- + .../drm/i915/display/intel_display_types.h | 1 + + drivers/gpu/drm/i915/display/intel_dp.c | 11 ++-- + drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +- + drivers/gpu/drm/i915/display/intel_psr.c | 2 +- + include/drm/drm_dp_helper.h | 11 +++- + 7 files changed, 81 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c +index a5364b5192b8..9b2ea2ae0204 100644 +--- a/drivers/gpu/drm/drm_dp_helper.c ++++ b/drivers/gpu/drm/drm_dp_helper.c +@@ -1222,6 +1222,67 @@ drm_dp_get_quirks(const struct drm_dp_dpcd_ident *ident, bool is_branch) + #undef DEVICE_ID_ANY + #undef DEVICE_ID + ++struct edid_quirk { ++ u8 mfg_id[2]; ++ u8 prod_id[2]; ++ u32 quirks; ++}; ++ ++#define MFG(first, second) { (first), (second) } ++#define PROD_ID(first, second) { (first), (second) } ++ ++/* ++ * Some devices have unreliable OUIDs where they don't set the device ID ++ * correctly, and as a result we need to use the EDID for finding additional ++ * DP quirks in such cases. ++ */ ++static const struct edid_quirk edid_quirk_list[] = { ++}; ++ ++#undef MFG ++#undef PROD_ID ++ ++/** ++ * drm_dp_get_edid_quirks() - Check the EDID of a DP device to find additional ++ * DP-specific quirks ++ * @edid: The EDID to check ++ * ++ * While OUIDs are meant to be used to recognize a DisplayPort device, a lot ++ * of manufacturers don't seem to like following standards and neglect to fill ++ * the dev-ID in, making it impossible to only use OUIDs for determining ++ * quirks in some cases. This function can be used to check the EDID and look ++ * up any additional DP quirks. The bits returned by this function correspond ++ * to the quirk bits in &drm_dp_quirk. ++ * ++ * Returns: a bitmask of quirks, if any. The driver can check this using ++ * drm_dp_has_quirk(). ++ */ ++u32 drm_dp_get_edid_quirks(const struct edid *edid) ++{ ++ const struct edid_quirk *quirk; ++ u32 quirks = 0; ++ int i; ++ ++ if (!edid) ++ return 0; ++ ++ for (i = 0; i < ARRAY_SIZE(edid_quirk_list); i++) { ++ quirk = &edid_quirk_list[i]; ++ if (memcmp(quirk->mfg_id, edid->mfg_id, ++ sizeof(edid->mfg_id)) == 0 && ++ memcmp(quirk->prod_id, edid->prod_code, ++ sizeof(edid->prod_code)) == 0) ++ quirks |= quirk->quirks; ++ } ++ ++ DRM_DEBUG_KMS("DP sink: EDID mfg %*phD prod-ID %*phD quirks: 0x%04x\n", ++ (int)sizeof(edid->mfg_id), edid->mfg_id, ++ (int)sizeof(edid->prod_code), edid->prod_code, quirks); ++ ++ return quirks; ++} ++EXPORT_SYMBOL(drm_dp_get_edid_quirks); ++ + /** + * drm_dp_read_desc - read sink/branch descriptor from DPCD + * @aux: DisplayPort AUX channel +diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c +index cce0b1bba591..685c35e67144 100644 +--- a/drivers/gpu/drm/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/drm_dp_mst_topology.c +@@ -5461,7 +5461,8 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port) + if (drm_dp_read_desc(port->mgr->aux, &desc, true)) + return NULL; + +- if (drm_dp_has_quirk(&desc, DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) && ++ if (drm_dp_has_quirk(&desc, 0, ++ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) && + port->mgr->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14 && + port->parent == port->mgr->mst_primary) { + u8 downstreamport; +diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h +index 778bd30743e5..8e3c5569603b 100644 +--- a/drivers/gpu/drm/i915/display/intel_display_types.h ++++ b/drivers/gpu/drm/i915/display/intel_display_types.h +@@ -1253,6 +1253,7 @@ struct intel_dp { + int max_link_rate; + /* sink or branch descriptor */ + struct drm_dp_desc desc; ++ u32 edid_quirks; + struct drm_dp_aux aux; + u32 aux_busy_last_status; + u8 train_set[4]; +diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c +index c7424e2a04a3..e20b85ff937d 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp.c ++++ b/drivers/gpu/drm/i915/display/intel_dp.c +@@ -2373,7 +2373,7 @@ intel_dp_compute_config(struct intel_encoder *encoder, + struct intel_connector *intel_connector = intel_dp->attached_connector; + struct intel_digital_connector_state *intel_conn_state = + to_intel_digital_connector_state(conn_state); +- bool constant_n = drm_dp_has_quirk(&intel_dp->desc, ++ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0, + DP_DPCD_QUIRK_CONSTANT_N); + int ret = 0, output_bpp; + +@@ -4466,7 +4466,8 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp) + * it don't care about read it here and in intel_edp_init_dpcd(). + */ + if (!intel_dp_is_edp(intel_dp) && +- !drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_SINK_COUNT)) { ++ !drm_dp_has_quirk(&intel_dp->desc, 0, ++ DP_DPCD_QUIRK_NO_SINK_COUNT)) { + u8 count; + ssize_t r; + +@@ -5631,6 +5632,7 @@ intel_dp_set_edid(struct intel_dp *intel_dp) + + intel_dp->has_audio = drm_detect_monitor_audio(edid); + drm_dp_cec_set_edid(&intel_dp->aux, edid); ++ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid); + } + + static void +@@ -5643,6 +5645,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp) + intel_connector->detect_edid = NULL; + + intel_dp->has_audio = false; ++ intel_dp->edid_quirks = 0; + } + + static int +@@ -7356,8 +7359,8 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp, + edid = drm_get_edid(connector, &intel_dp->aux.ddc); + if (edid) { + if (drm_add_edid_modes(connector, edid)) { +- drm_connector_update_edid_property(connector, +- edid); ++ drm_connector_update_edid_property(connector, edid); ++ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid); + } else { + kfree(edid); + edid = ERR_PTR(-EINVAL); +diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c +index cba68c5a80fa..4a1a2f868423 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c +@@ -50,7 +50,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder, + const struct drm_display_mode *adjusted_mode = + &crtc_state->hw.adjusted_mode; + void *port = connector->port; +- bool constant_n = drm_dp_has_quirk(&intel_dp->desc, ++ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0, + DP_DPCD_QUIRK_CONSTANT_N); + int bpp, slots = -EINVAL; + +diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c +index 83025052c965..82ba5624d14f 100644 +--- a/drivers/gpu/drm/i915/display/intel_psr.c ++++ b/drivers/gpu/drm/i915/display/intel_psr.c +@@ -282,7 +282,7 @@ void intel_psr_init_dpcd(struct intel_dp *intel_dp) + DRM_DEBUG_KMS("eDP panel supports PSR version %x\n", + intel_dp->psr_dpcd[0]); + +- if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PSR)) { ++ if (drm_dp_has_quirk(&intel_dp->desc, 0, DP_DPCD_QUIRK_NO_PSR)) { + DRM_DEBUG_KMS("PSR support not currently available for this panel\n"); + return; + } +diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h +index bc04467f7c3a..1fe49e202dfb 100644 +--- a/include/drm/drm_dp_helper.h ++++ b/include/drm/drm_dp_helper.h +@@ -1493,13 +1493,16 @@ struct drm_dp_desc { + + int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc, + bool is_branch); ++u32 drm_dp_get_edid_quirks(const struct edid *edid); + + /** + * enum drm_dp_quirk - Display Port sink/branch device specific quirks + * + * Display Port sink and branch devices in the wild have a variety of bugs, try + * to collect them here. The quirks are shared, but it's up to the drivers to +- * implement workarounds for them. ++ * implement workarounds for them. Note that because some devices have ++ * unreliable OUIDs, the EDID of sinks should also be checked for quirks using ++ * drm_dp_get_edid_quirks(). + */ + enum drm_dp_quirk { + /** +@@ -1535,14 +1538,16 @@ enum drm_dp_quirk { + /** + * drm_dp_has_quirk() - does the DP device have a specific quirk + * @desc: Device decriptor filled by drm_dp_read_desc() ++ * @edid_quirks: Optional quirk bitmask filled by drm_dp_get_edid_quirks() + * @quirk: Quirk to query for + * + * Return true if DP device identified by @desc has @quirk. + */ + static inline bool +-drm_dp_has_quirk(const struct drm_dp_desc *desc, enum drm_dp_quirk quirk) ++drm_dp_has_quirk(const struct drm_dp_desc *desc, u32 edid_quirks, ++ enum drm_dp_quirk quirk) + { +- return desc->quirks & BIT(quirk); ++ return (desc->quirks | edid_quirks) & BIT(quirk); + } + + #ifdef CONFIG_DRM_DP_CEC +-- +2.25.1 + +From a21ec8aec8452de788d6b1fc175dc8281a57d5de Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:36 -0400 +Subject: [PATCH 6/7] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen + 4K AMOLED panel + +The X1 Extreme is one of the systems that lies about which backlight +interface that it uses in its VBIOS as PWM backlight controls don't work +at all on this machine. It's possible that this panel could be one of +the infamous ones that can switch between PWM mode and DPCD backlight +control mode, but we haven't gotten any more details on this from Lenovo +just yet. For the time being though, making sure the backlight 'just +works' is a bit more important. + +So, add a quirk to force DPCD backlight controls on for these systems +based on EDID (since this panel doesn't appear to fill in the device ID). +Hopefully in the future we'll figure out a better way of probing this. + +Signed-off-by: Lyude Paul <lyude@redhat.com> +Reviewed-by: Adam Jackson <ajax@redhat.com> +Cc: Jani Nikula <jani.nikula@intel.com> + +Changes since v2: +* The bugzilla URL is deprecated, bug reporting happens on gitlab now. + Update the messages we print to reflect this +* Also, take the opportunity to move FDO_BUG_URL out of i915_utils.c and + into i915_utils.h so that other places which print things that aren't + traditional errors but are worth filing bugs about, can actually use + it. + +Signed-off-by: Lyude Paul <lyude@redhat.com> +--- + drivers/gpu/drm/drm_dp_helper.c | 4 ++++ + .../drm/i915/display/intel_dp_aux_backlight.c | 24 +++++++++++++++---- + drivers/gpu/drm/i915/i915_utils.c | 1 - + drivers/gpu/drm/i915/i915_utils.h | 2 ++ + include/drm/drm_dp_helper.h | 10 ++++++++ + 5 files changed, 36 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c +index 9b2ea2ae0204..026f701eac69 100644 +--- a/drivers/gpu/drm/drm_dp_helper.c ++++ b/drivers/gpu/drm/drm_dp_helper.c +@@ -1237,6 +1237,10 @@ struct edid_quirk { + * DP quirks in such cases. + */ + static const struct edid_quirk edid_quirk_list[] = { ++ /* Optional 4K AMOLED panel in the ThinkPad X1 Extreme 2nd Generation ++ * only supports DPCD backlight controls ++ */ ++ { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + }; + + #undef MFG +diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +index 77a759361c5c..a7c94c201b38 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +@@ -328,15 +328,31 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector) + int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector) + { + struct intel_panel *panel = &intel_connector->panel; +- struct drm_i915_private *dev_priv = to_i915(intel_connector->base.dev); ++ struct intel_dp *intel_dp = enc_to_intel_dp(intel_connector->encoder); ++ struct drm_device *dev = intel_connector->base.dev; ++ struct drm_i915_private *dev_priv = to_i915(dev); + + if (i915_modparams.enable_dpcd_backlight == 0 || +- (i915_modparams.enable_dpcd_backlight == -1 && +- dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE)) ++ !intel_dp_aux_display_control_capable(intel_connector)) + return -ENODEV; + +- if (!intel_dp_aux_display_control_capable(intel_connector)) ++ /* ++ * There are a lot of machines that don't advertise the backlight ++ * control interface to use properly in their VBIOS, :\ ++ */ ++ if (dev_priv->vbt.backlight.type != ++ INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE && ++ !drm_dp_has_quirk(&intel_dp->desc, intel_dp->edid_quirks, ++ DP_QUIRK_FORCE_DPCD_BACKLIGHT)) { ++ DRM_DEV_INFO(dev->dev, ++ "Panel advertises DPCD backlight support, but " ++ "VBT disagrees. If your backlight controls " ++ "don't work try booting with " ++ "i915.enable_dpcd_backlight=1. If your machine " ++ "needs this, please file a _new_ bug report on " ++ "drm/i915, see " FDO_BUG_URL " for details.\n"); + return -ENODEV; ++ } + + panel->backlight.setup = intel_dp_aux_setup_backlight; + panel->backlight.enable = intel_dp_aux_enable_backlight; +diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c +index 632d6953c78d..029854ae65fc 100644 +--- a/drivers/gpu/drm/i915/i915_utils.c ++++ b/drivers/gpu/drm/i915/i915_utils.c +@@ -8,7 +8,6 @@ + #include "i915_drv.h" + #include "i915_utils.h" + +-#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs" + #define FDO_BUG_MSG "Please file a bug on drm/i915; see " FDO_BUG_URL " for details." + + void +diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h +index b0ade76bec90..cae0ae520398 100644 +--- a/drivers/gpu/drm/i915/i915_utils.h ++++ b/drivers/gpu/drm/i915/i915_utils.h +@@ -34,6 +34,8 @@ + struct drm_i915_private; + struct timer_list; + ++#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs" ++ + #undef WARN_ON + /* Many gcc seem to no see through this and fall over :( */ + #if 0 +diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h +index 1fe49e202dfb..eff5a69051d6 100644 +--- a/include/drm/drm_dp_helper.h ++++ b/include/drm/drm_dp_helper.h +@@ -1533,6 +1533,16 @@ enum drm_dp_quirk { + * The DSC caps can be read from the physical aux instead. + */ + DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD, ++ /** ++ * @DP_QUIRK_FORCE_DPCD_BACKLIGHT: ++ * ++ * The device is telling the truth when it says that it uses DPCD ++ * backlight controls, even if the system's firmware disagrees. This ++ * quirk should be checked against both the ident and panel EDID. ++ * When present, the driver should honor the DPCD backlight ++ * capabilities advertised. ++ */ ++ DP_QUIRK_FORCE_DPCD_BACKLIGHT, + }; + + /** +-- +2.25.1 + +From 057e7f8db05c2382b666270b1fbf986fdd172769 Mon Sep 17 00:00:00 2001 +From: Lyude Paul <lyude@redhat.com> +Date: Tue, 10 Mar 2020 14:07:37 -0400 +Subject: [PATCH 7/7] drm/i915: Force DPCD backlight mode for some Dell CML + 2020 panels + +According to Dell, trying to match their panels via OUI is not reliable +enough and we've been told that we should check against the EDID +instead. As well, Dell seems to have some panels that are actually +intended to switch between using PWM for backlight controls and DPCD for +backlight controls depending on whether or not the panel is in HDR or +SDR mode. Yikes. + +Regardless, we need to add quirks for these so that DPCD backlight +controls get enabled by default, since without additional driver support +that's the only form of brightness control that will work. Hopefully in +the future we can remove these quirks once we have a better way of +probing for this. + +Changes since v1: +* Add one more EDID per Dell's request +* Remove model number (which is possibly wrong) and replace with Dell + CML 2020 systems + +Signed-off-by: Lyude Paul <lyude@redhat.com> +Reviewed-by: Adam Jackson <ajax@redhat.com> +Cc: Jani Nikula <jani.nikula@intel.com> +--- + drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c +index 026f701eac69..d3a636a925d4 100644 +--- a/drivers/gpu/drm/drm_dp_helper.c ++++ b/drivers/gpu/drm/drm_dp_helper.c +@@ -1241,6 +1241,20 @@ static const struct edid_quirk edid_quirk_list[] = { + * only supports DPCD backlight controls + */ + { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, ++ /* ++ * Some Dell CML 2020 systems have panels support both AUX and PWM ++ * backlight control, and some only support AUX backlight control. All ++ * said panels start up in AUX mode by default, and we don't have any ++ * support for disabling HDR mode on these panels which would be ++ * required to switch to PWM backlight control mode (plus, I'm not ++ * even sure we want PWM backlight controls over DPCD backlight ++ * controls anyway...). Until we have a better way of detecting these, ++ * force DPCD backlight mode on all of them. ++ */ ++ { MFG(0x06, 0xaf), PROD_ID(0x9b, 0x32), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, ++ { MFG(0x06, 0xaf), PROD_ID(0xeb, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, ++ { MFG(0x4d, 0x10), PROD_ID(0xc7, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, ++ { MFG(0x4d, 0x10), PROD_ID(0xe6, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) }, + }; + + #undef MFG +-- +2.25.1 + diff --git a/drm-vc4-Fix-HDMI-mode-validation.patch b/drm-vc4-Fix-HDMI-mode-validation.patch new file mode 100644 index 000000000..224c8fa27 --- /dev/null +++ b/drm-vc4-Fix-HDMI-mode-validation.patch @@ -0,0 +1,65 @@ +From patchwork Thu Mar 26 12:20:01 2020 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: drm/vc4: Fix HDMI mode validation +From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +X-Patchwork-Id: 358980 +Message-Id: <20200326122001.22215-1-nsaenzjulienne@suse.de> +To: Eric Anholt <eric@anholt.net>, + Daniel Vetter <daniel.vetter@ffwll.ch> +Cc: Stefan Wahren <stefan.wahren@i2se.com>, f.fainelli@gmail.com, + Dave Stevenson <dave.stevenson@raspberrypi.com>, + David Airlie <airlied@linux.ie>, linux-kernel@vger.kernel.org, + dri-devel@lists.freedesktop.org, maxime@cerno.tech, + Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, + linux-rpi-kernel@lists.infradead.org +Date: Thu, 26 Mar 2020 13:20:01 +0100 + +Current mode validation impedes setting up some video modes which should +be supported otherwise. Namely 1920x1200@60Hz. + +Fix this by lowering the minimum HDMI state machine clock to pixel clock +ratio allowed. + +Fixes: 32e823c63e90 ("drm/vc4: Reject HDMI modes with too high of clocks") +Reported-by: Stefan Wahren <stefan.wahren@i2se.com> +Suggested-by: Dave Stevenson <dave.stevenson@raspberrypi.com> +Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> +Reviewed-by: Maxime Ripard <mripard@kernel.org> +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c +index cea18dc15f77..340719238753 100644 +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -681,11 +681,23 @@ static enum drm_mode_status + vc4_hdmi_encoder_mode_valid(struct drm_encoder *crtc, + const struct drm_display_mode *mode) + { +- /* HSM clock must be 108% of the pixel clock. Additionally, +- * the AXI clock needs to be at least 25% of pixel clock, but +- * HSM ends up being the limiting factor. ++ /* ++ * As stated in RPi's vc4 firmware "HDMI state machine (HSM) clock must ++ * be faster than pixel clock, infinitesimally faster, tested in ++ * simulation. Otherwise, exact value is unimportant for HDMI ++ * operation." This conflicts with bcm2835's vc4 documentation, which ++ * states HSM's clock has to be at least 108% of the pixel clock. ++ * ++ * Real life tests reveal that vc4's firmware statement holds up, and ++ * users are able to use pixel clocks closer to HSM's, namely for ++ * 1920x1200@60Hz. So it was decided to have leave a 1% margin between ++ * both clocks. Which, for RPi0-3 implies a maximum pixel clock of ++ * 162MHz. ++ * ++ * Additionally, the AXI clock needs to be at least 25% of ++ * pixel clock, but HSM ends up being the limiting factor. + */ +- if (mode->clock > HSM_CLOCK_FREQ / (1000 * 108 / 100)) ++ if (mode->clock > HSM_CLOCK_FREQ / (1000 * 101 / 100)) + return MODE_CLOCK_HIGH; + + return MODE_OK; diff --git a/efi-secureboot.patch b/efi-secureboot.patch index 227805e8c..90ac9feca 100644 --- a/efi-secureboot.patch +++ b/efi-secureboot.patch @@ -131,10 +131,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> create mode 100644 drivers/firmware/efi/secureboot.c diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index bbe35bf879f5..7e528b6af86b 100644 +index 2441b64d061f..1797623b0c3a 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1179,19 +1179,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1126,19 +1126,7 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -156,10 +156,10 @@ index bbe35bf879f5..7e528b6af86b 100644 reserve_initrd(); diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile -index 4ac2de4dfa72..195b078a423c 100644 +index 554d795270d9..d2e17e26ac55 100644 --- a/drivers/firmware/efi/Makefile +++ b/drivers/firmware/efi/Makefile -@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o +@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o obj-$(CONFIG_EFI_TEST) += test/ obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o @@ -169,7 +169,7 @@ index 4ac2de4dfa72..195b078a423c 100644 diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c new file mode 100644 -index 000000000000..9070055de0a1 +index 000000000000..de0a3714a5d4 --- /dev/null +++ b/drivers/firmware/efi/secureboot.c @@ -0,0 +1,38 @@ @@ -212,10 +212,10 @@ index 000000000000..9070055de0a1 + } +} diff --git a/include/linux/efi.h b/include/linux/efi.h -index 21d81021c1f4..758ec061d03b 100644 +index 5062683d4d08..6ae0e02f461e 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -1204,6 +1204,14 @@ extern int __init efi_setup_pcdp_console(char *); +@@ -1126,6 +1126,14 @@ extern int __init efi_setup_pcdp_console(char *); #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ #define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */ @@ -230,25 +230,25 @@ index 21d81021c1f4..758ec061d03b 100644 #ifdef CONFIG_EFI /* -@@ -1214,6 +1222,8 @@ static inline bool efi_enabled(int feature) - return test_bit(feature, &efi.flags) != 0; +@@ -1137,6 +1145,8 @@ static inline bool efi_enabled(int feature) } extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); -+ -+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); ++extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); ++ bool __pure __efi_soft_reserve_enabled(void); -@@ -1227,6 +1237,8 @@ efi_capsule_pending(int *reset_type) - { + static inline bool __pure efi_soft_reserve_enabled(void) +@@ -1158,6 +1168,8 @@ efi_capsule_pending(int *reset_type) return false; } -+ -+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} ++static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} ++ static inline bool efi_soft_reserve_enabled(void) { -@@ -1619,12 +1631,6 @@ static inline bool efi_runtime_disabled(void) { return true; } + return false; +@@ -1541,12 +1553,6 @@ static inline bool efi_runtime_disabled(void) { return true; } extern void efi_call_virt_check_flags(unsigned long flags, const char *call); extern unsigned long efi_call_virt_save_flags(void); @@ -258,11 +258,11 @@ index 21d81021c1f4..758ec061d03b 100644 - efi_secureboot_mode_disabled, - efi_secureboot_mode_enabled, -}; - enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table); + enum efi_secureboot_mode efi_get_secureboot(void); #ifdef CONFIG_RESET_ATTACK_MITIGATION -- -2.21.0 +2.24.1 From 15368f76d4997912318d35c52bfeb9041d85098e Mon Sep 17 00:00:00 2001 @@ -284,18 +284,18 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 2 files changed, 21 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 77ea96b794bd..a119e1bc9623 100644 +index 1797623b0c3a..fa8ac411bf6e 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -73,6 +73,7 @@ - #include <linux/jiffies.h> - #include <linux/mem_encrypt.h> - #include <linux/sizes.h> +@@ -17,6 +17,7 @@ + #include <linux/root_dev.h> + #include <linux/sfi.h> + #include <linux/tboot.h> +#include <linux/security.h> - #include <linux/usb/xhci-dbgp.h> - #include <video/edid.h> -@@ -1027,6 +1028,13 @@ void __init setup_arch(char **cmdline_p) + + #include <uapi/linux/mount.h> +@@ -975,6 +976,13 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); @@ -334,4 +334,4 @@ index e84ddf484010..d0501353a4b9 100644 prompt "Kernel default lockdown mode" default LOCK_DOWN_KERNEL_FORCE_NONE -- -2.21.0 +2.24.1 diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index 195e408fc..0a2eab1f2 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -96,6 +96,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -256,6 +257,7 @@ CONFIG_ARCH_MXC=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set CONFIG_ARCH_QCOM=y +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_RENESAS is not set @@ -288,12 +290,14 @@ CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y CONFIG_ARM64_CNP=y CONFIG_ARM64_CRYPTO=y +CONFIG_ARM64_E0PD=y CONFIG_ARM64_ERRATUM_1024718=y CONFIG_ARM64_ERRATUM_1165522=y CONFIG_ARM64_ERRATUM_1286807=y CONFIG_ARM64_ERRATUM_1319367=y CONFIG_ARM64_ERRATUM_1418040=y CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_ERRATUM_1542419=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y @@ -319,6 +323,7 @@ CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_ARM64_UAO=y +CONFIG_ARM64_USE_LSE_ATOMICS=y # CONFIG_ARM64_VA_BITS_39 is not set CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y @@ -354,6 +359,7 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC=y CONFIG_ARM_GLOBAL_TIMER=y # CONFIG_ARM_IMX6Q_CPUFREQ is not set +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m CONFIG_ARM_IMX_CPUFREQ_DT=m CONFIG_ARM_MHU=m CONFIG_ARM_PL172_MPMC=m @@ -376,6 +382,7 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SDE_INTERFACE=y CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU_V3_PMU=m CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y @@ -413,6 +420,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -520,6 +528,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -568,6 +577,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -648,6 +658,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -667,12 +678,14 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -835,11 +848,10 @@ CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -957,9 +969,11 @@ CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_HSDK is not set CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y +# CONFIG_CLK_IMX8MP is not set CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8QXP=y -# CONFIG_CLK_QORIQ is not set +CONFIG_CLK_LS1028A_PLLDIG=y +CONFIG_CLK_QORIQ=y CONFIG_CLK_RASPBERRYPI=y # CONFIG_CLK_SIFIVE is not set CONFIG_CLK_SP810=y @@ -1000,6 +1014,7 @@ CONFIG_COMMON_CLK_BD718XX=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_HI3516CV300 is not set CONFIG_COMMON_CLK_HI3519=m CONFIG_COMMON_CLK_HI3660=y @@ -1062,6 +1077,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1183,6 +1199,9 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m @@ -1395,12 +1414,14 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1418,7 +1439,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1472,6 +1493,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1482,7 +1504,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1511,7 +1533,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1536,6 +1558,7 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set CONFIG_DRM_NXP_PTN3460=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1543,6 +1566,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1570,11 +1594,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1753,6 +1780,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y # CONFIG_EFI_RCI2_TABLE is not set @@ -1786,9 +1814,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1817,6 +1845,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -2045,11 +2076,6 @@ CONFIG_GENEVE=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m CONFIG_GIANFAR=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2075,6 +2101,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -2100,6 +2127,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2258,6 +2286,7 @@ CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m CONFIG_HIGH_RES_TIMERS=y # CONFIG_HIPPI is not set +CONFIG_HISI_DMA=m CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_HISILICON_IRQ_MBIGEN=y @@ -2305,6 +2334,7 @@ CONFIG_HW_RANDOM_CAVIUM=m CONFIG_HW_RANDOM_HISI=m CONFIG_HW_RANDOM_HISI_V2=y CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_OPTEE=m @@ -2316,8 +2346,6 @@ CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_QCOM=m CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ=100 # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y @@ -2382,7 +2410,6 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NOMADIK is not set CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2514,7 +2541,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2537,6 +2564,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2573,6 +2601,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2650,6 +2685,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m CONFIG_INTERCONNECT=m +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set CONFIG_INTERCONNECT_QCOM_SDM845=m @@ -2737,6 +2773,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -3014,6 +3051,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3187,6 +3225,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3419,6 +3458,7 @@ CONFIG_MFD_MAX77686=y CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set CONFIG_MFD_ROHM_BD718XX=y # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3456,6 +3496,7 @@ CONFIG_MFD_TPS68470=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3467,6 +3508,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3622,6 +3664,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3642,6 +3687,7 @@ CONFIG_MSM_GPUCC_8998=m CONFIG_MSM_MMCC_8960=m CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3666,7 +3712,9 @@ CONFIG_MTD_CFI=m CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y # CONFIG_MTD_DOCG3 is not set # CONFIG_MTD_HYPERBUS is not set # CONFIG_MTD_INTEL_VR_NOR is not set @@ -3688,7 +3736,7 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set +CONFIG_MTD_NAND_FSL_IFC=m # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND_MARVELL=m @@ -3708,8 +3756,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3721,7 +3772,7 @@ CONFIG_MTD_RAW_NAND=m CONFIG_MTD_SPI_NAND=m CONFIG_MTD_SPI_NOR=m # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set -# CONFIG_MTD_SST25L is not set +CONFIG_MTD_SST25L=m # CONFIG_MTD_SWAP is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -3815,6 +3866,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3823,7 +3875,7 @@ CONFIG_NET_DSA=m # CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m -# CONFIG_NET_DSA_MSCC_FELIX is not set +CONFIG_NET_DSA_MSCC_FELIX=m CONFIG_NET_DSA_MT7530=m # CONFIG_NET_DSA_MV88E6060 is not set CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y @@ -3835,6 +3887,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3974,8 +4027,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4159,11 +4214,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4311,6 +4368,7 @@ CONFIG_NVMEM_IMX_OCOTP=m CONFIG_NVMEM_IMX_OCOTP_SCU=m # CONFIG_NVMEM_REBOOT_MODE is not set # CONFIG_NVMEM_SNVS_LPGPR is not set +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4335,6 +4393,7 @@ CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m CONFIG_OCTEONTX2_AF=m +CONFIG_OCTEONTX2_PF=m CONFIG_OF_ADDRESS=y CONFIG_OF_DYNAMIC=y CONFIG_OF_EARLY_FLATTREE=y @@ -4544,6 +4603,7 @@ CONFIG_PHY_HI3660_USB=m CONFIG_PHY_HI6220_USB=m CONFIG_PHY_HISI_INNO_USB2=m CONFIG_PHY_HISTB_COMBPHY=m +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4570,6 +4630,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4605,6 +4666,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_GEMINILAKE is not set CONFIG_PINCTRL_IMX8MM=y CONFIG_PINCTRL_IMX8MN=y +# CONFIG_PINCTRL_IMX8MP is not set CONFIG_PINCTRL_IMX8MQ=y CONFIG_PINCTRL_IMX8QM=y CONFIG_PINCTRL_IMX8QXP=y @@ -4664,6 +4726,7 @@ CONFIG_PINCTRL_SUN50I_H6=y # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -4674,6 +4737,7 @@ CONFIG_PL353_SMC=m CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM8916_WATCHDOG=m CONFIG_PM_ADVANCED_DEBUG=y @@ -4783,7 +4847,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK_QORIQ=m CONFIG_PTP_1588_CLOCK=y @@ -4819,6 +4885,7 @@ CONFIG_QCOM_CLK_RPMH=y CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_CPR=m # CONFIG_QCOM_EBI2 is not set CONFIG_QCOM_EMAC=m # CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set @@ -4850,11 +4917,12 @@ CONFIG_QCOM_RMTFS_MEM=m CONFIG_QCOM_RPMHPD=y CONFIG_QCOM_RPMH=y # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m -# CONFIG_QCOM_SOCINFO is not set +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4882,13 +4950,14 @@ CONFIG_QLCNIC_SRIOV=y CONFIG_QLGE=m # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set -# CONFIG_QORIQ_CPUFREQ is not set +CONFIG_QORIQ_CPUFREQ=m CONFIG_QORIQ_THERMAL=m CONFIG_QRTR=m CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -5003,6 +5072,8 @@ CONFIG_REGULATOR_MAX77802=m # CONFIG_REGULATOR_MAX8952 is not set CONFIG_REGULATOR_MAX8973=m # CONFIG_REGULATOR_MCP16502 is not set +CONFIG_REGULATOR_MP8859=m +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PFUZE100=m # CONFIG_REGULATOR_PV88060 is not set @@ -5028,6 +5099,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -5041,9 +5113,11 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_HISI=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m CONFIG_RESET_QCOM_AOSS=y CONFIG_RESET_QCOM_PDC=m @@ -5074,7 +5148,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5202,7 +5276,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m # CONFIG_RTC_DRV_PL030 is not set @@ -5306,7 +5380,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5418,6 +5494,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SDM_CAMCC_845=m @@ -5446,6 +5523,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5463,6 +5542,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5484,6 +5564,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5558,8 +5639,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5631,8 +5714,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set CONFIG_SENSORS_XGENE=m CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5651,6 +5736,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5799,6 +5885,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5859,7 +5946,7 @@ CONFIG_SND_HRTIMER=m CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m -# CONFIG_SND_IMX_SOC is not set +CONFIG_SND_IMX_SOC=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m @@ -5989,8 +6076,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set CONFIG_SND_SOC_IMX_AUDMIX=m -# CONFIG_SND_SOC_IMX_AUDMUX is not set +CONFIG_SND_SOC_IMX_AUDMUX=m # CONFIG_SND_SOC_IMX_ES8328 is not set +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m @@ -6006,6 +6095,7 @@ CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m CONFIG_SND_SOC_MSM8996=m # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -6038,12 +6128,16 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_RT5663=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SDM845=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m @@ -6123,10 +6217,11 @@ CONFIG_SND_SOC_WM8804_SPI=m # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set CONFIG_SND_SOC_WM8960=m -# CONFIG_SND_SOC_WM8962 is not set +CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m CONFIG_SND_SOC_XILINX_I2S=m CONFIG_SND_SOC_XILINX_SPDIF=m @@ -6179,6 +6274,7 @@ CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y CONFIG_SOUNDWIRE_CADENCE=m # CONFIG_SOUNDWIRE_INTEL is not set +CONFIG_SOUNDWIRE_QCOM=m CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_MANUAL=y @@ -6205,6 +6301,7 @@ CONFIG_SPI_FSL_QUADSPI=m # CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_GPIO=m CONFIG_SPI_HISI_SFC=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6219,7 +6316,7 @@ CONFIG_SPI_MESON_SPIFC=m CONFIG_SPI_ORION=m CONFIG_SPI_PL022=m # CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_QCOM_GENI is not set +CONFIG_SPI_QCOM_GENI=m CONFIG_SPI_QCOM_QSPI=m CONFIG_SPI_QUP=m CONFIG_SPI_ROCKCHIP=m @@ -6278,6 +6375,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6297,6 +6395,7 @@ CONFIG_STMPE_ADC=m CONFIG_STMPE_I2C=y CONFIG_STMPE_SPI=y CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_STUB_CLK_HI3660=y @@ -6314,6 +6413,7 @@ CONFIG_SUN50I_H6_R_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m # CONFIG_SUN8I_V3S_CCU is not set CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set @@ -6341,6 +6441,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6484,7 +6585,6 @@ CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set CONFIG_THUNDER_NIC_BGX=m CONFIG_THUNDER_NIC_PF=m CONFIG_THUNDER_NIC_RGX=m @@ -7205,6 +7305,7 @@ CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m @@ -7244,7 +7345,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7276,6 +7376,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7343,6 +7444,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7439,6 +7542,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index 07ab4e405..7532f0f4b 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -96,6 +96,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -256,6 +257,7 @@ CONFIG_ARCH_MXC=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set CONFIG_ARCH_QCOM=y +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_RENESAS is not set @@ -288,12 +290,14 @@ CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y CONFIG_ARM64_CNP=y CONFIG_ARM64_CRYPTO=y +CONFIG_ARM64_E0PD=y CONFIG_ARM64_ERRATUM_1024718=y CONFIG_ARM64_ERRATUM_1165522=y CONFIG_ARM64_ERRATUM_1286807=y CONFIG_ARM64_ERRATUM_1319367=y CONFIG_ARM64_ERRATUM_1418040=y CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_ERRATUM_1542419=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y @@ -319,6 +323,7 @@ CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_ARM64_UAO=y +CONFIG_ARM64_USE_LSE_ATOMICS=y # CONFIG_ARM64_VA_BITS_39 is not set CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y @@ -354,6 +359,7 @@ CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC=y CONFIG_ARM_GLOBAL_TIMER=y # CONFIG_ARM_IMX6Q_CPUFREQ is not set +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m CONFIG_ARM_IMX_CPUFREQ_DT=m CONFIG_ARM_MHU=m CONFIG_ARM_PL172_MPMC=m @@ -376,6 +382,7 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SDE_INTERFACE=y CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU_V3_PMU=m CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y @@ -413,6 +420,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -520,6 +528,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -568,6 +577,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -648,6 +658,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -667,12 +678,14 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -835,11 +848,10 @@ CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -957,9 +969,11 @@ CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_HSDK is not set CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y +# CONFIG_CLK_IMX8MP is not set CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8QXP=y -# CONFIG_CLK_QORIQ is not set +CONFIG_CLK_LS1028A_PLLDIG=y +CONFIG_CLK_QORIQ=y CONFIG_CLK_RASPBERRYPI=y # CONFIG_CLK_SIFIVE is not set CONFIG_CLK_SP810=y @@ -1000,6 +1014,7 @@ CONFIG_COMMON_CLK_BD718XX=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_HI3516CV300 is not set CONFIG_COMMON_CLK_HI3519=m CONFIG_COMMON_CLK_HI3660=y @@ -1062,6 +1077,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1183,6 +1199,9 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m @@ -1388,12 +1407,14 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1410,7 +1431,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1464,6 +1485,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1474,7 +1496,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1503,7 +1525,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1528,6 +1550,7 @@ CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set CONFIG_DRM_NXP_PTN3460=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1535,6 +1558,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1562,11 +1586,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1745,6 +1772,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_EFI_RCI2_TABLE is not set @@ -1778,9 +1806,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1809,6 +1837,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -2029,11 +2060,6 @@ CONFIG_GENEVE=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m CONFIG_GIANFAR=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2059,6 +2085,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -2084,6 +2111,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2242,6 +2270,7 @@ CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m CONFIG_HIGH_RES_TIMERS=y # CONFIG_HIPPI is not set +CONFIG_HISI_DMA=m CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_HISILICON_IRQ_MBIGEN=y @@ -2289,6 +2318,7 @@ CONFIG_HW_RANDOM_CAVIUM=m CONFIG_HW_RANDOM_HISI=m CONFIG_HW_RANDOM_HISI_V2=y CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_OPTEE=m @@ -2300,8 +2330,6 @@ CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK_QCOM=m CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ=100 # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y @@ -2366,7 +2394,6 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NOMADIK is not set CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2498,7 +2525,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2521,6 +2548,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2557,6 +2585,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2634,6 +2669,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m CONFIG_INTERCONNECT=m +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set CONFIG_INTERCONNECT_QCOM_SDM845=m @@ -2721,6 +2757,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -2996,6 +3033,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3169,6 +3207,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3400,6 +3439,7 @@ CONFIG_MFD_MAX77686=y CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set CONFIG_MFD_ROHM_BD718XX=y # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3437,6 +3477,7 @@ CONFIG_MFD_TPS68470=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3448,6 +3489,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3602,6 +3644,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3622,6 +3667,7 @@ CONFIG_MSM_GPUCC_8998=m CONFIG_MSM_MMCC_8960=m CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3646,7 +3692,9 @@ CONFIG_MTD_CFI=m CONFIG_MTD_CFI_STAA=m # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y # CONFIG_MTD_DOCG3 is not set # CONFIG_MTD_HYPERBUS is not set # CONFIG_MTD_INTEL_VR_NOR is not set @@ -3668,7 +3716,7 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set +CONFIG_MTD_NAND_FSL_IFC=m # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND_MARVELL=m @@ -3688,8 +3736,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3701,7 +3752,7 @@ CONFIG_MTD_RAW_NAND=m CONFIG_MTD_SPI_NAND=m CONFIG_MTD_SPI_NOR=m # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set -# CONFIG_MTD_SST25L is not set +CONFIG_MTD_SST25L=m # CONFIG_MTD_SWAP is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -3795,6 +3846,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3803,7 +3855,7 @@ CONFIG_NET_DSA=m # CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m -# CONFIG_NET_DSA_MSCC_FELIX is not set +CONFIG_NET_DSA_MSCC_FELIX=m CONFIG_NET_DSA_MT7530=m # CONFIG_NET_DSA_MV88E6060 is not set CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y @@ -3815,6 +3867,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3954,8 +4007,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4139,11 +4194,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4291,6 +4348,7 @@ CONFIG_NVMEM_IMX_OCOTP=m CONFIG_NVMEM_IMX_OCOTP_SCU=m # CONFIG_NVMEM_REBOOT_MODE is not set # CONFIG_NVMEM_SNVS_LPGPR is not set +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4315,6 +4373,7 @@ CONFIG_OCFS2_FS_O2CB=m # CONFIG_OCFS2_FS_STATS is not set CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m CONFIG_OCTEONTX2_AF=m +CONFIG_OCTEONTX2_PF=m CONFIG_OF_ADDRESS=y CONFIG_OF_DYNAMIC=y CONFIG_OF_EARLY_FLATTREE=y @@ -4524,6 +4583,7 @@ CONFIG_PHY_HI3660_USB=m CONFIG_PHY_HI6220_USB=m CONFIG_PHY_HISI_INNO_USB2=m CONFIG_PHY_HISTB_COMBPHY=m +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4550,6 +4610,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4585,6 +4646,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_GEMINILAKE is not set CONFIG_PINCTRL_IMX8MM=y CONFIG_PINCTRL_IMX8MN=y +# CONFIG_PINCTRL_IMX8MP is not set CONFIG_PINCTRL_IMX8MQ=y CONFIG_PINCTRL_IMX8QM=y CONFIG_PINCTRL_IMX8QXP=y @@ -4644,6 +4706,7 @@ CONFIG_PINCTRL_SUN50I_H6=y # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -4654,6 +4717,7 @@ CONFIG_PL353_SMC=m CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM8916_WATCHDOG=m # CONFIG_PM_ADVANCED_DEBUG is not set @@ -4762,7 +4826,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK_QORIQ=m CONFIG_PTP_1588_CLOCK=y @@ -4798,6 +4864,7 @@ CONFIG_QCOM_CLK_RPMH=y CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_CPR=m # CONFIG_QCOM_EBI2 is not set CONFIG_QCOM_EMAC=m # CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set @@ -4829,11 +4896,12 @@ CONFIG_QCOM_RMTFS_MEM=m CONFIG_QCOM_RPMHPD=y CONFIG_QCOM_RPMH=y # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m -# CONFIG_QCOM_SOCINFO is not set +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4861,13 +4929,14 @@ CONFIG_QLCNIC_SRIOV=y CONFIG_QLGE=m # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set -# CONFIG_QORIQ_CPUFREQ is not set +CONFIG_QORIQ_CPUFREQ=m CONFIG_QORIQ_THERMAL=m CONFIG_QRTR=m CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -4982,6 +5051,8 @@ CONFIG_REGULATOR_MAX77802=m # CONFIG_REGULATOR_MAX8952 is not set CONFIG_REGULATOR_MAX8973=m # CONFIG_REGULATOR_MCP16502 is not set +CONFIG_REGULATOR_MP8859=m +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PFUZE100=m # CONFIG_REGULATOR_PV88060 is not set @@ -5007,6 +5078,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -5020,9 +5092,11 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_HISI=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m CONFIG_RESET_QCOM_AOSS=y CONFIG_RESET_QCOM_PDC=m @@ -5053,7 +5127,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5181,7 +5255,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m # CONFIG_RTC_DRV_PL030 is not set @@ -5285,7 +5359,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5397,6 +5473,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m CONFIG_SDM_CAMCC_845=m @@ -5425,6 +5502,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5442,6 +5521,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5463,6 +5543,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5537,8 +5618,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5610,8 +5693,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set CONFIG_SENSORS_XGENE=m CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5630,6 +5715,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5778,6 +5864,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5838,7 +5925,7 @@ CONFIG_SND_HRTIMER=m CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m -# CONFIG_SND_IMX_SOC is not set +CONFIG_SND_IMX_SOC=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m @@ -5967,8 +6054,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set CONFIG_SND_SOC_IMX_AUDMIX=m -# CONFIG_SND_SOC_IMX_AUDMUX is not set +CONFIG_SND_SOC_IMX_AUDMUX=m # CONFIG_SND_SOC_IMX_ES8328 is not set +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m @@ -5984,6 +6073,7 @@ CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m CONFIG_SND_SOC_MSM8996=m # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -6016,12 +6106,16 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_RT5663=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SDM845=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m @@ -6101,10 +6195,11 @@ CONFIG_SND_SOC_WM8804_SPI=m # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set CONFIG_SND_SOC_WM8960=m -# CONFIG_SND_SOC_WM8962 is not set +CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m CONFIG_SND_SOC_XILINX_I2S=m CONFIG_SND_SOC_XILINX_SPDIF=m @@ -6157,6 +6252,7 @@ CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y CONFIG_SOUNDWIRE_CADENCE=m # CONFIG_SOUNDWIRE_INTEL is not set +CONFIG_SOUNDWIRE_QCOM=m CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_MANUAL=y @@ -6183,6 +6279,7 @@ CONFIG_SPI_FSL_QUADSPI=m # CONFIG_SPI_FSL_SPI is not set CONFIG_SPI_GPIO=m CONFIG_SPI_HISI_SFC=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6197,7 +6294,7 @@ CONFIG_SPI_MESON_SPIFC=m CONFIG_SPI_ORION=m CONFIG_SPI_PL022=m # CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_QCOM_GENI is not set +CONFIG_SPI_QCOM_GENI=m CONFIG_SPI_QCOM_QSPI=m CONFIG_SPI_QUP=m CONFIG_SPI_ROCKCHIP=m @@ -6256,6 +6353,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6275,6 +6373,7 @@ CONFIG_STMPE_ADC=m CONFIG_STMPE_I2C=y CONFIG_STMPE_SPI=y CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_STUB_CLK_HI3660=y @@ -6292,6 +6391,7 @@ CONFIG_SUN50I_H6_R_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m # CONFIG_SUN8I_V3S_CCU is not set CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set @@ -6319,6 +6419,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6462,7 +6563,6 @@ CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set CONFIG_THUNDER_NIC_BGX=m CONFIG_THUNDER_NIC_PF=m CONFIG_THUNDER_NIC_RGX=m @@ -7183,6 +7283,7 @@ CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m @@ -7222,7 +7323,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7254,6 +7354,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7321,6 +7422,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7360,7 +7463,6 @@ CONFIG_WLCORE_SPI=m # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set CONFIG_XDP_SOCKETS_DIAG=m CONFIG_XDP_SOCKETS=y # CONFIG_XEN_GRANT_DMA_ALLOC is not set @@ -7417,6 +7519,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config index 76d39eeab..908fe1217 100644 --- a/kernel-armv7hl-debug-fedora.config +++ b/kernel-armv7hl-debug-fedora.config @@ -67,6 +67,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -248,6 +249,7 @@ CONFIG_ARCH_OMAP3=y CONFIG_ARCH_OMAP4=y # CONFIG_ARCH_PXA is not set CONFIG_ARCH_QCOM=y +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_RENESAS is not set @@ -338,6 +340,7 @@ CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HIGHBANK_CPUFREQ=m # CONFIG_ARM_HIGHBANK_CPUIDLE is not set CONFIG_ARM_IMX6Q_CPUFREQ=m +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_KPROBES_TEST=m # CONFIG_ARM_LPAE is not set @@ -363,6 +366,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_SPE_PMU=m @@ -407,6 +411,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -518,6 +523,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -572,6 +578,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -653,6 +660,7 @@ CONFIG_BLK_WBT=y CONFIG_BL_SWITCHER=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -672,11 +680,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -842,11 +852,10 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -999,6 +1008,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set CONFIG_COMMON_CLK_MAX77686=y # CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_MMP2=y @@ -1052,6 +1062,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set @@ -1165,10 +1176,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_OMAP_AES is not set +CONFIG_CRYPTO_DEV_OMAP_AES=m CONFIG_CRYPTO_DEV_OMAP_DES=m CONFIG_CRYPTO_DEV_OMAP=m CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m @@ -1387,6 +1401,7 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m # CONFIG_DM9000 is not set @@ -1394,6 +1409,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1412,7 +1428,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1467,6 +1483,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1477,7 +1494,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1526,7 +1543,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1557,6 +1574,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1564,6 +1582,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1591,11 +1610,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1780,6 +1802,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y # CONFIG_EFI_RCI2_TABLE is not set @@ -1813,9 +1836,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1852,6 +1875,9 @@ CONFIG_EXYNOS_THERMAL=y # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -2057,11 +2083,6 @@ CONFIG_GENEVE=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m # CONFIG_GIANFAR is not set -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2089,6 +2110,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -2114,6 +2136,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2317,6 +2340,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP3_ROM=m CONFIG_HW_RANDOM_OMAP=m @@ -2332,8 +2356,6 @@ CONFIG_HWSPINLOCK_QCOM=m # CONFIG_HWSPINLOCK_STM32 is not set CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2398,7 +2420,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2530,7 +2551,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2542,7 +2563,7 @@ CONFIG_IMX_SC_WDT=m CONFIG_IMX_SDMA=m CONFIG_IMX_THERMAL=m CONFIG_IMX_WEIM=y -# CONFIG_INA2XX_ADC is not set +CONFIG_INA2XX_ADC=m CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m @@ -2550,6 +2571,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2586,6 +2608,13 @@ CONFIG_INFINIBAND_QEDR=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2674,6 +2703,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -2759,6 +2789,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -3039,6 +3070,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3215,6 +3247,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3467,6 +3500,7 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set CONFIG_MFD_SEC_CORE=y @@ -3508,6 +3542,7 @@ CONFIG_MFD_TPS80031=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3519,6 +3554,7 @@ CONFIG_MFD_WM8994=m CONFIG_MICREL_KS8995MA=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3681,6 +3717,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3702,6 +3741,7 @@ CONFIG_MSM_GCC_8996=y CONFIG_MSM_MMCC_8960=m CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3750,7 +3790,6 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_GPMI_NAND=m # CONFIG_MTD_NAND_HISI504 is not set @@ -3775,8 +3814,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3882,6 +3924,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3902,6 +3945,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -4040,8 +4084,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4224,11 +4270,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4373,6 +4421,7 @@ CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4634,6 +4683,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4663,6 +4713,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4752,6 +4803,7 @@ CONFIG_PINCTRL_SUN9I_A80=y # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_ZYNQ=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4768,6 +4820,7 @@ CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM8916_WATCHDOG=m CONFIG_PM_ADVANCED_DEBUG=y @@ -4877,7 +4930,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4921,6 +4976,7 @@ CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m CONFIG_QCOM_COMMAND_DB=y +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4939,6 +4995,7 @@ CONFIG_QCOM_PM=y CONFIG_QCOM_QFPROM=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SMD_RPM=m # CONFIG_QCOM_SMEM is not set CONFIG_QCOM_SMP2P=m @@ -4978,6 +5035,7 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -5097,6 +5155,8 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PALMAS=y CONFIG_REGULATOR_PBIAS=m @@ -5138,6 +5198,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR_WM8994=m CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set @@ -5151,8 +5212,10 @@ CONFIG_RELAY=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m @@ -5184,7 +5247,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5319,7 +5382,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_PL030=y @@ -5431,7 +5494,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5542,6 +5607,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDM_CAMCC_845 is not set @@ -5570,6 +5636,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5586,6 +5654,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5609,6 +5678,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DA9052_ADC=m CONFIG_SENSORS_DA9055=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5683,8 +5753,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5757,8 +5829,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5781,6 +5855,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5937,6 +6012,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -6165,6 +6241,7 @@ CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -6204,9 +6281,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SAMSUNG=m CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m @@ -6302,6 +6383,7 @@ CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -6403,8 +6485,9 @@ CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m -# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_SPI=m CONFIG_SPI_GPIO=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6482,6 +6565,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6543,6 +6627,7 @@ CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -6571,6 +6656,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6714,7 +6800,6 @@ CONFIG_THERMAL_STATISTICS=y CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y # CONFIG_THUMB2_KERNEL is not set -# CONFIG_THUNDERBOLT is not set CONFIG_TI_ADC081C=m # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -7174,7 +7259,6 @@ CONFIG_USB_MICROTEK=m # CONFIG_USB_MIDI_GADGET is not set CONFIG_USB_MON=y CONFIG_USB_MR800=m -CONFIG_USB_MUSB_AM335X_CHILD=m CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_DSPS=m CONFIG_USB_MUSB_DUAL_ROLE=y @@ -7485,6 +7569,7 @@ CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m @@ -7544,7 +7629,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7575,6 +7659,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7642,6 +7727,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7740,6 +7827,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config index d6f59bf7f..c56bd894e 100644 --- a/kernel-armv7hl-fedora.config +++ b/kernel-armv7hl-fedora.config @@ -67,6 +67,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -248,6 +249,7 @@ CONFIG_ARCH_OMAP3=y CONFIG_ARCH_OMAP4=y # CONFIG_ARCH_PXA is not set CONFIG_ARCH_QCOM=y +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_RENESAS is not set @@ -338,6 +340,7 @@ CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HIGHBANK_CPUFREQ=m # CONFIG_ARM_HIGHBANK_CPUIDLE is not set CONFIG_ARM_IMX6Q_CPUFREQ=m +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_KPROBES_TEST=m # CONFIG_ARM_LPAE is not set @@ -363,6 +366,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_SPE_PMU=m @@ -407,6 +411,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -518,6 +523,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -572,6 +578,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -653,6 +660,7 @@ CONFIG_BLK_WBT=y CONFIG_BL_SWITCHER=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -672,11 +680,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -842,11 +852,10 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -999,6 +1008,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set CONFIG_COMMON_CLK_MAX77686=y # CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_MMP2=y @@ -1052,6 +1062,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set @@ -1165,10 +1176,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_MXS_DCP=m # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_OMAP_AES is not set +CONFIG_CRYPTO_DEV_OMAP_AES=m CONFIG_CRYPTO_DEV_OMAP_DES=m CONFIG_CRYPTO_DEV_OMAP=m CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m @@ -1380,6 +1394,7 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m # CONFIG_DM9000 is not set @@ -1387,6 +1402,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1405,7 +1421,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1460,6 +1476,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1470,7 +1487,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1519,7 +1536,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1550,6 +1567,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1557,6 +1575,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1584,11 +1603,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1773,6 +1795,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_EFI_RCI2_TABLE is not set @@ -1806,9 +1829,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1845,6 +1868,9 @@ CONFIG_EXYNOS_THERMAL=y # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -2042,11 +2068,6 @@ CONFIG_GENEVE=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m # CONFIG_GIANFAR is not set -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2074,6 +2095,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -2099,6 +2121,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2302,6 +2325,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP3_ROM=m CONFIG_HW_RANDOM_OMAP=m @@ -2317,8 +2341,6 @@ CONFIG_HWSPINLOCK_QCOM=m # CONFIG_HWSPINLOCK_STM32 is not set CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2383,7 +2405,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2515,7 +2536,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2527,7 +2548,7 @@ CONFIG_IMX_SC_WDT=m CONFIG_IMX_SDMA=m CONFIG_IMX_THERMAL=m CONFIG_IMX_WEIM=y -# CONFIG_INA2XX_ADC is not set +CONFIG_INA2XX_ADC=m CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m @@ -2535,6 +2556,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2571,6 +2593,13 @@ CONFIG_INFINIBAND_QEDR=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2659,6 +2688,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -2744,6 +2774,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -3022,6 +3053,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3198,6 +3230,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3449,6 +3482,7 @@ CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set CONFIG_MFD_SEC_CORE=y @@ -3490,6 +3524,7 @@ CONFIG_MFD_TPS80031=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3501,6 +3536,7 @@ CONFIG_MFD_WM8994=m CONFIG_MICREL_KS8995MA=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3662,6 +3698,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3683,6 +3722,7 @@ CONFIG_MSM_GCC_8996=y CONFIG_MSM_MMCC_8960=m CONFIG_MSM_MMCC_8974=m CONFIG_MSM_MMCC_8996=m +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3731,7 +3771,6 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_GPMI_NAND=m # CONFIG_MTD_NAND_HISI504 is not set @@ -3756,8 +3795,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3863,6 +3905,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3883,6 +3926,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -4021,8 +4065,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4205,11 +4251,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4354,6 +4402,7 @@ CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4615,6 +4664,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4644,6 +4694,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4733,6 +4784,7 @@ CONFIG_PINCTRL_SUN9I_A80=y # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y CONFIG_PINCTRL_ZYNQ=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4749,6 +4801,7 @@ CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM8916_WATCHDOG=m # CONFIG_PM_ADVANCED_DEBUG is not set @@ -4857,7 +4910,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4901,6 +4956,7 @@ CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m CONFIG_QCOM_COMMAND_DB=y +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4919,6 +4975,7 @@ CONFIG_QCOM_PM=y CONFIG_QCOM_QFPROM=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SMD_RPM=m # CONFIG_QCOM_SMEM is not set CONFIG_QCOM_SMP2P=m @@ -4958,6 +5015,7 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -5077,6 +5135,8 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PALMAS=y CONFIG_REGULATOR_PBIAS=m @@ -5118,6 +5178,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR_WM8994=m CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set @@ -5131,8 +5192,10 @@ CONFIG_RELAY=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m @@ -5164,7 +5227,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5299,7 +5362,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_PL030=y @@ -5411,7 +5474,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5522,6 +5587,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDM_CAMCC_845 is not set @@ -5550,6 +5616,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5566,6 +5634,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5589,6 +5658,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DA9052_ADC=m CONFIG_SENSORS_DA9055=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5663,8 +5733,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5737,8 +5809,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5761,6 +5835,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5917,6 +5992,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -6144,6 +6220,7 @@ CONFIG_SND_SOC_MAX98927=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -6183,9 +6260,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SAMSUNG=m CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m @@ -6281,6 +6362,7 @@ CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -6382,8 +6464,9 @@ CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m -# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_SPI=m CONFIG_SPI_GPIO=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6461,6 +6544,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6522,6 +6606,7 @@ CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -6550,6 +6635,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6693,7 +6779,6 @@ CONFIG_THERMAL_STATISTICS=y CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y # CONFIG_THUMB2_KERNEL is not set -# CONFIG_THUNDERBOLT is not set CONFIG_TI_ADC081C=m # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -7153,7 +7238,6 @@ CONFIG_USB_MICROTEK=m # CONFIG_USB_MIDI_GADGET is not set CONFIG_USB_MON=y CONFIG_USB_MR800=m -CONFIG_USB_MUSB_AM335X_CHILD=m CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_DSPS=m CONFIG_USB_MUSB_DUAL_ROLE=y @@ -7464,6 +7548,7 @@ CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m @@ -7523,7 +7608,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7554,6 +7638,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7621,6 +7706,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7662,7 +7749,6 @@ CONFIG_WLCORE_SPI=m # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set CONFIG_XDP_SOCKETS_DIAG=m CONFIG_XDP_SOCKETS=y # CONFIG_XEN_GRANT_DMA_ALLOC is not set @@ -7719,6 +7805,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config index 28225d806..bb077007b 100644 --- a/kernel-armv7hl-lpae-debug-fedora.config +++ b/kernel-armv7hl-lpae-debug-fedora.config @@ -67,6 +67,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -240,6 +241,7 @@ CONFIG_ARCH_MVEBU=y # CONFIG_ARCH_OMAP4 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_QCOM is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_RENESAS is not set @@ -330,6 +332,7 @@ CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HIGHBANK_CPUFREQ=m # CONFIG_ARM_HIGHBANK_CPUIDLE is not set # CONFIG_ARM_IMX6Q_CPUFREQ is not set +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_KPROBES_TEST=m CONFIG_ARM_LPAE=y @@ -355,6 +358,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_SPE_PMU=m @@ -396,6 +400,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -506,6 +511,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -551,6 +557,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -632,6 +639,7 @@ CONFIG_BLK_WBT=y CONFIG_BL_SWITCHER=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -651,11 +659,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -820,11 +830,10 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -972,6 +981,7 @@ CONFIG_CNIC=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set CONFIG_COMMON_CLK_MAX77686=y # CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_PALMAS=m @@ -1023,6 +1033,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set @@ -1136,10 +1147,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_OMAP_AES is not set +CONFIG_CRYPTO_DEV_OMAP_AES=m CONFIG_CRYPTO_DEV_OMAP_DES=m CONFIG_CRYPTO_DEV_OMAP=m CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m @@ -1355,6 +1369,7 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m # CONFIG_DM9000 is not set @@ -1362,6 +1377,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1380,7 +1396,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1435,6 +1451,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1445,7 +1462,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1490,7 +1507,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1512,6 +1529,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1519,6 +1537,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1546,11 +1565,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1732,6 +1754,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y # CONFIG_EFI_RCI2_TABLE is not set @@ -1765,9 +1788,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1803,6 +1826,9 @@ CONFIG_EXYNOS_THERMAL=y # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -2007,11 +2033,6 @@ CONFIG_GENEVE=m # CONFIG_GENWQE is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2038,6 +2059,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -2063,6 +2085,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2262,6 +2285,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_KEYSTONE=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m @@ -2275,8 +2299,6 @@ CONFIG_HWSPINLOCK_OMAP=m # CONFIG_HWSPINLOCK_STM32 is not set CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2342,7 +2364,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2472,7 +2493,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2482,7 +2503,7 @@ CONFIG_IMX_MBOX=m CONFIG_IMX_SC_WDT=m CONFIG_IMX_SDMA=m # CONFIG_IMX_WEIM is not set -# CONFIG_INA2XX_ADC is not set +CONFIG_INA2XX_ADC=m CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m @@ -2490,6 +2511,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2526,6 +2548,13 @@ CONFIG_INFINIBAND_QEDR=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2605,6 +2634,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -2690,6 +2720,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -2966,6 +2997,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3141,6 +3173,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3383,6 +3416,7 @@ CONFIG_MFD_PALMAS=y CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set CONFIG_MFD_SEC_CORE=y @@ -3423,6 +3457,7 @@ CONFIG_MFD_TPS68470=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3434,6 +3469,7 @@ CONFIG_MFD_WM8994=m CONFIG_MICREL_KS8995MA=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3590,6 +3626,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3601,6 +3640,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set # CONFIG_MSM_GCC_8998 is not set # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3650,7 +3690,6 @@ CONFIG_MTD_NAND_DAVINCI=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set CONFIG_MTD_NAND_GPIO=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND_MARVELL=m @@ -3673,8 +3712,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3780,6 +3822,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3800,6 +3843,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3938,8 +3982,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4121,11 +4167,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4268,6 +4316,7 @@ CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4521,6 +4570,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4545,6 +4595,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m # CONFIG_PHY_QCOM_USB_HSIC is not set # CONFIG_PHY_QCOM_USB_HS is not set +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4623,6 +4674,7 @@ CONFIG_PINCTRL_SUN9I_A80_R=y CONFIG_PINCTRL_SUN9I_A80=y # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4639,6 +4691,7 @@ CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_AUTOSLEEP is not set @@ -4744,7 +4797,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4779,6 +4834,7 @@ CONFIG_QCOM_A53PLL=m # CONFIG_QCOM_APR is not set CONFIG_QCOM_CLK_APCS_MSM8916=m # CONFIG_QCOM_COMMAND_DB is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4793,6 +4849,7 @@ CONFIG_QCOM_PDC=y CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCS_GCC_404=m @@ -4820,6 +4877,7 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -4930,6 +4988,8 @@ CONFIG_REGULATOR_MAX8952=m CONFIG_REGULATOR_MAX8973=m CONFIG_REGULATOR_MAX8997=m # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PALMAS=y CONFIG_REGULATOR_PBIAS=m @@ -4965,6 +5025,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR_WM8994=m CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set @@ -4978,8 +5039,10 @@ CONFIG_RELAY=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m @@ -5011,7 +5074,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5139,7 +5202,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_PL030=y @@ -5248,7 +5311,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5359,6 +5424,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDM_CAMCC_845 is not set @@ -5387,6 +5453,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5403,6 +5471,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5424,6 +5493,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5498,8 +5568,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5571,8 +5643,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5594,6 +5668,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5743,6 +5818,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5803,6 +5879,7 @@ CONFIG_SND_HRTIMER=m CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m +CONFIG_SND_IMX_SOC=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m @@ -5937,8 +6014,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set -# CONFIG_SND_SOC_IMX_AUDMUX is not set +CONFIG_SND_SOC_IMX_AUDMUX=m # CONFIG_SND_SOC_IMX_ES8328 is not set +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m @@ -5954,6 +6033,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5989,9 +6069,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SAMSUNG=m CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m @@ -6077,10 +6161,11 @@ CONFIG_SND_SOC_WM8804_SPI=m # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set CONFIG_SND_SOC_WM8960=m -# CONFIG_SND_SOC_WM8962 is not set +CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -6131,6 +6216,7 @@ CONFIG_SOC_EXYNOS5800=y # CONFIG_SOC_HAS_OMAP2_SDRC is not set CONFIG_SOC_HAS_REALTIME_COUNTER=y # CONFIG_SOC_IMX6SLL is not set +# CONFIG_SOC_LS1021A is not set CONFIG_SOC_OMAP5=y CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set @@ -6164,8 +6250,9 @@ CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m -# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_SPI=m CONFIG_SPI_GPIO=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6237,6 +6324,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6294,6 +6382,7 @@ CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -6322,6 +6411,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6465,7 +6555,6 @@ CONFIG_THERMAL_STATISTICS=y CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y # CONFIG_THUMB2_KERNEL is not set -# CONFIG_THUNDERBOLT is not set CONFIG_TI_ADC081C=m # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6913,7 +7002,6 @@ CONFIG_USB_MICROTEK=m # CONFIG_USB_MIDI_GADGET is not set CONFIG_USB_MON=y CONFIG_USB_MR800=m -CONFIG_USB_MUSB_AM335X_CHILD=m CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_DSPS=m CONFIG_USB_MUSB_DUAL_ROLE=y @@ -7215,6 +7303,7 @@ CONFIG_VIDEO_MXB=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m @@ -7267,7 +7356,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7298,6 +7386,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7365,6 +7454,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7461,6 +7552,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config index 73bb515c0..d06900a42 100644 --- a/kernel-armv7hl-lpae-fedora.config +++ b/kernel-armv7hl-lpae-fedora.config @@ -67,6 +67,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -240,6 +241,7 @@ CONFIG_ARCH_MVEBU=y # CONFIG_ARCH_OMAP4 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_QCOM is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_RENESAS is not set @@ -330,6 +332,7 @@ CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HIGHBANK_CPUFREQ=m # CONFIG_ARM_HIGHBANK_CPUIDLE is not set # CONFIG_ARM_IMX6Q_CPUFREQ is not set +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m # CONFIG_ARM_IMX_CPUFREQ_DT is not set CONFIG_ARM_KPROBES_TEST=m CONFIG_ARM_LPAE=y @@ -355,6 +358,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m CONFIG_ARM_SCPI_POWER_DOMAIN=m CONFIG_ARM_SCPI_PROTOCOL=m CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_SPE_PMU=m @@ -396,6 +400,7 @@ CONFIG_ATH10K_SNOC=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -506,6 +511,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -551,6 +557,7 @@ CONFIG_BCM2835_THERMAL=m CONFIG_BCM2835_VCHIQ=m CONFIG_BCM2835_WDT=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -632,6 +639,7 @@ CONFIG_BLK_WBT=y CONFIG_BL_SWITCHER=y CONFIG_BMA180=m # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -651,11 +659,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -820,11 +830,10 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_SOFTING=m CONFIG_CAN_SUN4I=m # CONFIG_CAN_TI_HECC is not set -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m CONFIG_CAN_XILINXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -972,6 +981,7 @@ CONFIG_CNIC=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set CONFIG_COMMON_CLK_MAX77686=y # CONFIG_COMMON_CLK_MAX9485 is not set CONFIG_COMMON_CLK_PALMAS=m @@ -1023,6 +1033,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set @@ -1136,10 +1147,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_OMAP_AES is not set +CONFIG_CRYPTO_DEV_OMAP_AES=m CONFIG_CRYPTO_DEV_OMAP_DES=m CONFIG_CRYPTO_DEV_OMAP=m CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m @@ -1348,6 +1362,7 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m # CONFIG_DM9000 is not set @@ -1355,6 +1370,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1373,7 +1389,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1428,6 +1444,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ARCPGU is not set @@ -1438,7 +1455,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m @@ -1483,7 +1500,7 @@ CONFIG_DRM_KOMEDA=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LIMA=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_LVDS_ENCODER=m +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m CONFIG_DRM_MALI_DISPLAY=m # CONFIG_DRM_MCDE is not set @@ -1505,6 +1522,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m CONFIG_DRM_PANEL_ARM_VERSATILE=m +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m CONFIG_DRM_PANEL_ILITEK_IL9322=m @@ -1512,6 +1530,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m @@ -1539,11 +1558,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y CONFIG_DRM_PANFROST=m CONFIG_DRM_PARADE_PS8622=m @@ -1725,6 +1747,7 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_EFI_RCI2_TABLE is not set @@ -1758,9 +1781,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1796,6 +1819,9 @@ CONFIG_EXYNOS_THERMAL=y # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1992,11 +2018,6 @@ CONFIG_GENEVE=m # CONFIG_GENWQE is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -2023,6 +2044,7 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -2048,6 +2070,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_STMPE=y CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set @@ -2247,6 +2270,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_EXYNOS=m CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_IPROC_RNG200=m CONFIG_HW_RANDOM_KEYSTONE=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m @@ -2260,8 +2284,6 @@ CONFIG_HWSPINLOCK_OMAP=m # CONFIG_HWSPINLOCK_STM32 is not set CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2327,7 +2349,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2457,7 +2478,7 @@ CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m # CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set -CONFIG_IMX_DSP=y +CONFIG_IMX_DSP=m CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2467,7 +2488,7 @@ CONFIG_IMX_MBOX=m CONFIG_IMX_SC_WDT=m CONFIG_IMX_SDMA=m # CONFIG_IMX_WEIM is not set -# CONFIG_INA2XX_ADC is not set +CONFIG_INA2XX_ADC=m CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m @@ -2475,6 +2496,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2511,6 +2533,13 @@ CONFIG_INFINIBAND_QEDR=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2590,6 +2619,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +CONFIG_INTERCONNECT_QCOM_MSM8916=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set # CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -2675,6 +2705,7 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_IP_PNP is not set # CONFIG_IPQ_GCC_4019 is not set +# CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set # CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set @@ -2949,6 +2980,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -3124,6 +3156,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3365,6 +3398,7 @@ CONFIG_MFD_PALMAS=y CONFIG_MFD_RK808=y # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set CONFIG_MFD_SEC_CORE=y @@ -3405,6 +3439,7 @@ CONFIG_MFD_TPS68470=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3416,6 +3451,7 @@ CONFIG_MFD_WM8994=m CONFIG_MICREL_KS8995MA=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3571,6 +3607,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPL3115=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3582,6 +3621,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GCC_8994 is not set # CONFIG_MSM_GCC_8998 is not set # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3631,7 +3671,6 @@ CONFIG_MTD_NAND_DAVINCI=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set CONFIG_MTD_NAND_GPIO=m # CONFIG_MTD_NAND_HISI504 is not set CONFIG_MTD_NAND_MARVELL=m @@ -3654,8 +3693,11 @@ CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_IXP4XX is not set CONFIG_MTD_PHYSMAP=m -# CONFIG_MTD_PHYSMAP_OF is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_PHYSMAP_VERSATILE is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set @@ -3761,6 +3803,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3781,6 +3824,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3919,8 +3963,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -4102,11 +4148,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4249,6 +4297,7 @@ CONFIG_NVMEM_IMX_IIM=m CONFIG_NVMEM_IMX_OCOTP=m # CONFIG_NVMEM_REBOOT_MODE is not set CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m CONFIG_NVMEM_STM32_ROMEM=m CONFIG_NVMEM_SUNXI_SID=m CONFIG_NVMEM_SYSFS=y @@ -4502,6 +4551,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4526,6 +4576,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m CONFIG_PHY_QCOM_UFS=m # CONFIG_PHY_QCOM_USB_HSIC is not set # CONFIG_PHY_QCOM_USB_HS is not set +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m @@ -4604,6 +4655,7 @@ CONFIG_PINCTRL_SUN9I_A80_R=y CONFIG_PINCTRL_SUN9I_A80=y # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PJ4B_ERRATA_4742=y CONFIG_PKCS7_MESSAGE_PARSER=y @@ -4620,6 +4672,7 @@ CONFIG_PLATFORM_MHU=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set @@ -4724,7 +4777,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4759,6 +4814,7 @@ CONFIG_QCOM_A53PLL=m # CONFIG_QCOM_APR is not set CONFIG_QCOM_CLK_APCS_MSM8916=m # CONFIG_QCOM_COMMAND_DB is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4773,6 +4829,7 @@ CONFIG_QCOM_PDC=y CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SCM=y CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCS_GCC_404=m @@ -4800,6 +4857,7 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -4910,6 +4968,8 @@ CONFIG_REGULATOR_MAX8952=m CONFIG_REGULATOR_MAX8973=m CONFIG_REGULATOR_MAX8997=m # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set CONFIG_REGULATOR_PALMAS=y CONFIG_REGULATOR_PBIAS=m @@ -4945,6 +5005,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_VCTRL=m CONFIG_REGULATOR_VEXPRESS=m CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR_WM8994=m CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set @@ -4958,8 +5019,10 @@ CONFIG_RELAY=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_CONTROLLER=y CONFIG_RESET_IMX7=y +# CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m @@ -4991,7 +5054,7 @@ CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y +# CONFIG_ROCKCHIP_CDN_DP is not set CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y CONFIG_ROCKCHIP_EFUSE=m @@ -5119,7 +5182,7 @@ CONFIG_RTC_DRV_PCF2123=m CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF8523=m -# CONFIG_RTC_DRV_PCF85363 is not set +CONFIG_RTC_DRV_PCF85363=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_PL030=y @@ -5228,7 +5291,9 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set # CONFIG_SC_GCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -5339,6 +5404,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDM_CAMCC_845 is not set @@ -5367,6 +5433,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -5383,6 +5451,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -5404,6 +5473,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5478,8 +5548,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5551,8 +5623,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_BCM2835AUX=y CONFIG_SERIAL_8250_CONSOLE=y @@ -5574,6 +5648,7 @@ CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_RT288X=y CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set @@ -5723,6 +5798,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5783,6 +5859,7 @@ CONFIG_SND_HRTIMER=m CONFIG_SND_I2S_HI6210_I2S=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m +CONFIG_SND_IMX_SOC=m CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m @@ -5916,8 +5993,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set -# CONFIG_SND_SOC_IMX_AUDMUX is not set +CONFIG_SND_SOC_IMX_AUDMUX=m # CONFIG_SND_SOC_IMX_ES8328 is not set +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m @@ -5933,6 +6012,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5968,9 +6048,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set CONFIG_SND_SOC_SAMSUNG=m CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m @@ -6056,10 +6140,11 @@ CONFIG_SND_SOC_WM8804_SPI=m # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set CONFIG_SND_SOC_WM8960=m -# CONFIG_SND_SOC_WM8962 is not set +CONFIG_SND_SOC_WM8962=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -6110,6 +6195,7 @@ CONFIG_SOC_EXYNOS5800=y # CONFIG_SOC_HAS_OMAP2_SDRC is not set CONFIG_SOC_HAS_REALTIME_COUNTER=y # CONFIG_SOC_IMX6SLL is not set +# CONFIG_SOC_LS1021A is not set CONFIG_SOC_OMAP5=y CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set @@ -6143,8 +6229,9 @@ CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m -# CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_FSL_SPI=m CONFIG_SPI_GPIO=m +# CONFIG_SPI_HISI_SFC_V3XX is not set CONFIG_SPI_IMX=m # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -6216,6 +6303,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -6273,6 +6361,7 @@ CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y CONFIG_SUNDANCE=m @@ -6301,6 +6390,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set CONFIG_SYSCON_REBOOT_MODE=y CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -6444,7 +6534,6 @@ CONFIG_THERMAL_STATISTICS=y CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y # CONFIG_THUMB2_KERNEL is not set -# CONFIG_THUNDERBOLT is not set CONFIG_TI_ADC081C=m # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6892,7 +6981,6 @@ CONFIG_USB_MICROTEK=m # CONFIG_USB_MIDI_GADGET is not set CONFIG_USB_MON=y CONFIG_USB_MR800=m -CONFIG_USB_MUSB_AM335X_CHILD=m CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_DSPS=m CONFIG_USB_MUSB_DUAL_ROLE=y @@ -7194,6 +7282,7 @@ CONFIG_VIDEO_MXB=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_VIDEO_ROCKCHIP_RGA=m CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m @@ -7246,7 +7335,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -7277,6 +7365,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -7344,6 +7433,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -7384,7 +7475,6 @@ CONFIG_WLCORE_SPI=m # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set CONFIG_XDP_SOCKETS_DIAG=m CONFIG_XDP_SOCKETS=y # CONFIG_XEN_GRANT_DMA_ALLOC is not set @@ -7440,6 +7530,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config index c1f0feddb..2c0c7ec6a 100644 --- a/kernel-i686-debug-fedora.config +++ b/kernel-i686-debug-fedora.config @@ -102,6 +102,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -244,6 +245,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -278,6 +280,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -380,6 +383,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -420,6 +424,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -495,6 +500,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -514,11 +520,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -677,10 +685,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -820,6 +827,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -862,6 +870,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_CPU_IDLE_GOV_HALTPOLL=y @@ -1159,11 +1168,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1177,7 +1188,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1234,6 +1245,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1242,7 +1254,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1271,7 +1283,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1281,6 +1293,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1288,6 +1301,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1315,11 +1329,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1492,10 +1509,11 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y -CONFIG_EFI_RCI2_TABLE=y +# CONFIG_EFI_RCI2_TABLE is not set CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_SOFT_RESERVE=y CONFIG_EFI_STUB=y @@ -1528,9 +1546,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1557,6 +1575,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1772,11 +1793,6 @@ CONFIG_GEODE_WDT=m # CONFIG_GEOS is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1807,6 +1823,7 @@ CONFIG_GPIO_ICH=m CONFIG_GPIO_IT87=m CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_LYNXPOINT is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set @@ -1817,7 +1834,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1828,6 +1844,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set CONFIG_GPIO_SCH=m +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SODAVILLE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set @@ -2049,8 +2066,6 @@ CONFIG_HYPERV_STORAGE=m # CONFIG_HYPERV_TESTING is not set CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_VSOCKETS=m -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2107,7 +2122,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_PIIX4=m @@ -2236,6 +2250,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2272,6 +2287,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2355,6 +2377,7 @@ CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEBUGFS is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y CONFIG_INTEL_IOMMU_SVM=y CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IPS=m @@ -2738,6 +2761,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2915,6 +2939,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3131,6 +3156,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3164,6 +3190,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3175,6 +3202,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_INTEL=y @@ -3322,6 +3350,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3333,6 +3364,7 @@ CONFIG_MSDOS_PARTITION=y CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3373,7 +3405,6 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3489,6 +3520,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3509,6 +3541,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3648,8 +3681,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3832,11 +3867,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4133,6 +4170,7 @@ CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT_HOST is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCIE_INTEL_GW is not set # CONFIG_PCIE_MOBIVEIL is not set # CONFIG_PCI_ENDPOINT is not set # CONFIG_PCI_ENDPOINT_TEST is not set @@ -4197,6 +4235,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +CONFIG_PHY_INTEL_EMMC=m CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4224,6 +4263,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LYNXPOINT=m # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set @@ -4256,12 +4296,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_TIGERLAKE=m CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_AUTOSLEEP is not set @@ -4366,7 +4408,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y @@ -4386,10 +4430,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4509,6 +4553,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4527,6 +4573,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -4540,6 +4587,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set CONFIG_RETPOLINE=y # CONFIG_RFD77402 is not set @@ -4762,6 +4811,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y CONFIG_SCHED_MC_PRIO=y @@ -4872,6 +4923,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set CONFIG_SD_ADC_MODULATOR=m @@ -4895,6 +4947,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4914,6 +4968,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4938,6 +4993,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_DELL_SMM=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5018,8 +5074,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5090,8 +5148,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -5231,6 +5291,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5282,7 +5343,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 -CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m @@ -5408,6 +5469,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_AUDMUX is not set # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m @@ -5441,6 +5503,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m @@ -5458,6 +5521,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set @@ -5477,9 +5541,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5559,6 +5627,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5622,6 +5691,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_MASTER=y @@ -5671,11 +5741,12 @@ CONFIG_SSB_SDIOHOST=y CONFIG_STACKLEAK_METRICS=y CONFIG_STACKLEAK_RUNTIME_DISABLE=y CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 -CONFIG_STACKPROTECTOR_STRONG=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5692,6 +5763,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5721,6 +5793,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5853,8 +5926,6 @@ CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set -CONFIG_THUNDERBOLT_NET=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -5877,6 +5948,7 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +CONFIG_TIME_NS=y # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6075,6 +6147,8 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_UNWINDER_FRAME_POINTER=y CONFIG_UPROBE_EVENTS=y # CONFIG_US5182D is not set +CONFIG_USB4=m +CONFIG_USB4_NET=m CONFIG_USB_ACM=m CONFIG_USB_ADUTUX=m CONFIG_USB_ALI_M5632=y @@ -6528,7 +6602,6 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6564,6 +6637,7 @@ CONFIG_VMXNET3=m # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6634,6 +6708,8 @@ CONFIG_WILCO_EC=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6695,7 +6771,6 @@ CONFIG_X86_GENERIC=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_INTEL_LPSS=y # CONFIG_X86_INTEL_MID is not set -CONFIG_X86_INTEL_MPX=y CONFIG_X86_INTEL_PSTATE=y # CONFIG_X86_INTEL_QUARK is not set # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set @@ -6816,6 +6891,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config index f147467a8..0cf5f785a 100644 --- a/kernel-i686-fedora.config +++ b/kernel-i686-fedora.config @@ -102,6 +102,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -244,6 +245,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -277,6 +279,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -379,6 +382,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -419,6 +423,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -494,6 +499,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -513,11 +519,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -676,10 +684,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -819,6 +826,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -861,6 +869,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_CPU_IDLE_GOV_HALTPOLL=y @@ -1151,11 +1160,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1168,7 +1179,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1225,6 +1236,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1233,7 +1245,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1262,7 +1274,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1272,6 +1284,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1279,6 +1292,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1306,11 +1320,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1483,10 +1500,11 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set -CONFIG_EFI_RCI2_TABLE=y +# CONFIG_EFI_RCI2_TABLE is not set CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_SOFT_RESERVE=y CONFIG_EFI_STUB=y @@ -1519,9 +1537,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1548,6 +1566,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1755,11 +1776,6 @@ CONFIG_GEODE_WDT=m # CONFIG_GEOS is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1790,6 +1806,7 @@ CONFIG_GPIO_ICH=m CONFIG_GPIO_IT87=m CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_LYNXPOINT is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set @@ -1800,7 +1817,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1811,6 +1827,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set CONFIG_GPIO_SCH=m +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SODAVILLE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set @@ -2032,8 +2049,6 @@ CONFIG_HYPERV_STORAGE=m # CONFIG_HYPERV_TESTING is not set CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_VSOCKETS=m -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2090,7 +2105,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_PIIX4=m @@ -2219,6 +2233,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2255,6 +2270,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2338,6 +2360,7 @@ CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEBUGFS is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y CONFIG_INTEL_IOMMU_SVM=y CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IPS=m @@ -2719,6 +2742,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2896,6 +2920,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3112,6 +3137,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3145,6 +3171,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3156,6 +3183,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_INTEL=y @@ -3303,6 +3331,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3314,6 +3345,7 @@ CONFIG_MSDOS_PARTITION=y CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3354,7 +3386,6 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3470,6 +3501,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3490,6 +3522,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3629,8 +3662,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3813,11 +3848,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4114,6 +4151,7 @@ CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT_HOST is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCIE_INTEL_GW is not set # CONFIG_PCIE_MOBIVEIL is not set # CONFIG_PCI_ENDPOINT is not set # CONFIG_PCI_ENDPOINT_TEST is not set @@ -4178,6 +4216,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +CONFIG_PHY_INTEL_EMMC=m CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4205,6 +4244,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LYNXPOINT=m # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set @@ -4237,12 +4277,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_TIGERLAKE=m CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set @@ -4346,7 +4388,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y @@ -4366,10 +4410,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4489,6 +4533,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4507,6 +4553,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -4520,6 +4567,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set CONFIG_RETPOLINE=y # CONFIG_RFD77402 is not set @@ -4742,6 +4791,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y CONFIG_SCHED_MC_PRIO=y @@ -4852,6 +4903,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SCx200_ACB is not set # CONFIG_SCx200 is not set CONFIG_SD_ADC_MODULATOR=m @@ -4875,6 +4927,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4894,6 +4948,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4918,6 +4973,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_DELL_SMM=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -4998,8 +5054,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5070,8 +5128,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -5211,6 +5271,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5262,7 +5323,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 -CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m @@ -5387,6 +5448,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_AUDMUX is not set # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m @@ -5420,6 +5482,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m @@ -5437,6 +5500,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set @@ -5456,9 +5520,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5538,6 +5606,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5601,6 +5670,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_MASTER=y @@ -5650,11 +5720,12 @@ CONFIG_SSB_SDIOHOST=y CONFIG_STACKLEAK_METRICS=y CONFIG_STACKLEAK_RUNTIME_DISABLE=y CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 -CONFIG_STACKPROTECTOR_STRONG=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5671,6 +5742,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5700,6 +5772,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5832,8 +5905,6 @@ CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set -CONFIG_THUNDERBOLT_NET=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -5856,6 +5927,7 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +CONFIG_TIME_NS=y # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6054,6 +6126,8 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_UNWINDER_FRAME_POINTER=y CONFIG_UPROBE_EVENTS=y # CONFIG_US5182D is not set +CONFIG_USB4=m +CONFIG_USB4_NET=m CONFIG_USB_ACM=m CONFIG_USB_ADUTUX=m CONFIG_USB_ALI_M5632=y @@ -6507,7 +6581,6 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6543,6 +6616,7 @@ CONFIG_VMXNET3=m # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6613,6 +6687,8 @@ CONFIG_WILCO_EC=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6674,7 +6750,6 @@ CONFIG_X86_GENERIC=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_INTEL_LPSS=y # CONFIG_X86_INTEL_MID is not set -CONFIG_X86_INTEL_MPX=y CONFIG_X86_INTEL_PSTATE=y # CONFIG_X86_INTEL_QUARK is not set # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set @@ -6701,7 +6776,6 @@ CONFIG_X86_PM_TIMER=y # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PTDUMP is not set # CONFIG_X86_RDC321X is not set # CONFIG_X86_REBOOTFIXUPS is not set CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -6795,6 +6869,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config index fffc610e9..7488797de 100644 --- a/kernel-ppc64le-debug-fedora.config +++ b/kernel-ppc64le-debug-fedora.config @@ -66,6 +66,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -188,6 +189,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -218,6 +220,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -319,6 +322,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -357,6 +361,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -432,6 +437,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -451,11 +457,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set @@ -614,10 +622,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -752,6 +759,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -791,6 +799,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1069,11 +1078,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set @@ -1087,7 +1098,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1137,6 +1148,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1145,7 +1157,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1163,7 +1175,7 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1173,6 +1185,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1180,6 +1193,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1207,11 +1221,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1358,6 +1375,7 @@ CONFIG_EEPROM_EE1004=m CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y # CONFIG_EFI_RCI2_TABLE is not set @@ -1385,9 +1403,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1414,6 +1432,9 @@ CONFIG_EXTRA_TARGETS="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1614,11 +1635,6 @@ CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1 CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1643,6 +1659,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1651,7 +1668,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set @@ -1661,6 +1677,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -1818,7 +1835,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_ACPI=y # CONFIG_HOTPLUG_PCI_CPCI is not set CONFIG_HOTPLUG_PCI_PCIE=y -# CONFIG_HOTPLUG_PCI_POWERNV is not set +CONFIG_HOTPLUG_PCI_POWERNV=m CONFIG_HOTPLUG_PCI_RPA_DLPAR=m CONFIG_HOTPLUG_PCI_RPA=m CONFIG_HOTPLUG_PCI_SHPC=y @@ -1859,8 +1876,6 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ=100 # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y @@ -1917,7 +1932,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -2038,6 +2052,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2074,6 +2089,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2488,6 +2510,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2661,6 +2684,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -2869,6 +2893,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -2902,6 +2927,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -2913,6 +2939,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3046,6 +3073,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3056,6 +3086,7 @@ CONFIG_MSDOS_FS=m CONFIG_MSDOS_PARTITION=y CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3096,7 +3127,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3205,6 +3235,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3225,6 +3256,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3363,8 +3395,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3545,11 +3579,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -3881,6 +3917,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -3927,12 +3964,14 @@ CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SUN9I_A80 is not set # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PING is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_AUTOSLEEP is not set @@ -4069,7 +4108,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4082,10 +4123,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4104,6 +4145,7 @@ CONFIG_QLGE=m # CONFIG_QNX6FS_FS is not set CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y CONFIG_QUOTA_DEBUG=y CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -4203,6 +4245,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4221,6 +4265,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4233,6 +4278,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD77402 is not set # CONFIG_RFD_FTL is not set @@ -4455,6 +4502,8 @@ CONFIG_SBP_TARGET=m CONFIG_SC92031=m # CONFIG_SCA3000 is not set CONFIG_SCANLOG=y +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -4566,6 +4615,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y @@ -4587,6 +4637,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4603,6 +4655,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4622,6 +4675,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -4697,8 +4751,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -4768,8 +4824,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -4908,6 +4966,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5093,6 +5152,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5112,9 +5172,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5178,6 +5242,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5236,6 +5301,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -5289,6 +5355,7 @@ CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5305,6 +5372,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5334,6 +5402,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5458,7 +5527,6 @@ CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6119,7 +6187,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6150,6 +6217,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m CONFIG_VSX=y @@ -6218,6 +6286,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6313,6 +6383,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config index 8af4a2b3d..e59a04250 100644 --- a/kernel-ppc64le-fedora.config +++ b/kernel-ppc64le-fedora.config @@ -66,6 +66,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -188,6 +189,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -217,6 +219,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -318,6 +321,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -356,6 +360,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -431,6 +436,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -450,11 +456,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set @@ -613,10 +621,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -751,6 +758,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -790,6 +798,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1061,11 +1070,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set @@ -1078,7 +1089,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1128,6 +1139,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1136,7 +1148,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1154,7 +1166,7 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1164,6 +1176,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1171,6 +1184,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1198,11 +1212,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1349,6 +1366,7 @@ CONFIG_EEPROM_EE1004=m CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_EFI_RCI2_TABLE is not set @@ -1376,9 +1394,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1405,6 +1423,9 @@ CONFIG_EXTRA_TARGETS="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1597,11 +1618,6 @@ CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1 CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1626,6 +1642,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1634,7 +1651,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_PCH is not set @@ -1644,6 +1660,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -1801,7 +1818,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_ACPI=y # CONFIG_HOTPLUG_PCI_CPCI is not set CONFIG_HOTPLUG_PCI_PCIE=y -# CONFIG_HOTPLUG_PCI_POWERNV is not set +CONFIG_HOTPLUG_PCI_POWERNV=m CONFIG_HOTPLUG_PCI_RPA_DLPAR=m CONFIG_HOTPLUG_PCI_RPA=m CONFIG_HOTPLUG_PCI_SHPC=y @@ -1842,8 +1859,6 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ=100 # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y @@ -1900,7 +1915,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -2021,6 +2035,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2057,6 +2072,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2469,6 +2491,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2642,6 +2665,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -2849,6 +2873,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -2882,6 +2907,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -2893,6 +2919,7 @@ CONFIG_MFD_WL1273_CORE=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3025,6 +3052,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3035,6 +3065,7 @@ CONFIG_MSDOS_FS=m CONFIG_MSDOS_PARTITION=y CONFIG_MSI_BITMAP_SELFTEST=y # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3075,7 +3106,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3184,6 +3214,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3204,6 +3235,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3342,8 +3374,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3524,11 +3558,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -3860,6 +3896,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -3906,12 +3943,14 @@ CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SUN9I_A80 is not set # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PING is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set @@ -4047,7 +4086,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4060,10 +4101,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4082,6 +4123,7 @@ CONFIG_QLGE=m # CONFIG_QNX6FS_FS is not set CONFIG_QSEMI_PHY=m CONFIG_QTNFMAC_PCIE=m +# CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_NETLINK_INTERFACE=y @@ -4181,6 +4223,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4199,6 +4243,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4211,6 +4256,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD77402 is not set # CONFIG_RFD_FTL is not set @@ -4433,6 +4480,8 @@ CONFIG_SBP_TARGET=m CONFIG_SC92031=m # CONFIG_SCA3000 is not set CONFIG_SCANLOG=y +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHED_MC_PRIO is not set @@ -4544,6 +4593,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y @@ -4565,6 +4615,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4581,6 +4633,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4600,6 +4653,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -4675,8 +4729,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -4746,8 +4802,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -4886,6 +4944,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5070,6 +5129,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5089,9 +5149,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5155,6 +5219,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5213,6 +5278,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -5266,6 +5332,7 @@ CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5282,6 +5349,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5311,6 +5379,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5435,7 +5504,6 @@ CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THERMAL=y CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6096,7 +6164,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6127,6 +6194,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m CONFIG_VSX=y @@ -6195,6 +6263,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6234,7 +6304,6 @@ CONFIG_WLCORE_SPI=m # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set CONFIG_XDP_SOCKETS_DIAG=m CONFIG_XDP_SOCKETS=y # CONFIG_XEN_GRANT_DMA_ALLOC is not set @@ -6290,6 +6359,7 @@ CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config index cb7b54839..675cdacee 100644 --- a/kernel-s390x-debug-fedora.config +++ b/kernel-s390x-debug-fedora.config @@ -66,6 +66,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -222,6 +223,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -323,6 +325,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=m # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -361,6 +364,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -437,6 +441,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -456,11 +461,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -617,10 +624,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -758,6 +764,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -798,6 +805,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1076,11 +1084,13 @@ CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DIAG288_WATCHDOG=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set @@ -1094,7 +1104,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1144,6 +1154,7 @@ CONFIG_DRM_AMDGPU_CIK=y # CONFIG_DRM_AMDGPU is not set CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_AST is not set @@ -1152,7 +1163,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_CIRRUS_QEMU is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1170,7 +1181,7 @@ CONFIG_DRM_I2C_ADV7533=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set # CONFIG_DRM_MGAG200 is not set @@ -1180,6 +1191,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y # CONFIG_DRM_NOUVEAU is not set # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1187,6 +1199,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1214,11 +1227,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set # CONFIG_DRM_QXL is not set @@ -1364,6 +1380,7 @@ CONFIG_EEPROM_EE1004=m CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y # CONFIG_EFI_RCI2_TABLE is not set @@ -1392,9 +1409,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y # CONFIG_ETHOC is not set +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set CONFIG_EXPOLINE_AUTO=y # CONFIG_EXPOLINE_FULL is not set @@ -1421,6 +1438,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1612,11 +1632,6 @@ CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1640,6 +1655,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 # CONFIG_GPIOLIB is not set +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1648,7 +1664,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1658,6 +1673,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -1843,8 +1859,6 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y # CONFIG_HZ_200 is not set @@ -1898,7 +1912,6 @@ CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_NFORCE2_S4985 is not set CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PCA_PLATFORM is not set # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -2017,6 +2030,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2053,6 +2067,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2467,6 +2488,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2635,6 +2657,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -2844,6 +2867,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -2877,6 +2901,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TQMX86 is not set # CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_VX855 is not set +# CONFIG_MFD_WCD934X is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -2888,6 +2913,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3021,6 +3047,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3030,6 +3059,7 @@ CONFIG_MQ_IOSCHED_KYBER=y CONFIG_MSDOS_FS=m CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3070,7 +3100,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3177,6 +3206,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3197,6 +3227,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3336,8 +3367,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3517,11 +3550,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -3847,6 +3882,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -3893,6 +3929,7 @@ CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SUN9I_A80 is not set # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PING is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3900,6 +3937,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKEY=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_AUTOSLEEP is not set @@ -3997,7 +4035,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -4010,10 +4050,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QDIO=m CONFIG_QEDE=m @@ -4136,6 +4176,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4154,6 +4196,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4166,7 +4209,9 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set # CONFIG_RESET_CONTROLLER is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD77402 is not set # CONFIG_RFD_FTL is not set @@ -4395,6 +4440,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_BOOK=y CONFIG_SCHED_DEBUG=y @@ -4510,6 +4557,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y @@ -4531,6 +4579,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4547,6 +4597,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4566,6 +4617,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m # CONFIG_SENSORS_BH1770 is not set CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -4640,8 +4692,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -4711,8 +4765,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -4850,6 +4906,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5034,6 +5091,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5053,9 +5111,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5119,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5174,6 +5237,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -5226,6 +5290,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set # CONFIG_STAGING is not set CONFIG_STAGING_MEDIA=y @@ -5242,6 +5307,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5269,6 +5335,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5393,7 +5460,6 @@ CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6057,7 +6123,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6092,6 +6157,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6159,6 +6225,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m # CONFIG_WIRELESS_EXT is not set CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6250,7 +6318,9 @@ CONFIG_ZFCP=m # CONFIG_ZIIRAVE_WATCHDOG is not set CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_DFLTCC=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config index 2b96ce67c..251997b4d 100644 --- a/kernel-s390x-fedora.config +++ b/kernel-s390x-fedora.config @@ -66,6 +66,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -221,6 +222,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -322,6 +324,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=m # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -360,6 +363,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -436,6 +440,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN is not set @@ -455,11 +460,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -616,10 +623,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -757,6 +763,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -797,6 +804,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set @@ -1068,11 +1076,13 @@ CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DIAG288_WATCHDOG=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set @@ -1085,7 +1095,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1135,6 +1145,7 @@ CONFIG_DRM_AMDGPU_CIK=y # CONFIG_DRM_AMDGPU is not set CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_AST is not set @@ -1143,7 +1154,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_CIRRUS_QEMU is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1161,7 +1172,7 @@ CONFIG_DRM_I2C_ADV7533=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set # CONFIG_DRM_MGAG200 is not set @@ -1171,6 +1182,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y # CONFIG_DRM_NOUVEAU is not set # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1178,6 +1190,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1205,11 +1218,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set # CONFIG_DRM_QXL is not set @@ -1355,6 +1371,7 @@ CONFIG_EEPROM_EE1004=m CONFIG_EEPROM_IDT_89HPESX=m CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m +# CONFIG_EFI_DISABLE_PCI_DMA is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_EFI_RCI2_TABLE is not set @@ -1383,9 +1400,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y # CONFIG_ETHOC is not set +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set CONFIG_EXPOLINE_AUTO=y # CONFIG_EXPOLINE_FULL is not set @@ -1412,6 +1429,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1595,11 +1615,6 @@ CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1623,6 +1638,7 @@ CONFIG_GPIO_EXAR=m # CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB_FASTPATH_LIMIT=512 # CONFIG_GPIOLIB is not set +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1631,7 +1647,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1641,6 +1656,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -1826,8 +1842,6 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM=y CONFIG_HWSPINLOCK=y # CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m # CONFIG_HZ_1000 is not set CONFIG_HZ_100=y # CONFIG_HZ_200 is not set @@ -1881,7 +1895,6 @@ CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_NFORCE2_S4985 is not set CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PCA_PLATFORM is not set # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -2000,6 +2013,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2036,6 +2050,13 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2448,6 +2469,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2616,6 +2638,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -2824,6 +2847,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -2857,6 +2881,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TQMX86 is not set # CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_VX855 is not set +# CONFIG_MFD_WCD934X is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -2868,6 +2893,7 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y @@ -3000,6 +3026,9 @@ CONFIG_MPL115_I2C=m # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3009,6 +3038,7 @@ CONFIG_MQ_IOSCHED_KYBER=y CONFIG_MSDOS_FS=m CONFIG_MSDOS_PARTITION=y # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3049,7 +3079,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3156,6 +3185,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3176,6 +3206,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3315,8 +3346,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3496,11 +3529,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -3826,6 +3861,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_INTEL_EMMC is not set CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -3872,6 +3908,7 @@ CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SUN9I_A80 is not set # CONFIG_PINCTRL_SUN9I_A80_R is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PING is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set @@ -3879,6 +3916,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKEY=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set @@ -3975,7 +4013,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y CONFIG_PVPANIC=m @@ -3988,10 +4028,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QDIO=m CONFIG_QEDE=m @@ -4114,6 +4154,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4132,6 +4174,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m CONFIG_REISERFS_FS_POSIX_ACL=y @@ -4144,7 +4187,9 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set # CONFIG_RESET_CONTROLLER is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD77402 is not set # CONFIG_RFD_FTL is not set @@ -4373,6 +4418,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_BOOK=y CONFIG_SCHED_DEBUG=y @@ -4488,6 +4535,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set # CONFIG_SD_ADC_MODULATOR is not set CONFIG_SDIO_UART=m CONFIG_SECCOMP=y @@ -4509,6 +4557,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4525,6 +4575,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4544,6 +4595,7 @@ CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_BEL_PFE=m # CONFIG_SENSORS_BH1770 is not set CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -4618,8 +4670,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -4689,8 +4743,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -4828,6 +4884,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5011,6 +5068,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set @@ -5030,9 +5088,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5096,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5151,6 +5214,7 @@ CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set @@ -5203,6 +5267,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set # CONFIG_STAGING is not set CONFIG_STAGING_MEDIA=y @@ -5219,6 +5284,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5246,6 +5312,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5370,7 +5437,6 @@ CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_STATISTICS=y # CONFIG_THERMAL_WRITABLE_TRIPS is not set CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -6034,7 +6100,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6069,6 +6134,7 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VOP_BUS is not set CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6136,6 +6202,8 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m # CONFIG_WIRELESS_EXT is not set CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6175,7 +6243,6 @@ CONFIG_WLCORE_SPI=m # CONFIG_X25 is not set # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set CONFIG_XDP_SOCKETS_DIAG=m CONFIG_XDP_SOCKETS=y # CONFIG_XEN_GRANT_DMA_ALLOC is not set @@ -6227,7 +6294,9 @@ CONFIG_ZFCP=m # CONFIG_ZIIRAVE_WATCHDOG is not set CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_DFLTCC=y CONFIG_ZLIB_INFLATE=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index 4477b4270..c52f99776 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -106,6 +106,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -247,6 +248,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -281,6 +283,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -388,6 +391,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -426,6 +430,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -501,6 +506,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m CONFIG_BMC150_MAGN_I2C=m CONFIG_BMC150_MAGN=m @@ -522,11 +528,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -685,10 +693,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -832,6 +839,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -874,6 +882,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_CPU_IDLE_GOV_HALTPOLL=y @@ -1197,11 +1206,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1215,7 +1226,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1272,6 +1283,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1280,7 +1292,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1309,7 +1321,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1319,6 +1331,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1326,6 +1339,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1353,11 +1367,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1530,6 +1547,7 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_MIXED=y CONFIG_EFI_PARTITION=y @@ -1567,9 +1585,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1599,6 +1617,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1807,11 +1828,6 @@ CONFIG_GENEVE=m # CONFIG_GENWQE is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1841,6 +1857,7 @@ CONFIG_GPIO_ICH=m CONFIG_GPIO_IT87=m CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_LYNXPOINT is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set @@ -1851,7 +1868,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1862,6 +1878,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SCH is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -2080,8 +2097,6 @@ CONFIG_HYPERV_STORAGE=m # CONFIG_HYPERV_TESTING is not set CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_VSOCKETS=m -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2140,7 +2155,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_PIIX4=m @@ -2275,6 +2289,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2313,6 +2328,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2392,11 +2414,13 @@ CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEBUGFS is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y CONFIG_INTEL_IOMMU_SVM=y CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IPS=m @@ -2432,6 +2456,7 @@ CONFIG_INTEL_TELEMETRY=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_TURBO_MAX_3=y CONFIG_INTEL_TXT=y +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m CONFIG_INTEL_VBTN=m CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_INTEL_XWAY_PHY=m @@ -2789,6 +2814,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2967,6 +2993,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3178,6 +3205,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3211,6 +3239,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3223,6 +3252,7 @@ CONFIG_MIC_COSM=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_INTEL=y @@ -3364,6 +3394,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m # CONFIG_MPSC is not set +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3375,6 +3408,7 @@ CONFIG_MSDOS_PARTITION=y CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3415,7 +3449,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3528,6 +3561,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3548,6 +3582,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3687,8 +3722,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3871,11 +3908,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y CONFIG_NFSD_FAULT_INJECTION=y CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4178,6 +4217,7 @@ CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT_HOST is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCIE_INTEL_GW is not set # CONFIG_PCIE_MOBIVEIL is not set # CONFIG_PCI_ENDPOINT is not set # CONFIG_PCI_ENDPOINT_TEST is not set @@ -4238,6 +4278,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +CONFIG_PHY_INTEL_EMMC=m CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4265,6 +4306,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LYNXPOINT=m # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set @@ -4296,12 +4338,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_TIGERLAKE=m CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_AUTOSLEEP is not set @@ -4404,7 +4448,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y @@ -4425,10 +4471,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4550,6 +4596,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4568,6 +4616,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -4581,6 +4630,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set CONFIG_RETPOLINE=y # CONFIG_RFD77402 is not set @@ -4804,6 +4855,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y CONFIG_SCHED_MC_PRIO=y @@ -4916,6 +4969,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDMA_VERBOSITY is not set @@ -4938,6 +4992,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4957,6 +5013,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4981,6 +5038,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_DELL_SMM=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5061,8 +5119,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5133,8 +5193,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -5280,6 +5342,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5331,7 +5394,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 -CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m @@ -5458,6 +5521,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_AUDMUX is not set # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m @@ -5491,6 +5555,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m @@ -5508,6 +5573,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set @@ -5527,9 +5593,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5609,6 +5679,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5675,6 +5746,7 @@ CONFIG_SPARSEMEM=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_MASTER=y @@ -5724,11 +5796,12 @@ CONFIG_SSB_SDIOHOST=y CONFIG_STACKLEAK_METRICS=y CONFIG_STACKLEAK_RUNTIME_DISABLE=y CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 -CONFIG_STACKPROTECTOR_STRONG=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5745,6 +5818,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5775,6 +5849,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5906,8 +5981,6 @@ CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THRUSTMASTER_FF=y -CONFIG_THUNDERBOLT=m -CONFIG_THUNDERBOLT_NET=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -5930,6 +6003,7 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +CONFIG_TIME_NS=y # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6129,6 +6203,8 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_UNWINDER_ORC=y CONFIG_UPROBE_EVENTS=y # CONFIG_US5182D is not set +CONFIG_USB4=m +CONFIG_USB4_NET=m CONFIG_USB_ACM=m CONFIG_USB_ADUTUX=m CONFIG_USB_ALI_M5632=y @@ -6583,7 +6659,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6621,6 +6696,7 @@ CONFIG_VOP_BUS=m CONFIG_VOP=m CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6691,6 +6767,8 @@ CONFIG_WILCO_EC=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6748,7 +6826,6 @@ CONFIG_X86_GENERIC=y CONFIG_X86_INTEL_LPSS=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y # CONFIG_X86_INTEL_MID is not set -CONFIG_X86_INTEL_MPX=y CONFIG_X86_INTEL_PSTATE=y # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set CONFIG_X86_INTEL_TSX_MODE_OFF=y @@ -6868,6 +6945,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index 9b611e802..24121b0e7 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -106,6 +106,7 @@ CONFIG_AD5272=m # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set @@ -247,6 +248,7 @@ CONFIG_AR5523=m CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set +CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set @@ -280,6 +282,7 @@ CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_SPECTRAL is not set # CONFIG_ATH10K_TRACING is not set CONFIG_ATH10K_USB=m +# CONFIG_ATH11K is not set CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -387,6 +390,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_GENERIC is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_BACKLIGHT_LED=m # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m @@ -425,6 +429,7 @@ CONFIG_BAYCOM_SER_HDX=m # CONFIG_BCACHE_DEBUG is not set CONFIG_BCACHE=m CONFIG_BCM7XXX_PHY=m +# CONFIG_BCM84881_PHY is not set CONFIG_BCM87XX_PHY=m CONFIG_BCMA_BLOCKIO=y # CONFIG_BCMA_DEBUG is not set @@ -500,6 +505,7 @@ CONFIG_BLK_WBT_MQ=y CONFIG_BLK_WBT=y # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set CONFIG_BMC150_ACCEL=m CONFIG_BMC150_MAGN_I2C=m CONFIG_BMC150_MAGN=m @@ -521,11 +527,13 @@ CONFIG_BNXT_HWMON=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m +CONFIG_BOOT_CONFIG=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOTTIME_TRACING=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set CONFIG_BPF_JIT_ALWAYS_ON=y @@ -684,10 +692,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SLCAN=m # CONFIG_CAN_SOFTING_CS is not set CONFIG_CAN_SOFTING=m -CONFIG_CAN_UCAN=m +# CONFIG_CAN_UCAN is not set CONFIG_CAN_VCAN=m CONFIG_CAN_VXCAN=m -CONFIG_CAPI_AVM=y # CONFIG_CAPI_TRACE is not set CONFIG_CARDBUS=y CONFIG_CARDMAN_4000=m @@ -831,6 +838,7 @@ CONFIG_CODA_FS=m # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_SI514 is not set @@ -873,6 +881,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_CPU_IDLE_GOV_HALTPOLL=y @@ -1189,11 +1198,13 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS=y CONFIG_DHT11=m CONFIG_DL2K=m +# CONFIG_DLHL60D is not set CONFIG_DLM_DEBUG=y CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_HEAPS is not set # CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set @@ -1206,7 +1217,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m -# CONFIG_DM_CLONE is not set +CONFIG_DM_CLONE=m CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1263,6 +1274,7 @@ CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_ANALOGIX_ANX6345=m CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_AST=m @@ -1271,7 +1283,7 @@ CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_DP_AUX_CHARDEV=y -CONFIG_DRM_DP_CEC=y +# CONFIG_DRM_DP_CEC is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set # CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set @@ -1300,7 +1312,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_KOMEDA is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set +# CONFIG_DRM_LVDS_CODEC is not set CONFIG_DRM=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_MGAG200=m @@ -1310,6 +1322,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y CONFIG_DRM_NOUVEAU=m # CONFIG_DRM_NOUVEAU_SVM is not set # CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set @@ -1317,6 +1330,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set @@ -1344,11 +1358,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set CONFIG_DRM_PANEL=y # CONFIG_DRM_PARADE_PS8622 is not set CONFIG_DRM_QXL=m @@ -1521,6 +1538,7 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_MIXED=y CONFIG_EFI_PARTITION=y @@ -1558,9 +1576,9 @@ CONFIG_EROFS_FS_ZIP=y CONFIG_ET131X=m CONFIG_ETHERNET=y CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set -# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1590,6 +1608,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_EZX_PCAP is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZO=y CONFIG_F2FS_FS=m CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y @@ -1790,11 +1811,6 @@ CONFIG_GENEVE=m # CONFIG_GENWQE is not set CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m # CONFIG_GLOB_SELFTEST is not set # CONFIG_GNSS is not set # CONFIG_GOLDFISH is not set @@ -1824,6 +1840,7 @@ CONFIG_GPIO_ICH=m CONFIG_GPIO_IT87=m CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIOLIB=y +# CONFIG_GPIO_LOGICVC is not set # CONFIG_GPIO_LYNXPOINT is not set # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7300 is not set @@ -1834,7 +1851,6 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_PCA953X=m # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_PCH is not set @@ -1845,6 +1861,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_SCH is not set +# CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS68470=y @@ -2063,8 +2080,6 @@ CONFIG_HYPERV_STORAGE=m # CONFIG_HYPERV_TESTING is not set CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_VSOCKETS=m -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m CONFIG_HZ_1000=y # CONFIG_HZ_100 is not set # CONFIG_HZ_200 is not set @@ -2123,7 +2138,6 @@ CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m CONFIG_I2C_NVIDIA_GPU=m # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_PIIX4=m @@ -2258,6 +2272,7 @@ CONFIG_INET6_IPCOMP=m CONFIG_INET_AH=m CONFIG_INET_DIAG_DESTROY=y CONFIG_INET_DIAG=m +CONFIG_INET_ESPINTCP=y CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_IPCOMP=m @@ -2296,6 +2311,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set +# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set +# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set +# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set +# CONFIG_INITRAMFS_COMPRESSION_LZO is not set +CONFIG_INITRAMFS_COMPRESSION_NONE=y +# CONFIG_INITRAMFS_COMPRESSION_XZ is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INIT_STACK_NONE=y CONFIG_INOTIFY_USER=y @@ -2375,11 +2397,13 @@ CONFIG_INTEL_CHT_INT33FE=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_IDLE=y CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_IOATDMA=m # CONFIG_INTEL_IOMMU_DEBUGFS is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y CONFIG_INTEL_IOMMU_SVM=y CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IPS=m @@ -2415,6 +2439,7 @@ CONFIG_INTEL_TELEMETRY=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_TURBO_MAX_3=y CONFIG_INTEL_TXT=y +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m CONFIG_INTEL_VBTN=m CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_INTEL_XWAY_PHY=m @@ -2770,6 +2795,7 @@ CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPC2000 is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set @@ -2948,6 +2974,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" CONFIG_LTC1660=m # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set CONFIG_LTC2983=m @@ -3159,6 +3186,7 @@ CONFIG_MFD_MAX77650=m # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set @@ -3192,6 +3220,7 @@ CONFIG_MFD_TPS68470=y # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m +# CONFIG_MFD_WCD934X is not set CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3204,6 +3233,7 @@ CONFIG_MIC_COSM=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_PIT64B is not set # CONFIG_MICROCHIP_T1_PHY is not set CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_INTEL=y @@ -3345,6 +3375,9 @@ CONFIG_MPL115_I2C=m CONFIG_MPLS_IPTUNNEL=m CONFIG_MPLS_ROUTING=m # CONFIG_MPSC is not set +# CONFIG_MPTCP_HMAC_TEST is not set +CONFIG_MPTCP_IPV6=y +CONFIG_MPTCP=y CONFIG_MPU3050_I2C=m CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y @@ -3356,6 +3389,7 @@ CONFIG_MSDOS_PARTITION=y CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m # CONFIG_MSM_GPUCC_8998 is not set +# CONFIG_MSM_MMCC_8998 is not set CONFIG_MSPRO_BLOCK=m CONFIG_MT7601U=m CONFIG_MT7603E=m @@ -3396,7 +3430,6 @@ CONFIG_MTD_NAND_CADENCE=m # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set -# CONFIG_MTD_NAND_FSL_IFC is not set # CONFIG_MTD_NAND_GPIO is not set # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set @@ -3509,6 +3542,7 @@ CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y +# CONFIG_NET_DSA_AR9331 is not set CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m @@ -3529,6 +3563,7 @@ CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m CONFIG_NET_DSA_TAG_8021Q=m +# CONFIG_NET_DSA_TAG_AR9331 is not set CONFIG_NET_DSA_TAG_GSWIP=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_OCELOT=m @@ -3668,8 +3703,10 @@ CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCHED=y CONFIG_NET_SCH_ETF=m +# CONFIG_NET_SCH_ETS is not set CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m +# CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_HHF=m @@ -3852,11 +3889,13 @@ CONFIG_NF_REJECT_IPV6=m CONFIG_NFSD_BLOCKLAYOUT=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_NFSD_FLEXFILELAYOUT=y +# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y +CONFIG_NFSD_V4_2_INTER_SSC=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y @@ -4159,6 +4198,7 @@ CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT_HOST is not set CONFIG_PCIE_ECRC=y +# CONFIG_PCIE_INTEL_GW is not set # CONFIG_PCIE_MOBIVEIL is not set # CONFIG_PCI_ENDPOINT is not set # CONFIG_PCI_ENDPOINT_TEST is not set @@ -4219,6 +4259,7 @@ CONFIG_PHY_CADENCE_DP=m CONFIG_PHY_CADENCE_SIERRA=m # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set +CONFIG_PHY_INTEL_EMMC=m CONFIG_PHYLIB=y CONFIG_PHYLINK=m # CONFIG_PHY_MAPPHONE_MDM6600 is not set @@ -4246,6 +4287,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LYNXPOINT=m # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set @@ -4277,12 +4319,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_TIGERLAKE=m CONFIG_PINCTRL=y +# CONFIG_PING is not set CONFIG_PINMUX=y CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m # CONFIG_PLATFORM_SI4713 is not set # CONFIG_PLIP is not set +# CONFIG_PLX_DMA is not set CONFIG_PLX_HERMES=m # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set @@ -4384,7 +4428,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m CONFIG_PSTORE_RAM=m CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set +# CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTP_1588_CLOCK_IDTCM=m +# CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_PCH=m CONFIG_PTP_1588_CLOCK=y @@ -4405,10 +4451,10 @@ CONFIG_PWRSEQ_SD8787=m CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set +# CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EMAC is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set -# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_QCS_TURING_404 is not set CONFIG_QEDE=m CONFIG_QEDF=m @@ -4530,6 +4576,8 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set @@ -4548,6 +4596,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set CONFIG_REGULATOR_VCTRL=m # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_REGULATOR=y # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_FS=m @@ -4561,6 +4610,8 @@ CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_TI_SYSCON is not set CONFIG_RETPOLINE=y # CONFIG_RFD77402 is not set @@ -4784,6 +4835,8 @@ CONFIG_SBP_TARGET=m # CONFIG_SC1200_WDT is not set CONFIG_SC92031=m # CONFIG_SCA3000 is not set +# CONFIG_SC_DISPCC_7180 is not set +# CONFIG_SC_GPUCC_7180 is not set CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_DEBUG=y CONFIG_SCHED_MC_PRIO=y @@ -4896,6 +4949,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +# CONFIG_SC_VIDEOCC_7180 is not set CONFIG_SD_ADC_MODULATOR=m CONFIG_SDIO_UART=m # CONFIG_SDMA_VERBOSITY is not set @@ -4918,6 +4972,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set @@ -4937,6 +4993,7 @@ CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m +# CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m @@ -4961,6 +5018,7 @@ CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_DELL_SMM=m CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m @@ -5041,8 +5099,10 @@ CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m +# CONFIG_SENSORS_MAX20730 is not set CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MAX34440=m @@ -5113,8 +5173,10 @@ CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m +# CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m +# CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m @@ -5260,6 +5322,7 @@ CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5530=m CONFIG_SND_CS5535AUDIO=m +# CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m @@ -5311,7 +5374,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 -CONFIG_SND_HDA_PREALLOC_SIZE=4096 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m @@ -5437,6 +5500,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_IMX_AUDMUX is not set # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m @@ -5470,6 +5534,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m @@ -5487,6 +5552,7 @@ CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set CONFIG_SND_SOC_NAU8540=m # CONFIG_SND_SOC_NAU8810 is not set @@ -5506,9 +5572,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RK3328 is not set CONFIG_SND_SOC_RL6231=m +# CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5660=m +# CONFIG_SND_SOC_RT700_SDW is not set +# CONFIG_SND_SOC_RT711_SDW is not set +# CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set @@ -5588,6 +5658,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -5654,6 +5725,7 @@ CONFIG_SPARSEMEM=y CONFIG_SPI_FSL_LPSPI=m # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_MASTER=y @@ -5703,11 +5775,12 @@ CONFIG_SSB_SDIOHOST=y CONFIG_STACKLEAK_METRICS=y CONFIG_STACKLEAK_RUNTIME_DISABLE=y CONFIG_STACKLEAK_TRACK_MIN_SIZE=100 -CONFIG_STACKPROTECTOR_STRONG=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_STACKPROTECTOR=y CONFIG_STACK_TRACER=y CONFIG_STACK_VALIDATION=y # CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_EXFAT_FS is not set # CONFIG_STAGING_GASKET_FRAMEWORK is not set CONFIG_STAGING_MEDIA=y CONFIG_STAGING=y @@ -5724,6 +5797,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_SELFTESTS is not set CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y CONFIG_ST_UVIS25_I2C=m @@ -5754,6 +5828,7 @@ CONFIG_SYNCLINK_GT=m CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYN_COOKIES=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL=y # CONFIG_SYSFS_DEPRECATED is not set @@ -5885,8 +5960,6 @@ CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THRUSTMASTER_FF=y -CONFIG_THUNDERBOLT=m -CONFIG_THUNDERBOLT_NET=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set @@ -5909,6 +5982,7 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +CONFIG_TIME_NS=y # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6108,6 +6182,8 @@ CONFIG_UNUSED_SYMBOLS=y CONFIG_UNWINDER_ORC=y CONFIG_UPROBE_EVENTS=y # CONFIG_US5182D is not set +CONFIG_USB4=m +CONFIG_USB4_NET=m CONFIG_USB_ACM=m CONFIG_USB_ADUTUX=m CONFIG_USB_ALI_M5632=y @@ -6562,7 +6638,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m @@ -6600,6 +6675,7 @@ CONFIG_VOP_BUS=m CONFIG_VOP=m CONFIG_VORTEX=m CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKETS=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set @@ -6670,6 +6746,8 @@ CONFIG_WILCO_EC=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y @@ -6727,7 +6805,6 @@ CONFIG_X86_GENERIC=y CONFIG_X86_INTEL_LPSS=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y # CONFIG_X86_INTEL_MID is not set -CONFIG_X86_INTEL_MPX=y CONFIG_X86_INTEL_PSTATE=y # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set CONFIG_X86_INTEL_TSX_MODE_OFF=y @@ -6750,7 +6827,6 @@ CONFIG_X86_PLATFORM_DEVICES=y CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_PM_TIMER=y CONFIG_X86_POWERNOW_K8=m -# CONFIG_X86_PTDUMP is not set CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_RESERVE_LOW=64 # CONFIG_X86_SPEEDSTEP_CENTRINO is not set @@ -6847,6 +6923,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y +# CONFIG_ZONEFS_FS is not set CONFIG_ZOPT2201=m # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m diff --git a/kernel.spec b/kernel.spec index ffdd23f77..3e6dbdaba 100644 --- a/kernel.spec +++ b/kernel.spec @@ -85,7 +85,7 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 5 +%define base_sublevel 6 ## If this is a released kernel ## %if 0%{?released_kernel} @@ -94,7 +94,7 @@ Summary: The Linux kernel %define stable_rc 0 # Do we have a -stable update to apply? -%define stable_update 18 +%define stable_update 6 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -836,23 +836,58 @@ Patch303: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch Patch304: ARM-tegra-usb-no-reset.patch # Raspberry Pi -# https://patchwork.kernel.org/cover/11271017/ -Patch310: Raspberry-Pi-4-PCIe-support.patch -# https://patchwork.kernel.org/patch/11223139/ -Patch311: ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch -# https://patchwork.kernel.org/patch/11299997/ -Patch312: bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch # https://patchwork.kernel.org/cover/11353083/ -Patch313: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch -# https://github.com/raspberrypi/linux/commit/c74b1b53254016fd83b580b8d49bb02d72ce4836 -Patch314: usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch +Patch310: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch +# v5 https://patchwork.kernel.org/cover/11429245/ +Patch311: USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch # https://patchwork.kernel.org/patch/11372935/ -Patch315: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch +Patch312: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch +# https://patchwork.kernel.org/patch/11420129/ +Patch313: ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch +# Upstream commit f87391eec2c5 thread: https://www.spinics.net/lists/linux-mmc/msg58036.html +Patch314: arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch +# https://patchwork.freedesktop.org/patch/358980/ +Patch315: drm-vc4-Fix-HDMI-mode-validation.patch +# Upstream commit 57b76faf1d78 +Patch316: arm-bcm2835-serial-8250_early-support-aux-uart.patch # Tegra bits -Patch320: arm64-tegra-jetson-tx1-fixes.patch -# https://www.spinics.net/lists/linux-tegra/msg43110.html -Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch +# https://www.spinics.net/lists/linux-tegra/msg48152.html +Patch320: ARM64-Tegra-fixes.patch +# http://patchwork.ozlabs.org/patch/1230891/ +Patch321: arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch +# https://lkml.org/lkml/2020/2/14/401 +Patch323: arm64-tegra-fix-pcie.patch +# http://patchwork.ozlabs.org/patch/1243162/ +Patch324: regulator-pwm-Don-t-warn-on-probe-deferral.patch +# http://patchwork.ozlabs.org/patch/1243112/ +Patch325: backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch +# https://patchwork.ozlabs.org/patch/1261638/ +Patch326: arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch +# http://patchwork.ozlabs.org/patch/1221384/ +Patch327: PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch + +# Coral +Patch330: arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch + +# Pine64 bits +# 340-345 queued for 5.7 +Patch340: arm64-pinebook-fixes.patch +Patch341: arm64-a64-mbus.patch +# v4 https://patchwork.kernel.org/cover/11420797/ +Patch342: Add-support-for-the-pine64-Pinebook-Pro.patch +# https://patchwork.kernel.org/cover/11405517/ +Patch343: Add-LCD-support-for-Pine64-Pinebook-1080p.patch +# https://lkml.org/lkml/2020/1/15/1320 +Patch344: arm64-pine64-pinetab.patch +# https://www.spinics.net/lists/arm-kernel/msg789135.html +Patch345: arm64-pine64-pinephone.patch +# https://patchwork.kernel.org/cover/11440399/ +Patch346: Add-support-for-PinePhone-LCD-panel.patch +# https://www.spinics.net/lists/devicetree/msg346446.html +Patch347: arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch +# https://www.spinics.net/lists/devicetree/msg347052.html +Patch348: usb-fusb302-Convert-to-use-GPIO-descriptors.patch # 400 - IBM (ppc/s390x) patches @@ -876,19 +911,22 @@ Patch504: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch # https://lkml.org/lkml/2019/8/29/1772 Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch -# ALSA code from v5.6 (Intel ASoC Sound Open Firmware driver support) -Patch506: alsa-5.6.patch +# More DP-MST fixes, pending for 5.7 +Patch507: drm-dp-mst-error-handling-improvements.patch -# i915 "critical" patch from upstream -Patch508: 20200310_chris_chris_wilson_co_uk.patch - -# Backport vboxsf from 5.6, can be dropped when we move to 5.6 -Patch510: 0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1811850 +Patch509: drm-i915-backports.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1816621 # https://patchwork.ozlabs.org/patch/1260523/ Patch511: e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch +# nouveau runpm and secboot fixes +# Accepted nouveau upstream https://github.com/skeggsb/nouveau/commit/f5755e7069d4acbcce1a93692421f358241ead7b +Patch513: 0001-drm-nouveau-workaround-runpm-fail-by-disabling-PCI-p.patch +# Accepted nouveau upstream https://github.com/skeggsb/nouveau/commit/41c6a13e8143af71928749ea9895d2ebc2fb4ffd +Patch514: 0002-drm-nouveau-gr-gp107-gp108-implement-workaround-for-.patch + # END OF PATCH DEFINITIONS %endif @@ -2921,6 +2959,9 @@ fi # # %changelog +* Tue Apr 21 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.6.6-200 +- Linux v5.6.6 rebase + * Fri Apr 17 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.5.18-200 - Linux v5.5.18 diff --git a/regulator-pwm-Don-t-warn-on-probe-deferral.patch b/regulator-pwm-Don-t-warn-on-probe-deferral.patch new file mode 100644 index 000000000..cebfae9de --- /dev/null +++ b/regulator-pwm-Don-t-warn-on-probe-deferral.patch @@ -0,0 +1,36 @@ +From 0cd71b9a43ad80f4d9a8bfde6ec6db8daf447029 Mon Sep 17 00:00:00 2001 +From: Jon Hunter <jonathanh@nvidia.com> +Date: Mon, 2 Mar 2020 14:14:28 +0000 +Subject: regulator: pwm: Don't warn on probe deferral + +Deferred probe is an expected return value for devm_pwm_get(). Given +that the driver deals with it properly, rather than warn on probe +deferral, only output a message on probe deferral if debug level +prints are enabled. + +Signed-off-by: Jon Hunter <jonathanh@nvidia.com> +Link: https://lore.kernel.org/r/20200302141428.14119-1-jonathanh@nvidia.com +Signed-off-by: Mark Brown <broonie@kernel.org> +--- + drivers/regulator/pwm-regulator.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c +index e74e11101fc1..638329bd0745 100644 +--- a/drivers/regulator/pwm-regulator.c ++++ b/drivers/regulator/pwm-regulator.c +@@ -354,7 +354,11 @@ static int pwm_regulator_probe(struct platform_device *pdev) + drvdata->pwm = devm_pwm_get(&pdev->dev, NULL); + if (IS_ERR(drvdata->pwm)) { + ret = PTR_ERR(drvdata->pwm); +- dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret); ++ if (ret == -EPROBE_DEFER) ++ dev_dbg(&pdev->dev, ++ "Failed to get PWM, deferring probe\n"); ++ else ++ dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret); + return ret; + } + +-- +cgit 1.2-0.3.lf.el7 @@ -1,2 +1,2 @@ -SHA512 (linux-5.5.tar.xz) = fa74fdabb5e63384a39e54da05b86a9ae9ea16179524b041fbbdffc7177e80b53600ae98d76be127ba216148f9dc55fe07ab20637e22c6d6030cb4aa09eb2f86 -SHA512 (patch-5.5.18.xz) = 2cba5fcc831f834e7f469de12a99fd25290caab563db23eabe4f7912e2889e097e61400a3fb24c77ec34c3b4187a4dd397ad6b40734c8209c1a928d749585977 +SHA512 (linux-5.6.tar.xz) = 80846fe2b4e4a7ff471d2dde28a8216ae807a3209f959e93d39ea4fc9a189ea28ec3db9d303b3fe15a28c2cb90e7446876678e93e23353c2d6f262e364a06bc9 +SHA512 (patch-5.6.6.xz) = 63edddca606957ec85114ec76c45fc33a763378ec0ccc2e05af7550ffc3578df832dd5fff8106292aad40faa9d3c0c3d1082274aca14262df23a8040c2067ba0 diff --git a/usb-fusb302-Convert-to-use-GPIO-descriptors.patch b/usb-fusb302-Convert-to-use-GPIO-descriptors.patch new file mode 100644 index 000000000..8ba00ea69 --- /dev/null +++ b/usb-fusb302-Convert-to-use-GPIO-descriptors.patch @@ -0,0 +1,155 @@ +From 619bb30cc0fe1754f8dfa0fa4ea94fd937857fbd Mon Sep 17 00:00:00 2001 +From: Linus Walleij <linus.walleij@linaro.org> +Date: Mon, 20 Apr 2020 09:55:38 +0100 +Subject: [PATCH] usb: fusb302: Convert to use GPIO descriptors + +This converts the FUSB302 driver to use GPIO descriptors. +The conversion to descriptors per se is pretty straight-forward. + +In the process I discovered that: + +1. The driver uses a completely undocumented device tree binding + for the interrupt GPIO line, "fcs,int_n". Ooops. + +2. The undocumented binding, presumably since it has not seen + review, is just "fcs,int_n", lacking the compulsory "-gpios" + suffix and also something that is not a good name because + the "_n" implies the line is inverted which is something we + handle with flags in the device tree. Ooops. + +3. Possibly the driver should not be requesting the line as a + GPIO and request the corresponding interrupt line by open + coding, the GPIO chip is very likely doubleing as an IRQ + controller and can probably provide an interrupt directly + for this line with interrupts-extended = <&gpio0 ...>; + +4. Possibly the IRQ should just be tagged on the I2C client node + in the device tree like apparently ACPI does, as it overrides + this IRQ with client->irq if that exists. + +But now it is too late to do much about that and as I can see +this is used like this in the Pinebook which is a shipping product +so let'a just contain the mess and move on. + +The property currently appears in: +arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts + +Create a quirk in the GPIO OF library to allow this property +specifically to be specified without the "-gpios" suffix, we have +other such bindings already. + +Signed-off-by: Linus Walleij <linus.walleij@linaro.org> +--- + drivers/gpio/gpiolib-of.c | 21 +++++++++++++++++++++ + drivers/usb/typec/tcpm/fusb302.c | 32 +++++++++----------------------- + 2 files changed, 30 insertions(+), 23 deletions(-) + +diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c +index ccc449df3792..20c2c428168e 100644 +--- a/drivers/gpio/gpiolib-of.c ++++ b/drivers/gpio/gpiolib-of.c +@@ -460,6 +460,24 @@ static struct gpio_desc *of_find_arizona_gpio(struct device *dev, + return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags); + } + ++static struct gpio_desc *of_find_usb_gpio(struct device *dev, ++ const char *con_id, ++ enum of_gpio_flags *of_flags) ++{ ++ /* ++ * Currently this USB quirk is only for the Fairchild FUSB302 host which is using ++ * an undocumented DT GPIO line named "fcs,int_n" without the compulsory "-gpios" ++ * suffix. ++ */ ++ if (!IS_ENABLED(CONFIG_TYPEC_FUSB302)) ++ return ERR_PTR(-ENOENT); ++ ++ if (!con_id || strcmp(con_id, "fcs,int_n")) ++ return ERR_PTR(-ENOENT); ++ ++ return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags); ++} ++ + struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, + unsigned int idx, unsigned long *flags) + { +@@ -504,6 +522,9 @@ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, + if (PTR_ERR(desc) == -ENOENT) + desc = of_find_arizona_gpio(dev, con_id, &of_flags); + ++ if (PTR_ERR(desc) == -ENOENT) ++ desc = of_find_usb_gpio(dev, con_id, &of_flags); ++ + if (IS_ERR(desc)) + return desc; + +diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c +index b498960ff72b..b28facece43c 100644 +--- a/drivers/usb/typec/tcpm/fusb302.c ++++ b/drivers/usb/typec/tcpm/fusb302.c +@@ -9,14 +9,13 @@ + #include <linux/delay.h> + #include <linux/errno.h> + #include <linux/extcon.h> +-#include <linux/gpio.h> ++#include <linux/gpio/consumer.h> + #include <linux/i2c.h> + #include <linux/interrupt.h> + #include <linux/kernel.h> + #include <linux/module.h> + #include <linux/mutex.h> + #include <linux/of_device.h> +-#include <linux/of_gpio.h> + #include <linux/pinctrl/consumer.h> + #include <linux/proc_fs.h> + #include <linux/regulator/consumer.h> +@@ -83,7 +82,7 @@ struct fusb302_chip { + struct work_struct irq_work; + bool irq_suspended; + bool irq_while_suspended; +- int gpio_int_n; ++ struct gpio_desc *gpio_int_n; + int gpio_int_n_irq; + struct extcon_dev *extcon; + +@@ -1618,30 +1617,17 @@ static void fusb302_irq_work(struct work_struct *work) + + static int init_gpio(struct fusb302_chip *chip) + { +- struct device_node *node; ++ struct device *dev = chip->dev; + int ret = 0; + +- node = chip->dev->of_node; +- chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0); +- if (!gpio_is_valid(chip->gpio_int_n)) { +- ret = chip->gpio_int_n; +- dev_err(chip->dev, "cannot get named GPIO Int_N, ret=%d", ret); +- return ret; +- } +- ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n"); +- if (ret < 0) { +- dev_err(chip->dev, "cannot request GPIO Int_N, ret=%d", ret); +- return ret; +- } +- ret = gpio_direction_input(chip->gpio_int_n); +- if (ret < 0) { +- dev_err(chip->dev, +- "cannot set GPIO Int_N to input, ret=%d", ret); +- return ret; ++ chip->gpio_int_n = devm_gpiod_get(dev, "fcs,int_n", GPIOD_IN); ++ if (IS_ERR(chip->gpio_int_n)) { ++ dev_err(dev, "failed to request gpio_int_n\n"); ++ return PTR_ERR(chip->gpio_int_n); + } +- ret = gpio_to_irq(chip->gpio_int_n); ++ ret = gpiod_to_irq(chip->gpio_int_n); + if (ret < 0) { +- dev_err(chip->dev, ++ dev_err(dev, + "cannot request IRQ for GPIO Int_N, ret=%d", ret); + return ret; + } +-- +2.26.1 + diff --git a/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch b/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch deleted file mode 100644 index 7bf875c6d..000000000 --- a/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch +++ /dev/null @@ -1,91 +0,0 @@ -From eb05efbfe58a7815957844e6dbe28735e85393cf Mon Sep 17 00:00:00 2001 -From: Tim Gover <990920+timg236@users.noreply.github.com> -Date: Wed, 15 Jan 2020 11:26:19 +0000 -Subject: [PATCH] usb: xhci: Raspberry Pi FW loader for VIA VL805 - -The VL805 FW may either be loaded from an SPI EEPROM or alternatively -loaded directly by the VideoCore firmware. A PCI reset will reset -the VL805 XHCI controller on the Raspberry Pi4 requiring the firmware -to be reloaded if an SPI EEPROM is not present. - -Use a VideoCore mailbox to trigger the loading of the VL805 -firmware (if necessary) after a PCI reset. - -Signed-off-by: Tim Gover <tim.gover@raspberrypi.org> ---- - drivers/usb/host/pci-quirks.c | 31 +++++++++++++++++++++- - include/soc/bcm2835/raspberrypi-firmware.h | 2 +- - 2 files changed, 31 insertions(+), 2 deletions(-) - -diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c -index 6c7f0a876b96..c3367b053044 100644 ---- a/drivers/usb/host/pci-quirks.c -+++ b/drivers/usb/host/pci-quirks.c -@@ -18,7 +18,7 @@ - #include <linux/dmi.h> - #include "pci-quirks.h" - #include "xhci-ext-caps.h" -- -+#include <soc/bcm2835/raspberrypi-firmware.h> - - #define UHCI_USBLEGSUP 0xc0 /* legacy support */ - #define UHCI_USBCMD 0 /* command register */ -@@ -630,6 +630,32 @@ bool usb_amd_pt_check_port(struct device *device, int port) - } - EXPORT_SYMBOL_GPL(usb_amd_pt_check_port); - -+/* The VL805 firmware may either be loaded from an EEPROM or by the BIOS into -+ * memory. If run from memory it must be reloaded after a PCI fundmental reset. -+ * The Raspberry Pi firmware acts as the BIOS in this case. -+ */ -+static void usb_vl805_init(struct pci_dev *pdev) -+{ -+#if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE) -+ struct rpi_firmware *fw; -+ struct { -+ u32 dev_addr; -+ } packet; -+ int ret; -+ -+ fw = rpi_firmware_get(NULL); -+ if (!fw) -+ return; -+ -+ packet.dev_addr = (pdev->bus->number << 20) | -+ (PCI_SLOT(pdev->devfn) << 15) | (PCI_FUNC(pdev->devfn) << 12); -+ -+ dev_dbg(&pdev->dev, "RPI_FIRMWARE_NOTIFY_XHCI_RESET %x", packet.dev_addr); -+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET, -+ &packet, sizeof(packet)); -+#endif -+} -+ - /* - * Make sure the controller is completely inactive, unable to - * generate interrupts or do DMA. -@@ -1207,6 +1233,9 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev) - if (pdev->vendor == PCI_VENDOR_ID_INTEL) - usb_enable_intel_xhci_ports(pdev); - -+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) -+ usb_vl805_init(pdev); -+ - op_reg_base = base + XHCI_HC_LENGTH(readl(base)); - - /* Wait for the host controller to be ready before writing any -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 7800e12ee042..cc9cdbc66403 100644 ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag { - RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, - RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049, - RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050, -- -+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058, - - /* Dispmanx TAGS */ - RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, --- -2.24.1 - |