[Intel-gfx] KMS broken from 2.6.33 up to 2.6.35-rc5????

2010-07-18 Thread Massimo Maggi
 Hi all,
I've bought a new HP tm2-2000el with graphics core integrated into i3 -
330UM and a discrete ATI gpu (switchable from driver, at least in
windows).I don't care at all about getting the power-hungry ATI GPU
working in Linux, I only need the intel GPU .
I've started building my kernel (I'm used to do this) and I've found
that at KMS enabling, at boot, the screen flickers, the CORRECT image
appears (console text with higher resolution and penguins at top of the
screen) , and after half second the screen turns off and never comes
back (until hard reset or reboot through ssh).
PXE booting Ubuntu 10.04 installer shows exactly the same behaviour.
This happens if drm/i915 modules are built into kernel OR if they are
external, it happens when they are loaded by udev.
Booting with i915.modeset=0 or nomodeset in kernel command line lets me
use the console (in VGA mode), but when I start Xorg i get a blank
screen and kernel panic (blinking caps lock and network going down).
I've set up a very minimal kernel config (the resulting kernel is not
useful for anything except showing the problem), and built versions:
2.6.32.16
2.6.33.6
2.6.34.1
2.6.35-rc5
Only 2.6.32.16 is able to correctly initialize the framebuffer.
I see from http://intellinuxgraphics.org/2010Q1.html that in 2.6.33
should be Improved support for IntelĀ® HD Graphics (in IntelĀ® 2010 Core
i7/i5/i3 Processor Series)..
Obviously all kernel versions are unpatched (if that matters, I've tried
even zen-stable, but without success)
How can I solve the problem?
My goals are:
*Have working consoles (VGA or framebuffer doesn't matter)
*Have working Xorg with OpenGL acceleration
*Being able to use the power saving intel GPU, and have the ATI's one
powered off.
*Being able to use any recent stable kernel from kernel.org

How can I get that?

Massimo Maggi
mass...@.it
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.35-rc5
# Sun Jul 18 04:31:28 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT=elf64-x86-64
CONFIG_ARCH_DEFCONFIG=arch/x86/configs/x86_64_defconfig
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_EARLY_RES=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_ARCH_HWEIGHT_CFLAGS=-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config
CONFIG_CONSTRUCTORS=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=
CONFIG_LOCALVERSION=
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_TINY_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_DEVICE is not set

Re: [Intel-gfx] KMS broken from 2.6.33 up to 2.6.35-rc5????

2010-07-18 Thread Chris Wilson
On Sun, 18 Jul 2010 14:29:34 +0200, Massimo Maggi mass...@.it wrote:
 I've set up a very minimal kernel config (the resulting kernel is not
 useful for anything except showing the problem), and built versions:
 2.6.32.16
 2.6.33.6
 2.6.34.1
 2.6.35-rc5
 Only 2.6.32.16 is able to correctly initialize the framebuffer.

Excellent, as you have managed to reproduce this with a minimal kernel,
can you do a bisect between 2.6.33.16 and 2.6.33.6 and see which patch
causes the regression? It should only take a couple of hours. My bet is
one of the Arrandale enabling patches...

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Selectively enable self-reclaim

2010-07-18 Thread Linus Torvalds
On Sun, Jul 18, 2010 at 7:27 AM, M. Vefa Bicakci bic...@superonline.com wrote:

 After hours of testing I came up with the following result: We need
 to have the __GFP_RECLAIMABLE flag in addition to GFP_HIGHUSER.

Thanks for the extensive testing, and I'm committing the one-liner to
add it, and cc'ing it to stable. I'm pretty certain that there is
something overly fragile in the i915 driver that this flag makes so
much of a difference, but at the same time I'm actually happy that
it's that reclaimable flag, because at least that one was always the
conceptually makes sense one.

So I suspected it would be some low-memory issue and the flag that
woudl turn out to matter would be the NOMEMALLOC one, but I'm happy to
have been wrong. Adding __GFP_RECLAIMABLE is sane, although I really
would like to understand why the i915 driver apparently cares so
deeply about the allocation/freeing patterns.

But whatever. Thanks again for being such a thorough tester,

Linus
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] KMS broken from 2.6.33 up to 2.6.35-rc5????

2010-07-18 Thread Massimo Maggi
 Instead of half-solved, I would have written quarter-of-solved!
Setting the brightness higher than 0 works ONLY if the notebook was
powered by battery (and not if it's on AC) when the brightness went to
zero AND when it's reset to a higher number.
To sum up: on battery, the trick works. On AC, it doesn't work.
The notebook has two buttons for lowering and raising brightness:
*On windows: They can set brightness up to the minimal level, but not
zero (turn off screen).
*On linux - powered by battery:  They can set brightness to minimal
level, and turn off screen. The screen always turns on successfully.
*On linux - powered by AC:  They can set brightness to minimal level,
and turn off screen. The screen NEVER turns on. (by buttons, by echo
through ssh, never. Only solution: reboot)
I think that the two behaviours are strictly related.
After loading the i915, on dmesg I see:
[6.435915] [Firmware Bug]: ACPI: ACPI brightness control misses _BQC
function
and later there are a lot of other ACPI errors (apparently not related
to any problem, actually. Pasted at the end of the mail)
Is possibile that the root of all of my problems with this tablet is a
very buggy BIOS? (improper name, since it's UEFI, based on InsydeH2O)
There's something that can I do other than waiting for the next firmware
version? (mine is up-to-date)
Thanks in advance,
Massimo Maggi
mass...@.it



[   14.289721] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   14.289730] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   14.289841] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   14.290699] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   14.290707] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   14.290817] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   14.290926] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU1._PPC] (Node 8801570648c0), AE_NOT_FOUND
[   14.291744] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   14.291752] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   14.291861] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   14.291969] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU2._PPC] (Node 880157064aa0), AE_NOT_FOUND
[   14.293070] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   14.293078] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   14.293187] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   14.293296] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU3._PPC] (Node 880157064a20), AE_NOT_FOUND
[   25.563969] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   25.563981] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   25.564093] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   25.664344] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   25.664359] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   25.664504] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   25.664649] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU1._PPC] (Node 8801570648c0), AE_NOT_FOUND
[   25.767199] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   25.767215] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   25.767360] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   25.767501] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU2._PPC] (Node 880157064aa0), AE_NOT_FOUND
[   25.867118] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[   25.867132] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0.PPC_] (Node 8801570648e0), AE_NOT_FOUND
[   25.867276] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU0._PPC] (Node 880157064800), AE_NOT_FOUND
[   25.867418] ACPI Error (psparse-0537): Method parse/execution failed
[\_PR_.CPU3._PPC] (Node 880157064a20), AE_NOT_FOUND
[   27.793624] ACPI Error (psargs-0359): [NPSS] Namespace lookup
failure, AE_NOT_FOUND
[