Re: [Intel-gfx] 3.19-rc1 errors when opening LID
Hello, in attachment is output of ls -l /sys/bus/acpi/devices from both 3.13 and 3.19 kernels. Anyway Gabriele Mazzotta wrote me that new acpi devices could be created after commit faae404ebdc6bba (ACPICA: Add Windows 2013 string to _OSI support). Maybe this another output could help you: $ cat /sys/bus/acpi/devices/INT33C5\:00/status 0 $ cat /sys/bus/acpi/devices/INT33C5\:00/power_state (unknown) Device INT33C5 is in that dmesg log: acpi INT33C5:00: Cannot transition to non-D0 state from D3 And status 0 in sysnode could indicate that acpi device is not present right? On Thursday 25 December 2014 17:59:36 nick wrote: Pali, This was probably to either add better power management or enable some new features related to acpi. Can you send me the files they created in kernel 3.19 r1 as I can probably trace it back to the bad commit. Regards Nick On 2014-12-25 03:48 AM, Pali Rohár wrote: I know how to use git... first I wanted to report errors because maybe it could be known problem or somebody else can come with quick patch even without bisetcing (like for other problems which I reported). Anyway those acpi devices which are mentioned in log do not exist in 3.13 kernel (I do not see them in /sys/devices) Any idea why 3.19 kernel create new acpi devices which 3.13 kernel did not? On Thursday 25 December 2014 05:28:27 nick wrote: Pali, Do you known how to run git bisect as this is probably the best way to continue. Otherwise, I can teach you how it's not hard if your willing to learn :). Cheers Nick On 2014-12-24 01:51 PM, Pali Rohár wrote: Hello! With new 3.19-rc1 kernel every time when I open LID on my laptop, kernel prints these error lines to dmesg: [25566.368133] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem. [25566.368134] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt [25566.368192] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem. [25566.368232] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.4[25568.446011] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447018] pci_bus :02: Allocating resources [25568.447055] pci_bus :03: Allocating resources [25568.447135] pci_bus :04: Allocating resources [25568.447168] pci_bus :05: Allocating resources [25568.447195] pci_bus :06: Allocating resources [25568.447228] pci_bus :0e: Allocating resources [25568.447323] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447557] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447735] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447847] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448399] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448438] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448566] acpi MSFT:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448572] acpi INT33C2:00: Cannot transition to non-D0 state from D3 [25568.448577] acpi MSFT0002:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448581] acpi ELAN1010:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448587] acpi INT33C3:00: Cannot transition to non-D0 state from D3 [25568.448590] acpi INT33C0:00: Cannot transition to non-D0 state from D3 [25568.448594] acpi INT33C1:00: Cannot transition to non-D0 state from D3 [25568.448598] acpi INT33C4:00: Cannot transition to non-D0 state from D3 [25568.448602] acpi INT33C5:00: Cannot transition to non-D0 state from D3 [25568.448623] acpi device:41: Cannot transition to power state D3cold for parent in (unknown) [25568.448627] acpi INT33C6:00: Cannot transition to non-D0 state from D3 [25568.448890] pci_bus :01: Allocating resources [25568.448905] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.449064] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.449472] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment With older kernel (3.13) I do not see these errors, so it is regression. Can you look at it? If it is needed, I can provide other logs, ACPI/DSTD dumps, etc. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Pali Rohár pali.ro...@gmail.com celkom 0 drwxr-xr-x 2 root root 0 dec 25 14:04 ./
[Intel-gfx] [PATCH] drm/i915: Ban Haswell from using RCS flips
Like Ivybridge, we have reports that we get random hangs when flipping with multiple pipes. Extend commit 2a92d5bca1999b69c78f3c3e97b5484985b094b9 Author: Chris Wilson ch...@chris-wilson.co.uk Date: Tue Jul 8 10:40:29 2014 +0100 drm/i915: Disable RCS flips on Ivybridge to also apply to Haswell. Reported-by: Scott Tsai scottt...@gmail.com Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87759 Signed-off-by: Chris Wilson ch...@chris-wilson.co.uk --- drivers/gpu/drm/i915/intel_display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d01db1b82869..ed2102e62271 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -9703,7 +9703,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, if (obj-tiling_mode != work-old_fb_obj-tiling_mode) /* vlv: DISPLAY_FLIP fails to change tiling */ ring = NULL; - } else if (IS_IVYBRIDGE(dev)) { + } else if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev)) { ring = dev_priv-ring[BCS]; } else if (INTEL_INFO(dev)-gen = 7) { ring = i915_gem_request_get_ring(obj-last_read_req); -- 2.1.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Ban Haswell from using RCS flips
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang...@intel.com) -Summary- Platform Delta drm-intel-nightly Series Applied PNV 363/364 363/364 ILK 364/366 364/366 SNB -1 447/450 446/450 IVB 496/498 496/498 BYT 288/289 288/289 HSW 562/564 562/564 BDW 415/417 415/417 -Detailed- Platform Testdrm-intel-nightly Series Applied *SNB igt_gem_concurrent_blit_gtt-rcs-early-read-forked PASS(2, M35) DMESG_FAIL(1, M35) Note: You need to pay more attention to line start with '*' ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] 3.19-rc1 errors when opening LID
Pali, This seems to be a likely culprit. Would you mind building a kernel before that commit was merged in order to test if it works. Regards Nick On 2014-12-27 03:19 AM, Pali Rohár wrote: Hello, in attachment is output of ls -l /sys/bus/acpi/devices from both 3.13 and 3.19 kernels. Anyway Gabriele Mazzotta wrote me that new acpi devices could be created after commit faae404ebdc6bba (ACPICA: Add Windows 2013 string to _OSI support). Maybe this another output could help you: $ cat /sys/bus/acpi/devices/INT33C5\:00/status 0 $ cat /sys/bus/acpi/devices/INT33C5\:00/power_state (unknown) Device INT33C5 is in that dmesg log: acpi INT33C5:00: Cannot transition to non-D0 state from D3 And status 0 in sysnode could indicate that acpi device is not present right? On Thursday 25 December 2014 17:59:36 nick wrote: Pali, This was probably to either add better power management or enable some new features related to acpi. Can you send me the files they created in kernel 3.19 r1 as I can probably trace it back to the bad commit. Regards Nick On 2014-12-25 03:48 AM, Pali Rohár wrote: I know how to use git... first I wanted to report errors because maybe it could be known problem or somebody else can come with quick patch even without bisetcing (like for other problems which I reported). Anyway those acpi devices which are mentioned in log do not exist in 3.13 kernel (I do not see them in /sys/devices) Any idea why 3.19 kernel create new acpi devices which 3.13 kernel did not? On Thursday 25 December 2014 05:28:27 nick wrote: Pali, Do you known how to run git bisect as this is probably the best way to continue. Otherwise, I can teach you how it's not hard if your willing to learn :). Cheers Nick On 2014-12-24 01:51 PM, Pali Rohár wrote: Hello! With new 3.19-rc1 kernel every time when I open LID on my laptop, kernel prints these error lines to dmesg: [25566.368133] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem. [25566.368134] [drm:intel_uncore_check_errors [i915]] *ERROR* Unclaimed register before interrupt [25566.368192] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem. [25566.368232] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.4[25568.446011] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447018] pci_bus :02: Allocating resources [25568.447055] pci_bus :03: Allocating resources [25568.447135] pci_bus :04: Allocating resources [25568.447168] pci_bus :05: Allocating resources [25568.447195] pci_bus :06: Allocating resources [25568.447228] pci_bus :0e: Allocating resources [25568.447323] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447557] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447735] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.447847] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448399] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448438] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.448566] acpi MSFT:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448572] acpi INT33C2:00: Cannot transition to non-D0 state from D3 [25568.448577] acpi MSFT0002:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448581] acpi ELAN1010:00: Cannot transition to power state D3cold for parent in (unknown) [25568.448587] acpi INT33C3:00: Cannot transition to non-D0 state from D3 [25568.448590] acpi INT33C0:00: Cannot transition to non-D0 state from D3 [25568.448594] acpi INT33C1:00: Cannot transition to non-D0 state from D3 [25568.448598] acpi INT33C4:00: Cannot transition to non-D0 state from D3 [25568.448602] acpi INT33C5:00: Cannot transition to non-D0 state from D3 [25568.448623] acpi device:41: Cannot transition to power state D3cold for parent in (unknown) [25568.448627] acpi INT33C6:00: Cannot transition to non-D0 state from D3 [25568.448890] pci_bus :01: Allocating resources [25568.448905] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.449064] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment [25568.449472] i915 :00:02.0: BAR 6: [??? 0x flags 0x2] has bogus alignment With older kernel (3.13) I do not see these errors, so it is regression. Can you look at it? If it is needed, I can provide other logs, ACPI/DSTD dumps, etc. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org
Re: [Intel-gfx] 3.19-rc1 errors when opening LID
On Saturday, December 27, 2014 09:19:49 AM Pali Rohár wrote: Hello, in attachment is output of ls -l /sys/bus/acpi/devices from both 3.13 and 3.19 kernels. Anyway Gabriele Mazzotta wrote me that new acpi devices could be created after commit faae404ebdc6bba (ACPICA: Add Windows 2013 string to _OSI support). Maybe this another output could help you: $ cat /sys/bus/acpi/devices/INT33C5\:00/status 0 $ cat /sys/bus/acpi/devices/INT33C5\:00/power_state (unknown) Device INT33C5 is in that dmesg log: acpi INT33C5:00: Cannot transition to non-D0 state from D3 The appended patch should make these messages go away, please test. And status 0 in sysnode could indicate that acpi device is not present right? That's correct. --- drivers/acpi/device_pm.c |7 --- include/acpi/acpi_bus.h |3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) Index: linux-pm/include/acpi/acpi_bus.h === --- linux-pm.orig/include/acpi/acpi_bus.h +++ linux-pm/include/acpi/acpi_bus.h @@ -589,7 +589,8 @@ static inline u32 acpi_target_system_sta static inline bool acpi_device_power_manageable(struct acpi_device *adev) { - return adev-flags.power_manageable; + return adev-flags.power_manageable +(adev-status.present || adev-status.functional); } static inline bool acpi_device_can_wakeup(struct acpi_device *adev) Index: linux-pm/drivers/acpi/device_pm.c === --- linux-pm.orig/drivers/acpi/device_pm.c +++ linux-pm/drivers/acpi/device_pm.c @@ -68,7 +68,8 @@ int acpi_device_get_power(struct acpi_de { int result = ACPI_STATE_UNKNOWN; - if (!device || !state) + if (!device || !state + || !(device-status.present || device-status.functional)) return -EINVAL; if (!device-flags.power_manageable) { @@ -156,7 +157,7 @@ int acpi_device_set_power(struct acpi_de int result = 0; bool cut_power = false; - if (!device || !device-flags.power_manageable + if (!device || !acpi_device_power_manageable(device) || (state ACPI_STATE_D0) || (state ACPI_STATE_D3_COLD)) return -EINVAL; @@ -361,7 +362,7 @@ bool acpi_bus_power_manageable(acpi_hand int result; result = acpi_bus_get_device(handle, device); - return result ? false : device-flags.power_manageable; + return result ? false : acpi_device_power_manageable(device); } EXPORT_SYMBOL(acpi_bus_power_manageable); signature.asc Description: This is a digitally signed message part. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] 3.19-rc1 errors when opening LID
On Sat, 2014-12-27 at 21:22 +0100, Rafael J. Wysocki wrote: [] +++ linux-pm/include/acpi/acpi_bus.h @@ -589,7 +589,8 @@ static inline u32 acpi_target_system_sta static inline bool acpi_device_power_manageable(struct acpi_device *adev) { - return adev-flags.power_manageable; + return adev-flags.power_manageable + (adev-status.present || adev-status.functional); Most code in the kernel has these logical continuations at the end of the previous line. +++ linux-pm/drivers/acpi/device_pm.c [] @@ -361,7 +362,7 @@ bool acpi_bus_power_manageable(acpi_hand int result; result = acpi_bus_get_device(handle, device); - return result ? false : device-flags.power_manageable; + return result ? false : acpi_device_power_manageable(device); This might read better as: if (acpi_bus_get_device(handle, device)) return false; return acpi_device_power_manageable(device); ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx