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
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
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.44947
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
[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 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 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87759 Signed-off-by: Chris Wilson --- 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] 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