Merge pull request #2747 from brooksytech/dev

Bump kernel and mesa for KR3399 and RK3326, fix usb keyboards on RK3399
This commit is contained in:
Brooksytech 2024-01-26 07:22:28 -08:00 committed by GitHub
commit 2c2cd9cd8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 151 additions and 508 deletions

View file

@ -17,7 +17,7 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="csf"
;;
RK33*) #Using upstream dev for panfrost
PKG_VERSION="7adc7678a88edccfbd20af2307e7f50e9ed48e47"
PKG_VERSION="97efa57531b826edf62b00fd4dc26d7568ff941b"
PKG_SITE="https://gitlab.freedesktop.org/mesa/mesa"
PKG_URL="${PKG_SITE}.git"
PKG_PATCH_DIRS+=" panfrost"

View file

@ -1,70 +0,0 @@
From c16a0a950fd62bf35443a7dc95ee4e22c8f32efc Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniels@collabora.com>
Date: Wed, 10 Jan 2024 12:21:11 +0000
Subject: [PATCH 2/2] egl: Return BAD_CONFIG when robust access unsupported
EGL_EXT_create_context_robustness provides separate knobs for device
reset strategy and robust buffer access. As there is no separate query
for both piecies of functionality, devices which do not support robust
buffer access need to reject contexts created with that flag with
EGL_BAD_CONFIG.
Given that EGL can't do cap queries, we create a fake extension entry in
the EGLDisplay to cover whether the device can do robust buffer access
or just device-reset queries.
---
src/egl/drivers/dri2/egl_dri2.c | 2 ++
src/egl/main/eglcontext.c | 12 ++++++++++++
src/egl/main/egldisplay.h | 1 +
3 files changed, 15 insertions(+)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 16f6a09697169..2b5bca2037ddd 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -892,6 +892,8 @@ dri2_setup_screen(_EGLDisplay *disp)
disp->Extensions.EXT_create_context_robustness =
get_screen_param(disp, PIPE_CAP_DEVICE_RESET_STATUS_QUERY);
+ disp->RobustBufferAccess =
+ get_screen_param(disp, PIPE_CAP_ROBUST_BUFFER_ACCESS_BEHAVIOR);
/* EXT_query_reset_notification_strategy complements and requires
* EXT_create_context_robustness. */
diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c
index fa14bdf394348..dd90c28cf1f43 100644
--- a/src/egl/main/eglcontext.c
+++ b/src/egl/main/eglcontext.c
@@ -288,6 +288,18 @@ _eglParseContextAttribList(_EGLContext *ctx, _EGLDisplay *disp,
break;
}
+ /* The EGL_EXT_create_context_robustness spec says:
+ *
+ * "EGL_BAD_CONFIG is generated if
+ * [EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT] is set to EGL_TRUE and
+ * no GL context supporting the GL_EXT_robustness extension and
+ * robust access as described therein can be created."
+ */
+ if (val == EGL_TRUE && !disp->RobustBufferAccess) {
+ err = EGL_BAD_CONFIG;
+ break;
+ }
+
if (val == EGL_TRUE)
ctx->Flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR;
break;
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index b3510ae7a1d3a..86a0ef521e731 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -208,6 +208,7 @@ struct _egl_display {
EGLint Version; /**< EGL version major*10+minor */
EGLint ClientAPIs; /**< Bitmask of APIs supported (EGL_xxx_BIT) */
_EGLExtensions Extensions; /**< Extensions supported */
+ EGLBoolean RobustBufferAccess; /**< Supports robust buffer access behavior */
/* these fields are derived from above */
char VersionString[100]; /**< EGL_VERSION */
--
GitLab

View file

@ -1,369 +0,0 @@
From e171d19e33982b401425a0b9312fc7aaae052a0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>
Date: Wed, 24 Jan 2024 00:51:42 -0500
Subject: [PATCH 1/4] panfrost: factor out method to check whether we can
discard resource
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The logic is gonna be re-used to determine whether we need to
unpack a AFBC-packed texture before updating it (when unmapping).
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
---
src/gallium/drivers/panfrost/pan_resource.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index 5eba8244b5ea..77bd26d6ccab 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -1081,6 +1081,19 @@ panfrost_box_covers_resource(const struct pipe_resource *resource,
box->width, box->height, box->depth);
}
+static bool
+panfrost_can_discard(struct pipe_resource *resource, const struct pipe_box *box,
+ unsigned usage)
+{
+ struct panfrost_resource *rsrc = pan_resource(resource);
+
+ return ((usage & PIPE_MAP_DISCARD_RANGE) &&
+ !(usage & PIPE_MAP_UNSYNCHRONIZED) &&
+ !(resource->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) &&
+ panfrost_box_covers_resource(resource, box) &&
+ !(rsrc->bo->flags & PAN_BO_SHARED));
+}
+
static void *
panfrost_ptr_map(struct pipe_context *pctx, struct pipe_resource *resource,
unsigned level,
@@ -1165,11 +1178,7 @@ panfrost_ptr_map(struct pipe_context *pctx, struct pipe_resource *resource,
/* Upgrade DISCARD_RANGE to WHOLE_RESOURCE if the whole resource is
* being mapped.
*/
- if ((usage & PIPE_MAP_DISCARD_RANGE) && !(usage & PIPE_MAP_UNSYNCHRONIZED) &&
- !(resource->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) &&
- panfrost_box_covers_resource(resource, box) &&
- !(rsrc->bo->flags & PAN_BO_SHARED)) {
-
+ if (panfrost_can_discard(resource, box, usage)) {
usage |= PIPE_MAP_DISCARD_WHOLE_RESOURCE;
}
--
GitLab
From 6a6bd2752d5b0921d5d024e74d273f87d1f85e48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>
Date: Wed, 24 Jan 2024 00:57:55 -0500
Subject: [PATCH 2/4] panfrost: add copy_resource flag to
pan_resource_modifier_convert
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When converting the modifier for a resource, it's not always
needed to blit the content as well. Creating a new resource with
the right format/modifier might be enough.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
---
src/gallium/drivers/panfrost/pan_context.c | 2 +-
src/gallium/drivers/panfrost/pan_resource.c | 59 ++++++++++-----------
src/gallium/drivers/panfrost/pan_resource.h | 3 +-
3 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 7408bd7d189c..bc9006c14d23 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -284,7 +284,7 @@ panfrost_set_shader_images(struct pipe_context *pctx,
*/
if (drm_is_afbc(rsrc->image.layout.modifier)) {
pan_resource_modifier_convert(
- ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED,
+ ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED, true,
"Shader image");
}
diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index 77bd26d6ccab..9ac92812cd88 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -1321,46 +1321,45 @@ panfrost_ptr_map(struct pipe_context *pctx, struct pipe_resource *resource,
void
pan_resource_modifier_convert(struct panfrost_context *ctx,
struct panfrost_resource *rsrc, uint64_t modifier,
- const char *reason)
+ bool copy_resource, const char *reason)
{
assert(!rsrc->modifier_constant);
- perf_debug_ctx(ctx, "%s AFBC with a blit. Reason: %s",
- drm_is_afbc(modifier) ? "Unpacking" : "Disabling", reason);
-
struct pipe_resource *tmp_prsrc = panfrost_resource_create_with_modifier(
ctx->base.screen, &rsrc->base, modifier);
struct panfrost_resource *tmp_rsrc = pan_resource(tmp_prsrc);
- struct pipe_blit_info blit = {
- .dst.resource = &tmp_rsrc->base,
- .dst.format = tmp_rsrc->base.format,
- .src.resource = &rsrc->base,
- .src.format = rsrc->base.format,
- .mask = util_format_get_mask(tmp_rsrc->base.format),
- .filter = PIPE_TEX_FILTER_NEAREST,
- };
+ if (copy_resource) {
+ struct pipe_blit_info blit = {
+ .dst.resource = &tmp_rsrc->base,
+ .dst.format = tmp_rsrc->base.format,
+ .src.resource = &rsrc->base,
+ .src.format = rsrc->base.format,
+ .mask = util_format_get_mask(tmp_rsrc->base.format),
+ .filter = PIPE_TEX_FILTER_NEAREST,
+ };
- /* data_valid is not valid until flushed */
- panfrost_flush_writer(ctx, rsrc, "AFBC decompressing blit");
+ /* data_valid is not valid until flushed */
+ panfrost_flush_writer(ctx, rsrc, "AFBC decompressing blit");
- for (int i = 0; i <= rsrc->base.last_level; i++) {
- if (BITSET_TEST(rsrc->valid.data, i)) {
- blit.dst.level = blit.src.level = i;
+ for (int i = 0; i <= rsrc->base.last_level; i++) {
+ if (BITSET_TEST(rsrc->valid.data, i)) {
+ blit.dst.level = blit.src.level = i;
- u_box_3d(0, 0, 0, u_minify(rsrc->base.width0, i),
- u_minify(rsrc->base.height0, i),
- util_num_layers(&rsrc->base, i), &blit.dst.box);
- blit.src.box = blit.dst.box;
+ u_box_3d(0, 0, 0, u_minify(rsrc->base.width0, i),
+ u_minify(rsrc->base.height0, i),
+ util_num_layers(&rsrc->base, i), &blit.dst.box);
+ blit.src.box = blit.dst.box;
- panfrost_blit_no_afbc_legalization(&ctx->base, &blit);
+ panfrost_blit_no_afbc_legalization(&ctx->base, &blit);
+ }
}
- }
- /* we lose track of tmp_rsrc after this point, and the BO migration
- * (from tmp_rsrc to rsrc) doesn't transfer the last_writer to rsrc
- */
- panfrost_flush_writer(ctx, tmp_rsrc, "AFBC decompressing blit");
+ /* we lose track of tmp_rsrc after this point, and the BO migration
+ * (from tmp_rsrc to rsrc) doesn't transfer the last_writer to rsrc
+ */
+ panfrost_flush_writer(ctx, tmp_rsrc, "AFBC decompressing blit");
+ }
panfrost_bo_unreference(rsrc->bo);
@@ -1369,7 +1368,7 @@ pan_resource_modifier_convert(struct panfrost_context *ctx,
panfrost_bo_reference(rsrc->bo);
panfrost_resource_setup(pan_device(ctx->base.screen), rsrc, modifier,
- blit.dst.format);
+ tmp_rsrc->base.format);
/* panfrost_resource_setup will force the modifier to stay constant when
* called with a specific modifier. We don't want that here, we want to
* be able to convert back to another modifier if needed */
@@ -1394,7 +1393,7 @@ pan_legalize_afbc_format(struct panfrost_context *ctx,
if (panfrost_afbc_format(dev->arch, rsrc->base.format) !=
panfrost_afbc_format(dev->arch, format)) {
pan_resource_modifier_convert(
- ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED,
+ ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED, true,
"Reinterpreting AFBC surface as incompatible format");
return;
}
@@ -1402,7 +1401,7 @@ pan_legalize_afbc_format(struct panfrost_context *ctx,
if (write && (rsrc->image.layout.modifier & AFBC_FORMAT_MOD_SPARSE) == 0)
pan_resource_modifier_convert(
ctx, rsrc, rsrc->image.layout.modifier | AFBC_FORMAT_MOD_SPARSE,
- "Legalizing resource to allow writing");
+ true, "Legalizing resource to allow writing");
}
static bool
diff --git a/src/gallium/drivers/panfrost/pan_resource.h b/src/gallium/drivers/panfrost/pan_resource.h
index d6533349aca3..f41b94f3f51f 100644
--- a/src/gallium/drivers/panfrost/pan_resource.h
+++ b/src/gallium/drivers/panfrost/pan_resource.h
@@ -191,7 +191,8 @@ void panfrost_pack_afbc(struct panfrost_context *ctx,
void pan_resource_modifier_convert(struct panfrost_context *ctx,
struct panfrost_resource *rsrc,
- uint64_t modifier, const char *reason);
+ uint64_t modifier, bool copy_resource,
+ const char *reason);
void pan_legalize_afbc_format(struct panfrost_context *ctx,
struct panfrost_resource *rsrc,
--
GitLab
From e1ae5a0e0cd95834390b0fb293d7a4da25a858cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>
Date: Wed, 24 Jan 2024 00:56:09 -0500
Subject: [PATCH 3/4] panfrost: add can_discard flag to
pan_legalize_afbc_format
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
There might be a more efficient path when legalizing a resource if
we don't need to worry about its content. For example, it doesn't
make sense to copy the resource content when converting the modifier
if the resource content is discarded anyway.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
---
src/gallium/drivers/panfrost/pan_blit.c | 4 ++--
src/gallium/drivers/panfrost/pan_cmdstream.c | 2 +-
src/gallium/drivers/panfrost/pan_job.c | 2 +-
src/gallium/drivers/panfrost/pan_resource.c | 6 +++---
src/gallium/drivers/panfrost/pan_resource.h | 3 ++-
5 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_blit.c b/src/gallium/drivers/panfrost/pan_blit.c
index 235afc118bea..cbc96e903db8 100644
--- a/src/gallium/drivers/panfrost/pan_blit.c
+++ b/src/gallium/drivers/panfrost/pan_blit.c
@@ -107,11 +107,11 @@ panfrost_blit(struct pipe_context *pipe, const struct pipe_blit_info *info)
/* Legalize here because it could trigger a recursive blit otherwise */
struct panfrost_resource *src = pan_resource(info->src.resource);
enum pipe_format src_view_format = util_format_linear(info->src.format);
- pan_legalize_afbc_format(ctx, src, src_view_format, false);
+ pan_legalize_afbc_format(ctx, src, src_view_format, false, false);
struct panfrost_resource *dst = pan_resource(info->dst.resource);
enum pipe_format dst_view_format = util_format_linear(info->dst.format);
- pan_legalize_afbc_format(ctx, dst, dst_view_format, true);
+ pan_legalize_afbc_format(ctx, dst, dst_view_format, true, false);
panfrost_blit_no_afbc_legalization(pipe, info);
}
diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index 8b356df8d43c..83f7eb5ff0e2 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -3408,7 +3408,7 @@ panfrost_create_sampler_view(struct pipe_context *pctx,
rzalloc(pctx, struct panfrost_sampler_view);
pan_legalize_afbc_format(ctx, pan_resource(texture), template->format,
- false);
+ false, false);
pipe_reference(NULL, &texture->reference);
diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 1866ff58daed..5e81b97c052d 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -65,7 +65,7 @@ panfrost_batch_add_surface(struct panfrost_batch *batch,
{
if (surf) {
struct panfrost_resource *rsrc = pan_resource(surf->texture);
- pan_legalize_afbc_format(batch->ctx, rsrc, surf->format, true);
+ pan_legalize_afbc_format(batch->ctx, rsrc, surf->format, true, false);
panfrost_batch_write_rsrc(batch, rsrc, PIPE_SHADER_FRAGMENT);
}
}
diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index 9ac92812cd88..cc6ebb4b9295 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -1383,7 +1383,7 @@ pan_resource_modifier_convert(struct panfrost_context *ctx,
void
pan_legalize_afbc_format(struct panfrost_context *ctx,
struct panfrost_resource *rsrc,
- enum pipe_format format, bool write)
+ enum pipe_format format, bool write, bool discard)
{
struct panfrost_device *dev = pan_device(ctx->base.screen);
@@ -1393,7 +1393,7 @@ pan_legalize_afbc_format(struct panfrost_context *ctx,
if (panfrost_afbc_format(dev->arch, rsrc->base.format) !=
panfrost_afbc_format(dev->arch, format)) {
pan_resource_modifier_convert(
- ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED, true,
+ ctx, rsrc, DRM_FORMAT_MOD_ARM_16X16_BLOCK_U_INTERLEAVED, !discard,
"Reinterpreting AFBC surface as incompatible format");
return;
}
@@ -1401,7 +1401,7 @@ pan_legalize_afbc_format(struct panfrost_context *ctx,
if (write && (rsrc->image.layout.modifier & AFBC_FORMAT_MOD_SPARSE) == 0)
pan_resource_modifier_convert(
ctx, rsrc, rsrc->image.layout.modifier | AFBC_FORMAT_MOD_SPARSE,
- true, "Legalizing resource to allow writing");
+ !discard, "Legalizing resource to allow writing");
}
static bool
diff --git a/src/gallium/drivers/panfrost/pan_resource.h b/src/gallium/drivers/panfrost/pan_resource.h
index f41b94f3f51f..514b0c5cd464 100644
--- a/src/gallium/drivers/panfrost/pan_resource.h
+++ b/src/gallium/drivers/panfrost/pan_resource.h
@@ -196,7 +196,8 @@ void pan_resource_modifier_convert(struct panfrost_context *ctx,
void pan_legalize_afbc_format(struct panfrost_context *ctx,
struct panfrost_resource *rsrc,
- enum pipe_format format, bool write);
+ enum pipe_format format, bool write,
+ bool discard);
void pan_dump_resource(struct panfrost_context *ctx,
struct panfrost_resource *rsc);
--
GitLab
From 580805dac920d105d184ae756aa296d764b2b1c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Louis-Francis=20Ratt=C3=A9-Boulianne?= <lfrb@collabora.com>
Date: Wed, 24 Jan 2024 01:18:56 -0500
Subject: [PATCH 4/4] panfrost: Legalize before updating part of a AFBC-packed
texture
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When updating an AFBC-packed resource, we need to make sure it is
legalized before blitting the staging resource to it. We can't rely
on the blit to properly convert the resource as it will result in
blit recursion and a crash.
If the whole texture is updated however, there is no need to unpack
as the content can be discarded. Just create a new BO with the right
format.
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
---
src/gallium/drivers/panfrost/pan_resource.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index cc6ebb4b9295..bcdf0753f8bb 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -1609,6 +1609,10 @@ panfrost_ptr_unmap(struct pipe_context *pctx, struct pipe_transfer *transfer)
prsrc->image.data.base = prsrc->bo->ptr.gpu;
panfrost_bo_reference(prsrc->bo);
} else {
+ bool discard = panfrost_can_discard(&prsrc->base, &transfer->box,
+ transfer->usage);
+ pan_legalize_afbc_format(ctx, prsrc, prsrc->image.layout.format,
+ true, discard);
pan_blit_from_staging(pctx, trans);
panfrost_flush_batches_accessing_rsrc(
ctx, pan_resource(trans->staging.rsrc),
--
GitLab

View file

@ -430,7 +430,7 @@ CONFIG_TRANS_TABLE=y
# CONFIG_XEN is not set
CONFIG_ARCH_FORCE_MAX_ORDER=10
CONFIG_UNMAP_KERNEL_AT_EL0=y
CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
# CONFIG_ARM64_SW_TTBR0_PAN is not set
CONFIG_ARM64_TAGGED_ADDR_ABI=y
@ -464,7 +464,7 @@ CONFIG_AS_HAS_SHA3=y
# CONFIG_ARM64_PTR_AUTH is not set
CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
# CONFIG_AS_HAS_ARMV8_3 is not set
CONFIG_AS_HAS_ARMV8_3=y
CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
CONFIG_AS_HAS_LDAPR=y
# end of ARMv8.3 architectural features
@ -498,7 +498,6 @@ CONFIG_ARM64_SME=y
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
CONFIG_STACKPROTECTOR_PER_TASK=y
# end of Kernel Features
#
@ -644,8 +643,7 @@ CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
# CONFIG_STACKPROTECTOR is not set
CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
# CONFIG_SHADOW_CALL_STACK is not set
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
@ -1968,12 +1966,35 @@ CONFIG_INPUT_RK805_PWRKEY=y
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
# CONFIG_RMI4_CORE is not set
CONFIG_RMI4_CORE=m
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=m
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
CONFIG_SERIO=m
CONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_AMBAKMI is not set
# CONFIG_SERIO_LIBPS2 is not set
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support
@ -2395,6 +2416,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
@ -2481,6 +2503,8 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
@ -3401,6 +3425,7 @@ CONFIG_SND_PCM_ELD=y
CONFIG_SND_PCM_IEC958=y
CONFIG_SND_DMAENGINE_PCM=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
# CONFIG_SND_OSSEMUL is not set
@ -3416,6 +3441,8 @@ CONFIG_SND_CTL_FAST_LOOKUP=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_SEQ_MIDI_EVENT=m
CONFIG_SND_SEQ_MIDI=m
# CONFIG_SND_SEQ_UMP is not set
# CONFIG_SND_DRIVERS is not set
@ -3689,77 +3716,128 @@ CONFIG_HID_GENERIC=y
#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
# CONFIG_HID_ACRUX is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_AUREAL is not set
# CONFIG_HID_BELKIN is not set
# CONFIG_HID_CHERRY is not set
CONFIG_HID_A4TECH=m
# CONFIG_HID_ACCUTOUCH is not set
CONFIG_HID_ACRUX=m
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=m
CONFIG_HID_APPLEIR=m
# CONFIG_HID_ASUS is not set
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
CONFIG_HID_BETOP_FF=m
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CORSAIR=m
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=m
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
# CONFIG_HID_CP2112 is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=m
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=m
CONFIG_HID_ELO=m
# CONFIG_HID_EVISION is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_WALTOP is not set
CONFIG_HID_GT683R=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
CONFIG_HID_UCLOGIC=m
CONFIG_HID_WALTOP=m
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_ICADE is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
# CONFIG_HID_ITE is not set
# CONFIG_HID_JABRA is not set
# CONFIG_HID_TWINHAN is not set
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LCPOWER is not set
# CONFIG_HID_LED is not set
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_MAGICMOUSE is not set
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_HID_LENOVO=m
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=m
# CONFIG_HID_LOGITECH_DJ is not set
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=m
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_REDRAGON is not set
# CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
# CONFIG_HID_NINTENDO is not set
# CONFIG_HID_NTI is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PLANTRONICS is not set
CONFIG_HID_NTRIG=m
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=m
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PLANTRONICS=m
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_SAITEK is not set
CONFIG_HID_PRIMAX=m
# CONFIG_HID_RETRODE is not set
CONFIG_HID_ROCCAT=m
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=m
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEAM is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_RMI is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_RMI=m
CONFIG_HID_GREENASIA=m
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=m
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
# CONFIG_HID_TOPRE is not set
# CONFIG_HID_THINGM is not set
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_WIIMOTE is not set
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
# CONFIG_HID_SENSOR_HUB is not set
# CONFIG_HID_ALPS is not set
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=m
CONFIG_HID_WIIMOTE=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=m
CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
CONFIG_HID_ALPS=m
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers
#
@ -3770,15 +3848,9 @@ CONFIG_HID_GENERIC=y
#
# USB HID support
#
# CONFIG_USB_HID is not set
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# end of USB HID Boot Protocol drivers
CONFIG_USB_HIDDEV=y
# end of USB HID support
CONFIG_I2C_HID=y
@ -4060,8 +4132,6 @@ CONFIG_MMC_CQHCI=y
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set
# CONFIG_MMC_SDHCI_OMAP is not set
# CONFIG_MMC_SDHCI_AM654 is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
@ -4263,6 +4333,7 @@ CONFIG_RTC_I2C_AND_SPI=y
#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
@ -4650,6 +4721,7 @@ CONFIG_IIO_TRIGGERED_EVENT=y
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
# CONFIG_HID_SENSOR_ACCEL_3D is not set
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
@ -4794,6 +4866,7 @@ CONFIG_ROCKCHIP_SARADC=y
#
# Hid Sensor IIO Common
#
# CONFIG_HID_SENSOR_IIO_COMMON is not set
# end of Hid Sensor IIO Common
#
@ -4898,6 +4971,7 @@ CONFIG_ROCKCHIP_SARADC=y
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
# CONFIG_HID_SENSOR_GYRO_3D is not set
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
@ -4924,6 +4998,7 @@ CONFIG_ROCKCHIP_SARADC=y
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HID_SENSOR_HUMIDITY is not set
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
@ -4974,6 +5049,8 @@ CONFIG_ROCKCHIP_SARADC=y
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_HID_SENSOR_ALS is not set
# CONFIG_HID_SENSOR_PROX is not set
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
@ -5016,6 +5093,7 @@ CONFIG_ROCKCHIP_SARADC=y
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
@ -5035,6 +5113,8 @@ CONFIG_IIO_MUX=y
#
# Inclinometer sensors
#
# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set
# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set
# end of Inclinometer sensors
#
@ -5049,6 +5129,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y
#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors
#
@ -5082,6 +5163,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
# CONFIG_HID_SENSOR_PRESS is not set
# CONFIG_HP03 is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
@ -5134,6 +5216,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
# CONFIG_HID_SENSOR_TEMP is not set
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_TMP006 is not set
@ -6071,8 +6154,7 @@ CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHEDSTATS is not set
# end of Scheduler Debugging
# CONFIG_DEBUG_TIMEKEEPING is not set

View file

@ -36,7 +36,7 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="main"
;;
RK3399|RK3326)
PKG_VERSION="6.7.1"
PKG_VERSION="6.7.2"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac