Re: [Intel-gfx] 3.19-rc1 errors when opening LID

2014-12-27 Thread Joe Perches
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

2014-12-27 Thread Rafael J. Wysocki
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

2014-12-27 Thread nick
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

2014-12-27 Thread shuang . he
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

2014-12-27 Thread Chris Wilson
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

2014-12-27 Thread Pali Rohár
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