summaryrefslogtreecommitdiffstats
path: root/core/modules/kernel-vanilla
diff options
context:
space:
mode:
authorSimon Rettberg2022-12-06 16:02:13 +0100
committerSimon Rettberg2022-12-06 16:02:13 +0100
commitaaa8e24b88c3e3e0ddd8458969ca7b578a4d2c83 (patch)
tree37d737c292f2b4094c8775ce89edcc8d983faaa9 /core/modules/kernel-vanilla
parent[vbox-src] Bump to 7.0.4, remove --disable-libopus (diff)
downloadmltk-aaa8e24b88c3e3e0ddd8458969ca7b578a4d2c83.tar.gz
mltk-aaa8e24b88c3e3e0ddd8458969ca7b578a4d2c83.tar.xz
mltk-aaa8e24b88c3e3e0ddd8458969ca7b578a4d2c83.zip
[kernel-vanilla] DP++ patch is now upstream
Diffstat (limited to 'core/modules/kernel-vanilla')
-rw-r--r--core/modules/kernel-vanilla/module.conf2
-rw-r--r--core/modules/kernel-vanilla/patches/dp-detect-5.15.patch99
2 files changed, 1 insertions, 100 deletions
diff --git a/core/modules/kernel-vanilla/module.conf b/core/modules/kernel-vanilla/module.conf
index 9519b4ed..35ad746a 100644
--- a/core/modules/kernel-vanilla/module.conf
+++ b/core/modules/kernel-vanilla/module.conf
@@ -5,5 +5,5 @@ REQUIRED_DIRECTORIES="
/lib/firmware/intel
/usr/bin
"
-REQUIRED_KERNEL="${CONFIG_KERNEL_VERSION:-"5.10.75"}"
+REQUIRED_KERNEL="${CONFIG_KERNEL_VERSION:-"5.15.81"}"
REQUIRED_GIT="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git"
diff --git a/core/modules/kernel-vanilla/patches/dp-detect-5.15.patch b/core/modules/kernel-vanilla/patches/dp-detect-5.15.patch
deleted file mode 100644
index 535e786f..00000000
--- a/core/modules/kernel-vanilla/patches/dp-detect-5.15.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff --git a/drivers/gpu/drm/drm_dp_dual_mode_helper.c b/drivers/gpu/drm/drm_dp_dual_mode_helper.c
-index 3ea53bb67d3b..bd61e20770a5 100644
---- a/drivers/gpu/drm/drm_dp_dual_mode_helper.c
-+++ b/drivers/gpu/drm/drm_dp_dual_mode_helper.c
-@@ -63,23 +63,45 @@
- ssize_t drm_dp_dual_mode_read(struct i2c_adapter *adapter,
- u8 offset, void *buffer, size_t size)
- {
-+ u8 zero = 0;
-+ char *tmpbuf = NULL;
-+ /*
-+ * As sub-addressing is not supported by all adaptors,
-+ * always explicitly read from the start and discard
-+ * any bytes that come before the requested offset.
-+ * This way, no matter whether the adaptor supports it
-+ * or not, we'll end up reading the proper data.
-+ */
- struct i2c_msg msgs[] = {
- {
- .addr = DP_DUAL_MODE_SLAVE_ADDRESS,
- .flags = 0,
- .len = 1,
-- .buf = &offset,
-+ .buf = &zero,
- },
- {
- .addr = DP_DUAL_MODE_SLAVE_ADDRESS,
- .flags = I2C_M_RD,
-- .len = size,
-+ .len = size + offset,
- .buf = buffer,
- },
- };
- int ret;
-
-+ if (offset) {
-+ tmpbuf = kmalloc(size + offset, GFP_KERNEL);
-+ if (!tmpbuf)
-+ return -ENOMEM;
-+
-+ msgs[1].buf = tmpbuf;
-+ }
-+
- ret = i2c_transfer(adapter, msgs, ARRAY_SIZE(msgs));
-+ if (tmpbuf)
-+ memcpy(buffer, tmpbuf + offset, size);
-+
-+ kfree(tmpbuf);
-+
- if (ret < 0)
- return ret;
- if (ret != ARRAY_SIZE(msgs))
-@@ -208,18 +230,6 @@ enum drm_dp_dual_mode_type drm_dp_dual_mode_detect(const struct drm_device *dev,
- if (ret)
- return DRM_DP_DUAL_MODE_UNKNOWN;
-
-- /*
-- * Sigh. Some (maybe all?) type 1 adaptors are broken and ack
-- * the offset but ignore it, and instead they just always return
-- * data from the start of the HDMI ID buffer. So for a broken
-- * type 1 HDMI adaptor a single byte read will always give us
-- * 0x44, and for a type 1 DVI adaptor it should give 0x00
-- * (assuming it implements any registers). Fortunately neither
-- * of those values will match the type 2 signature of the
-- * DP_DUAL_MODE_ADAPTOR_ID register so we can proceed with
-- * the type 2 adaptor detection safely even in the presence
-- * of broken type 1 adaptors.
-- */
- ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_ADAPTOR_ID,
- &adaptor_id, sizeof(adaptor_id));
- drm_dbg_kms(dev, "DP dual mode adaptor ID: %02x (err %zd)\n", adaptor_id, ret);
-@@ -233,11 +243,10 @@ enum drm_dp_dual_mode_type drm_dp_dual_mode_detect(const struct drm_device *dev,
- return DRM_DP_DUAL_MODE_TYPE2_DVI;
- }
- /*
-- * If neither a proper type 1 ID nor a broken type 1 adaptor
-- * as described above, assume type 1, but let the user know
-- * that we may have misdetected the type.
-+ * If not a proper type 1 ID, still assume type 1, but let
-+ * the user know that we may have misdetected the type.
- */
-- if (!is_type1_adaptor(adaptor_id) && adaptor_id != hdmi_id[0])
-+ if (!is_type1_adaptor(adaptor_id))
- drm_err(dev, "Unexpected DP dual mode adaptor ID %02x\n", adaptor_id);
-
- }
-@@ -343,10 +352,8 @@ EXPORT_SYMBOL(drm_dp_dual_mode_get_tmds_output);
- * @enable: enable (as opposed to disable) the TMDS output buffers
- *
- * Set the state of the TMDS output buffers in the adaptor. For
-- * type2 this is set via the DP_DUAL_MODE_TMDS_OEN register. As
-- * some type 1 adaptors have problems with registers (see comments
-- * in drm_dp_dual_mode_detect()) we avoid touching the register,
-- * making this function a no-op on type 1 adaptors.
-+ * type2 this is set via the DP_DUAL_MODE_TMDS_OEN register.
-+ * Type1 adaptors do not support any register writes.
- *
- * Returns:
- * 0 on success, negative error code on failure