diff --git a/sys-kernel/mygentoo-sources/Manifest b/sys-kernel/mygentoo-sources/Manifest index 8449f5e..a69ce0c 100644 --- a/sys-kernel/mygentoo-sources/Manifest +++ b/sys-kernel/mygentoo-sources/Manifest @@ -1,4 +1,4 @@ -AUX gpu-4.14.33.fix.patch 1199 BLAKE2B ea73754f635446aafb6bfb5c6bcda57057db7af03240d3134c1a867904985c0fe528f22a75b20e0e8ffd999359a15334b50d46601a4c0846f630027c4b9f156b SHA512 e848630a259989702cf57b1ab8009cd18115779b9ecad9ce2f0e4ce06661392cd6e28c0db4c2e2205b539efb0d7307af921d1feb26d46d7350150ebf74a76cec +AUX gpu-4.14.33.fix.patch 2554 BLAKE2B 935cad15dced2a40ddf13f7970c32584711bdde1b1ac43babf573e92a8e91621622bd73fcf38c6a8496e1a3d8c20a9bf09a717463232a44dce587dc969778c26 SHA512 7c74a3220894f607917987556cdb69af932e2e1c3889193fef5c6524a7b2b7d96731c095b063255ad19f1b0c480bd3f0c575768abf106eec6eb948c4bda133e7 DIST genpatches-4.14-25.base.tar.xz 638040 BLAKE2B 162d2117d125b277ae0d4557d203e5aca666b478c20ce46341fed43dcfca01aaa6727669f8f1eb851806c3838dd535da90f4f1a673aad9c439a1e7ac4f7505b1 SHA512 3cfcfed1389bea5a0341bebfc41552b0a9cc1b87099efca83fc32700a0cfb43dd4bd04b6e6a964ac8e4d23bab02707d3614025a6bce4bb614639f5d34bcb0854 DIST genpatches-4.14-25.experimental.tar.xz 5184 BLAKE2B d1b0ae6d6e27920a91f230dd6768741fcbc2f3c3f45c94dd764ca33e08edc4d6f9a52caf8c0e8cfc5431fe49dc189710208d9f1fcf4199d51cf66f0578c6430f SHA512 dcb81b7063be6b19eb64bfe72f07d51762f3693b087e6feee118993d524bc48caa4ca6843ca45de7b017e30907c58b7f383f1a5efdc67f801f06d1ea8380474f DIST genpatches-4.14-25.extras.tar.xz 17480 BLAKE2B efcbfd671a8d34546dec1077c6e4033b04f5babd596a1d673bc4aa98b73b98c11b75f47288f8f1f9a89bbc5f0c053ba852d170bdd513f7d8e2747371cac213f5 SHA512 a78ee7bc750f0c41b526b95c63d9124aeabde8c4544fec7b76a8145e045b1106dc619d36d73d6e8bb262447f0f232a5b364028945f7251a29cd45e46f4612fd9 diff --git a/sys-kernel/mygentoo-sources/files/gpu-4.14.33.fix.patch b/sys-kernel/mygentoo-sources/files/gpu-4.14.33.fix.patch index 0fb418c..e9a848f 100644 --- a/sys-kernel/mygentoo-sources/files/gpu-4.14.33.fix.patch +++ b/sys-kernel/mygentoo-sources/files/gpu-4.14.33.fix.patch @@ -1,6 +1,35 @@ ---- a/drivers/gpu/drm/i915/intel_bios.c 2017-11-12 19:46:13.000000000 +0100 -+++ b/drivers/gpu/drm/i915/intel_bios.c 2018-04-11 12:04:39.535658504 +0200 -@@ -1155,7 +1155,6 @@ +--- linux-4.14.33.orig/drivers/gpu/drm/i915/intel_bios.c 2017-11-12 19:46:13.000000000 +0100 ++++ linux-4.14.33/drivers/gpu/drm/i915/intel_bios.c 2018-04-11 15:08:21.073058586 +0200 +@@ -1110,6 +1110,28 @@ + } + } + ++static const u8 cnp_ddc_pin_map[] = { ++ [0] = 0, /* N/A */ ++ [DDC_BUS_DDI_B] = GMBUS_PIN_1_BXT, ++ [DDC_BUS_DDI_C] = GMBUS_PIN_2_BXT, ++ [DDC_BUS_DDI_D] = GMBUS_PIN_4_CNP, /* sic */ ++ [DDC_BUS_DDI_F] = GMBUS_PIN_3_BXT, /* sic */ ++}; ++ ++static u8 map_ddc_pin(struct drm_i915_private *dev_priv, u8 vbt_pin) ++{ ++ if (HAS_PCH_CNP(dev_priv)) { ++ if (vbt_pin < ARRAY_SIZE(cnp_ddc_pin_map)) { ++ return cnp_ddc_pin_map[vbt_pin]; ++ } else { ++ DRM_DEBUG_KMS("Ignoring alternate pin: VBT claims DDC pin %d, which is not valid for this platform\n", vbt_pin); ++ return 0; ++ } ++ } ++ ++ return vbt_pin; ++} ++ + static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port, + const struct bdb_header *bdb) + { +@@ -1155,7 +1177,6 @@ return; aux_channel = child->common.aux_channel; @@ -8,7 +37,7 @@ is_dvi = child->common.device_type & DEVICE_TYPE_TMDS_DVI_SIGNALING; is_dp = child->common.device_type & DEVICE_TYPE_DISPLAYPORT_OUTPUT; -@@ -1195,18 +1194,15 @@ +@@ -1195,18 +1216,15 @@ DRM_DEBUG_KMS("Port %c is internal DP\n", port_name(port)); if (is_dvi) { @@ -21,7 +50,7 @@ - if (IS_CNL_REVID(dev_priv, CNL_REVID_B0, CNL_REVID_B0) && - port == PORT_D) { - info->alternate_ddc_pin = 0; -+ ddc_pin = map_ddc_pin(dev_priv, child->ddc_pin); ++ ddc_pin = map_ddc_pin(dev_priv, child->common.ddc_pin); + if (intel_gmbus_is_valid_pin(dev_priv, ddc_pin)) { + info->alternate_ddc_pin = ddc_pin; + sanitize_ddc_pin(dev_priv, port); @@ -35,3 +64,20 @@ } if (is_dp) { +--- linux-4.14.33.orig/drivers/gpu/drm/i915/intel_vbt_defs.h 2017-11-12 19:46:13.000000000 +0100 ++++ linux-4.14.33/drivers/gpu/drm/i915/intel_vbt_defs.h 2018-04-11 15:18:03.342920432 +0200 +@@ -230,6 +230,14 @@ + #define DEVICE_PORT_DVOB 0x01 + #define DEVICE_PORT_DVOC 0x02 + ++/* DDC Bus DDI Type 155+ */ ++enum vbt_gmbus_ddi { ++ DDC_BUS_DDI_B = 0x1, ++ DDC_BUS_DDI_C, ++ DDC_BUS_DDI_D, ++ DDC_BUS_DDI_F, ++}; ++ + /* + * We used to keep this struct but without any version control. We should avoid + * using it in the future, but it should be safe to keep using it in the old