about summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2016-04-26 19:29:46 +0200
committeraszlig <aszlig@redmoonstudios.org>2016-04-26 19:29:46 +0200
commita4160cafd19f91073226a87d22c95dcf3b22e44e (patch)
tree7c54e426a0d7a35e49acd4271d2c5d82f403469a
parent239d4a0244607dc89a005b759f28e836d775ba44 (diff)
hardware/t100ha: Switch to linux-next-20160426
This reverts commit 0182e0ca12760da2aecd65de98c85a76ecdcedc6.

With the latest testing kernel, the machine still gets random GPU
lockups which are already fixed in linux-next, so let's get back to
linux-next even though things break from time to time.

We can still pin a specific next version to base our patches on once we
have a base version that's stable enough.

I've also fixed the backlight patch to compile against the latest next
version.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r--modules/hardware/t100ha/backlight.patch15
-rw-r--r--modules/hardware/t100ha/default.nix28
2 files changed, 31 insertions, 12 deletions
diff --git a/modules/hardware/t100ha/backlight.patch b/modules/hardware/t100ha/backlight.patch
index 8791ab56..41d7b019 100644
--- a/modules/hardware/t100ha/backlight.patch
+++ b/modules/hardware/t100ha/backlight.patch
@@ -1,5 +1,5 @@
 diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
-index 01b8e9f..ef74047 100644
+index 3562bf3..4ae5430 100644
 --- a/drivers/gpu/drm/i915/intel_dsi.c
 +++ b/drivers/gpu/drm/i915/intel_dsi.c
 @@ -551,6 +551,8 @@ static void intel_dsi_disable(struct intel_encoder *encoder)
@@ -20,7 +20,7 @@ index 01b8e9f..ef74047 100644
  	for_each_dsi_port(port, intel_dsi->ports) {
  		/* Panel commands can be sent when clock is in LP11 */
  		I915_WRITE(MIPI_DEVICE_READY(port), 0x0);
-@@ -1065,6 +1069,7 @@ static void intel_dsi_connector_destroy(struct drm_connector *connector)
+@@ -1093,6 +1097,7 @@ static void intel_dsi_connector_destroy(struct drm_connector *connector)
  
  	DRM_DEBUG_KMS("\n");
  	intel_panel_fini(&intel_connector->panel);
@@ -29,7 +29,7 @@ index 01b8e9f..ef74047 100644
  	kfree(connector);
  }
 diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
-index 21ee647..ddd5743 100644
+index 8c8996f..4c8678a 100644
 --- a/drivers/gpu/drm/i915/intel_panel.c
 +++ b/drivers/gpu/drm/i915/intel_panel.c
 @@ -32,6 +32,7 @@
@@ -97,7 +97,7 @@ index 21ee647..ddd5743 100644
  void intel_panel_enable_backlight(struct intel_connector *connector)
  {
  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
-@@ -1659,6 +1689,21 @@ static int pwm_setup_backlight(struct intel_connector *connector,
+@@ -1657,6 +1687,20 @@ static int pwm_setup_backlight(struct intel_connector *connector,
  	return 0;
  }
  
@@ -106,7 +106,6 @@ index 21ee647..ddd5743 100644
 +{
 +	struct intel_panel *panel = &connector->panel;
 +
-+	printk("vlv_pmic_setup_backlight\n");
 +	panel->backlight.present = 1;
 +	panel->backlight.min = 0x00;
 +	panel->backlight.max = 0xFF;
@@ -119,7 +118,7 @@ index 21ee647..ddd5743 100644
  int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe)
  {
  	struct drm_i915_private *dev_priv = to_i915(connector->dev);
-@@ -1666,6 +1711,8 @@ int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe)
+@@ -1664,6 +1708,8 @@ int intel_panel_setup_backlight(struct drm_connector *connector, enum pipe pipe)
  	struct intel_panel *panel = &intel_connector->panel;
  	int ret;
  
@@ -128,10 +127,10 @@ index 21ee647..ddd5743 100644
  	if (!dev_priv->vbt.backlight.present) {
  		if (dev_priv->quirks & QUIRK_BACKLIGHT_PRESENT) {
  			DRM_DEBUG_KMS("no backlight present per VBT, but present per quirk\n");
-@@ -1746,18 +1793,17 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
+@@ -1744,18 +1790,17 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
  		panel->backlight.hz_to_pwm = pch_hz_to_pwm;
  	} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
- 		if (dev_priv->vbt.has_mipi) {
+ 		if (connector->base.connector_type == DRM_MODE_CONNECTOR_DSI) {
 -			panel->backlight.setup = pwm_setup_backlight;
 -			panel->backlight.enable = pwm_enable_backlight;
 -			panel->backlight.disable = pwm_disable_backlight;
diff --git a/modules/hardware/t100ha/default.nix b/modules/hardware/t100ha/default.nix
index c08c20da..41a2580e 100644
--- a/modules/hardware/t100ha/default.nix
+++ b/modules/hardware/t100ha/default.nix
@@ -11,7 +11,21 @@ in {
     # It's a CherryTrail SoC, so we want to have the latest and greatest with a
     # few additional patches:
     boot.kernelPackages = let
-      argsOverride = {
+      nixpkgs = import ../../../nixpkgs-path.nix;
+      linuxNextVersion = "20160426";
+      mkKernel = import "${nixpkgs}/pkgs/os-specific/linux/kernel/generic.nix";
+      t100haKernel = mkKernel rec {
+        version = "4.6-rc5";
+        modDirVersion = "4.6.0-rc5-next-${linuxNextVersion}";
+        extraMeta.branch = "4.6";
+
+        src = pkgs.fetchgit {
+          url = "git://git.kernel.org/pub/scm/linux/kernel/git/next/"
+              + "linux-next.git";
+          rev = "refs/tags/next-${linuxNextVersion}";
+          sha256 = "0qa5fpli9y3xk01yrc7sy2v4vywlkj7aclslmz79r1ry6smfnv2b";
+        };
+
         kernelPatches = [
           { name = "backlight";
             patch = ./backlight.patch;
@@ -33,10 +47,16 @@ in {
           DRM y
           DRM_I915 y
         '';
-      };
 
-      patched = pkgs.linux_testing.override { inherit argsOverride; };
-      self = pkgs.linuxPackagesFor patched self;
+        features.iwlwifi = true;
+        features.efiBootStub = true;
+        features.needsCifsUtils = true;
+        features.canDisableNetfilterConntrackHelpers = true;
+        features.netfilterRPFilter = true;
+
+        inherit (pkgs) stdenv perl buildLinux;
+      };
+      self = pkgs.linuxPackagesFor t100haKernel self;
     in self;
 
     # By default the console is rotated by 90 degrees to the right.