2010-01-13 05:44:48

by Linus Torvalds

[permalink] [raw]
Subject: Linux 2.6.33-rc4


Hmm. Odd release. Something like 40% of the patches are in DRM (mostly
nouveau and radeon, both staging, so it's a bit less scary than it sounds.
But there's a noticeable i915 component too). That's all pretty unusual,
afaik.

There's some boot loader compression updates too that have already turned
out to be a bit painful on non-x86/arm platforms (but we'll sort it out),
various arch updates (mips, arm, mn10300), networking, and filesystems.

Go forth and compile,

Linus

---
Abhijit Pagare (1):
ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access.

Adam Jackson (2):
drm/edid: Skip empty CVT codepoints
drm/edid: Fix CVT width/height decode

Adrian Hunter (2):
mmc_block: fix queue cleanup
mmc: allow for MMC v4.4

Al Viro (1):
mn10300: fix several bogus includes on abs2305

Alan Carvalho de Assis (1):
mx27: mxt_td60: Remove not used UART pins

Albin Tonnerre (4):
lib: add support for LZO-compressed kernels
arm: add support for LZO-compressed kernels
x86: add support for LZO-compressed kernels
Add LZO compression support for initramfs and old-style initrd

Alex Deucher (10):
drm/radeon/kms: fallback to default connector table
drm/radeon/kms: add primary dac adj values table
drm/radeon/kms: add missing breaks in i2c and ss lookups
drm/radeon/kms: fix typo in atom connector type handling
drm/radeon/kms: whitespace changes to ObjectID.h
drm/radeon/kms: pull in the latest upstream ObjectID.h changes
drm: Add eDP connector type
drm/radeon/kms: add support for eDP (embedded DisplayPort)
drm/radeon/kms: detect sideport memory on IGP chips
drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xx

Alexander Beregalov (2):
pcmcia: ncmlan_cs: remove odd bracket
drm/radeon: mkregtable.c: close a file before exit

Alexander Shishkin (1):
omap2/3: make serial_in_override() address the right uart port

Amit Kumar Salecha (4):
netxen: fix tx ring memory leak
netxen: fix smatch warning
netxen: fix set mac addr
netxen: update version to 4.0.72

Ananth N Mavinakayanahalli (1):
Revert "x86, apic: Use logical flat on intel with <= 8 logical cpus"

Andi Kleen (1):
kernel/signal.c: fix kernel information leak with print-fatal-signals=1

Andrea Arcangeli (1):
mm: hugetlb: fix clear_huge_page()

Andreas Fenkart (1):
mm: make totalhigh_pages unsigned long

Andrew Lutomirski (1):
drm/i915: Fix RC6 suspend/resume

Andrew Morton (3):
net/sctp/socket.c: squish warning
drm/i915: fix unused var
percpu: avoid calling __pcpu_ptr_to_addr(NULL)

Andrew Vasquez (1):
[SCSI] qla2xxx: Extend base EEH support in qla2xxx.

Anil Ravindranath (1):
[SCSI] pmcraid: fix to avoid twice scsi_dma_unmap for a command

Anirban Chakraborty (1):
[SCSI] qla2xxx: Fix for a multiqueue bug in CPU affinity mode

Anisse Astier (1):
hp-wmi: remove double free caused by merge conflict

Anna Lemehova (1):
mmc_block: add dev_t initialization check

Anton Blanchard (2):
[IA64] cpumask_of_node() should handle -1 as a node
MIPS: cpumask_of_node() should handle -1 as a node

Anton Vorontsov (4):
phylib: Fix deadlock on resume
phylib: Properly reinitialize PHYs after hibernation
ucc_geth: Fix netdev watchdog triggering on suspend
fsl_pq_mdio: Fix iomem unmapping for non-eTSEC2.0 controllers

Arjan van de Ven (1):
ipvs: Add boundary check on ioctl arguments

Atsushi Nemoto (1):
MIPS: TXx9: Cleanup builtin-cmdline processing

Avi Kivity (1):
core, x86: make LIST_POISON less deadly

Bahadir Balban (1):
ARM: 5858/1: Remove unused vma_vm_flags macro from v7wbi_flush_user_tlb_range

Baruch Siach (3):
mx25: s/NO_PAD_CTL/NO_PAD_CTRL/
mx25: add support for FEC on i.MX25
mx25: pdk: add platform code for FEC support

Ben Dooks (1):
ARM: S3C64XX: Fix possible clock look in EPLL and MPLL clock chains

Ben Hutchings (4):
via-velocity: Give RX descriptors to the NIC later on open or MTU change
modules: Skip empty sections when exporting section notes
dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips
Documentation/3c509: document ethtool support

Ben Skeggs (9):
drm/nv50: ignore vbios table's claim to the contrary if EDID says >8bpc
drm/nouveau: fix handling of fbcon colours in 8bpp
drm/nouveau: remove unused nouveau_channel_idle() function
drm/nv50: restore correct cache1 get/put address on fifoctx load
drm/nouveau: have ttm's fault handler called directly
drm/nv50: prevent a possible ctxprog hang
drm/nv04: differentiate between nv04/nv05
drm/nouveau: use dma.max rather than pushbuf size for checking GET validity
drm/nouveau: initialise DMA tracking parameters earlier

Bernard Pidoux F6BVP (1):
rose_loopback_timer sets VC number <= ROSE_DEFAULT_MAXVC

Bjorn Helgaas (3):
agp/hp: fixup hp agp after ACPI changes
agp/hp: fail gracefully if we don't find an IOC
mn10300: use generic pci_enable_resources()

Boaz Harrosh (2):
exofs: fix pnfs_osd re-definitions in pre-pnfs trees
exofs: simple_write_end does not mark_inode_dirty

Bruce Allan (5):
e1000e: call pci_save_state() after pci_restore_state()
e1000e: don't accumulate PHY statistics on PHY read failure
e1000e: perform 10/100 adaptive IFS only on parts that support it
e1000e: e1000e_enable_tx_pkt_filtering() returns wrong value
e1000e: fix and commonize code for setting the receive address registers

Bryn M. Reeves (1):
[SCSI] megaraid_sas: remove sysfs poll_mode_io world writeable permissions

Chris Wilson (2):
drm/i915: Hold struct mutex whilst pinning power context bo.
drm/i915: Permit pinning whilst the device is 'suspended'

Christoph Hellwig (3):
nfsd: make sure data is on disk before calling ->fsync
xfs: use DECLARE_EVENT_CLASS
xfs: fix timestamp handling in xfs_setattr

Clemens Ladisch (1):
hwmon: (k10temp) Blacklist more family 10h processors

Colin Tuckley (1):
ARM: 5873/1: ARM: Fix the reset logic for ARM RealView boards

Corbin Simpson (1):
drm/radeon/kms: Workaround RV410/R420 CP errata (V3)

Cory Maccarrone (4):
omap: gpio: Simultaneously requested rising and falling edge
omap1: Add 7xx clocks and pin muxes for SPI
OMAP1 clock: Add missing clocks for OMAP 7xx
OMAP1 clock: remove __initdata from struct clk_functions to prevent crash

Cyril Hrubis (1):
[ARM] pxa: fix strange characters in zaurus gpio .desc

Dan Carpenter (3):
hamradio: avoid null deref v3
rrunner: fix buffer overflow
sound: oss: off by one bug

Daniel T Chen (2):
ALSA: atiixp: Specify codec for Foxconn RC4107MA-RS2
ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense blacklist

Daniel Vetter (1):
drm/i915: fix order of fence release wrt flushing

Darren Jenkins (5):
drm/radeon/radeon_connectors.c: add a NULL test before dereference
drm/radeon/radeon_fence.c: move a dereference below the NULL test
drm/radeon/radeon_device.c: move a dereference below a NULL test
gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL test
drm/radeon: fix a couple of array index errors

Dave Airlie (2):
drm/kms/fb: check for depth changes from userspace for resizing.
drm: reduce WARN_ON to a printk.

Dave Anderson (1):
cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput()

Dave Chinner (4):
xfs: kill some warnings on i386 builds
xfs: Don't flush stale inodes
xfs: Ensure we force all busy extents in range to disk
lib: Introduce generic list_sort function

Dave Jones (1):
remove my email address from checkpatch.

Dave Liu (1):
ucc_geth: Fix the wrong the Rx/Tx FIFO size

David Daney (3):
MIPS: Cleanup forgotten label_module_alloc in tlbex.c
MIPS: Octeon: Add sched_clock() to csrc-octeon.c
MIPS: Octeon: Use non-overflowing arithmetic in sched_clock

David Howells (5):
mn10300: wire up missing new syscalls
mn10300: use KERN_ERR not KERN_ERROR
mn10300: insert PCI root bus resources for the ASB2305 devel motherboard
mn10300: make the ASB2305's PCnet32 NIC work by using the PCI bridge's SRAM
mn10300: update the ASB2303 defconfig

David John (2):
PCI: Check the node argument passed to cpumask_of_node
drm: Keep disabled outputs disabled after suspend / resume

David S. Miller (1):
cxgb3i: Fix flags test.

David VomLehn (1):
MIPS: PowerTV: Remove extra r4k_clockevent_init() call

Denis Kirjanov (1):
vxge: use pci_dma_mapping_error to test return value

Duane Grigsby (1):
[SCSI] qla2xxx: Added to EEH support.

Ed Lin (1):
[SCSI] stex: fix scan of nonexistent lun

Eli Cohen (1):
mlx4_core: Fix cleanup in __mlx4_init_one() error path

Eric Anholt (1):
drm/i915: In the debugfs interface, unmap our address instead of the page's.

Eric Miao (4):
[ARM] pxafb: fix building issue of incorrect reference
[ARM] pxa/poodle: fix incorrect 'gpio_card_detect' of MMC
[ARM] pxa: update pwm_backlight->notify() to include missed 'struct device *'
[ARM] pxa: fix compiler warnings of unused variable 'id' in cpu_is_pxa9*()

Felipe Balbi (1):
OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled

Florian Fainelli (3):
ipvs: ip_vs_wrr.c: use lib/gcd.c
.gitignore: ignore vmlinuz
MIPS: BCM63xx: Fix whitespace damaged board_bcm963xx.c

Florian Westphal (1):
netfilter: ebtables: enforce CAP_NET_ADMIN

Francisco Jerez (13):
drm/nouveau: Add cache_flush/pull fifo engine functions.
drm/nouveau: Pre-G80 tiling support.
drm/nouveau: Make the MM aware of pre-G80 tiling.
drm/i2c/ch7006: Drop build time dependency to nouveau.
drm/nouveau: Fix "general protection fault" in the flipd/flips eviction path.
drm/nouveau: No need to force evict=true when swapping evicted BOs back in.
drm/nouveau: Drop redundant placement initialization.
drm/nouveau: Clean up the nv17-nv4x load detection code a bit.
drm/nouveau: Implement nv42-nv43 TV load detection.
drm/nouveau: Don't skip card take down on nv0x.
drm/nouveau: Allocate a per-channel instance of NV_SW.
drm/nouveau: Use the software object for fencing.
drm/nv04: Context switching fixes.

Frederic Weisbecker (6):
reiserfs: Fix mistake in down_write() conversion
reiserfs: Fix recursive lock on lchown
reiserfs: Relax the lock before truncating pages
reiserfs: Relax lock on xattr removing
reiserfs: Don't call reiserfs_get_acl() with the reiserfs lock
reiserfs: Relax reiserfs_xattr_set_handle() while acquiring xattr locks

Giridhar Malavali (1):
[SCSI] qla2xxx: Update version number to 8.03.01-k9.

Greg Ungerer (1):
m68knommu: fix definitions of __pa() and __va()

Guennadi Liakhovetski (1):
mx3: add support for the mt9v022 camera sensor to pcm037 platform

H Hartley Sweeten (1):
[ARM] pxa: use resource_size() in pwm.c

Haojian Zhuang (3):
[ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot
[ARM] pxa: do not enable L2 after MMU is enabled
[ARM] pxa: enable L2 if present in XSC3

Heiko Carstens (1):
x86: copy_from_user() should not return -EFAULT

Hidetoshi Seto (1):
PCI: pcie portdrv: style cleanup

Huang Weiyi (1):
OMAP2: remove duplicated #include

J. Bruce Fields (1):
nfsd: fix "insecure" export option

Jack Morgenstein (1):
IB/mlx4: Initialize SRQ scatter entries when creating an SRQ

James Smart (6):
[SCSI] lpfc 8.3.7: Fix FC protocol errors
[SCSI] lpfc 8.3.7: Fix NPIV operation errors
[SCSI] lpfc 8.3.7: Fix hardware/SLI relates issues
[SCSI] lpfc 8.3.7: Fix SCSI protocol related errors.
[SCSI] lpfc 8.3.7: Fix discovery failures.
[SCSI] lpfc 8.3.7: Update Driver version to 8.3.7

Jamie Iles (1):
ARM: 5866/1: arm ptrace: use unsigned types for kernel pt_regs

Jan Dumon (6):
hso: Add Vendor/Product ID's for new devices
hso: Fix for endian issues on big endian machines
hso: don't change the state of a closed port
hso: Attempt to recover from usb bus errors
hso: Fix for 5 sec timeouts with v2.x firmware
hso: fixed missing newlines

Jan Kara (1):
quota: Fix dquot_transfer for filesystems different from ext4

Jani Nikula (1):
gpiolib: fix poll(2) support reconfigure on sysfs polarity change

Janusz Krzysztofik (1):
omap: McBSP: Fix possible port lockout

Jarek Poplawski (2):
af_packet: Don't use skb after dev_queue_xmit()
sky2: Fix oops in sky2_xmit_frame() after TX timeout

Jarkko Lavinen (1):
mmc_block: fix probe error cleanup bug

Jason Wessel (2):
maccess,probe_kernel: Allow arch specific override probe_kernel_(read|write)
blackfin,kgdb,probe_kernel: Cleanup probe_kernel_read/write

Jeff Layton (1):
sunrpc: on successful gss error pipe write, don't return error

Jerome Glisse (4):
drm/radeon/kms: Schedule host path read cache flush through the ring V2
drm/radeon/kms: Make sure we release AGP device if we acquired it
drm: Avoid calling vblank function is vblank wasn't initialized
drm/radeon/kms: Don't try to enable IRQ if we have no handler installed

Jesse Barnes (3):
drm/i915: only enable hotplug for detected outputs
drm/i915: execbuf2 support
drm/i915: remove render reclock support

Jie Zhang (1):
NOMMU: Use copy_*_user_page() in access_process_vm()

Jiri Slaby (4):
[IA64] use helpers for rlimits
drm/radeon/kms: fix memory leak
NET: atlx, fix memory leak
reiserfs: Fix unreachable statement

Joakim Tjernlund (1):
zlib: optimize inffast when copying direct from output

Joe Perches (1):
scripts/get_maintainer.pl: fix file exclusion X: logic

Julia Lawall (4):
drivers/isdn: eliminate duplicated test
drivers/net/can: Correct NULL test
drivers/net : Correct the size argument to kzalloc
MIPS: Alchemy: Correct code taking the size of a pointer

KOSAKI Motohiro (1):
proc: partially revert "procfs: provide stack information for threads"

Ken Kawasaki (1):
pcnet_cs: add cis of KTI PE520 pcmcia network card

Kevin Hilman (1):
OMAP3: clock: add clockdomains for UART1 & 2

Kevin Winchester (1):
agp: correct missing cleanup on error in agp_add_bridge

Kristian Høgsberg (3):
drm/i915: Move PCI IDs into i915 driver
drm/i915: Implement IS_* macros using static tables
drm/i915: Track whether cursor needs physical address in intel_device_info

Krzysztof Halasa (1):
dma-debug: allow DMA_BIDIRECTIONAL mappings to be synced with DMA_FROM_DEVICE and

Krzysztof Helt (2):
sbawe: fix memory detection part 2
ALSA: ac97: add AC97 STMicroelectronics' codecs

Li Jie (3):
ARM: 5863/1: fix bugs of clock source of NUC900
ARM: 5864/1: Implement arch_reset() in NUC900
ARM: 5865/1: nuc900 ethernet driver needs mii

Linus Torvalds (1):
Linux 2.6.33-rc4

Linus Walleij (1):
ARM: 5867/1: Update U300 defconfig

Luca Barbieri (1):
drm/nouveau: Fix null deref in nouveau_fence_emit due to deleted fence

Luca Tettamanti (3):
drm/radeon/kms: rs600: use correct mask for SW interrupt
hwmon: (asus_atk0110) Refactor interface probe code
hwmon: (asus_atk0110) Add debugfs interface

Maarten Maathuis (2):
drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGN
drm/nv50: make the blocksize depend on vram size

Marc Zyngier (3):
[ARM] pxa/zeus: make internal zeus_get_pcb_info static
[ARM] pxa/zeus: relax memory timings on Zeus ethernet ports
[ARM] pxa/zeus: provide power-source information when APM is enabled

Marcin Kościelnicki (1):
drm/nv04: Fix set_operation software method.

Marcin Slusarz (2):
drm/nv50: fix fillrect color
drm/nouveau: create function for "dealing" with gpu lockup

Marek Vasut (2):
[ARM] pxa/littleton: add UART3 GPIO config
[ARM] pxa/littleton: select CPU_PXA300 and CPU_PXA310

Mark Brown (2):
cs89x0: Always report failure to request interrupt
ASoC: Fix WM8350 DSP mode B configuration

Mark Salter (3):
mn10300: signal stack fix
mn10300: objcopy flags fix
mn10300: add cc clobbers to asm statements

Masami Hiramatsu (1):
kmod: fix resource leak in call_usermodehelper_pipe()

Matthew Garrett (1):
drm/i915: Don't check for lid presence when detecting LVDS

Michael Hennerich (1):
gpio: adp5588-gpio: new driver for ADP5588 GPIO expanders

Michael Hernandez (1):
[SCSI] qla2xxx: Get the link data rate explicitly during device resync.

Miguel Aguilar (1):
DaVinci: DM365: Add the device_enable for the DaVinci Keyscan

Mikael Pettersson (1):
sata_promise: don't classify overruns as HSM errors

Mike Frysinger (2):
FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack
NOMMU: Avoiding duplicate icache flushes of shared maps

Minchan Kim (1):
smaps: fix wrong rss count

Márton Németh (1):
hwmon: Make PCI device ids constant

OGAWA Hirofumi (2):
nfs: fix oops in nfs_rename()
rtc_cmos: convert shutdown to new pnp_driver->shutdown

Octavian Purdila (2):
ip: fix mc_loop checks for tunnels with multicast outer addresses
tcp: update the netstamp_needed counter when cloning sockets

Or Gerlitz (1):
IB/mlx4: Fix queue overflow check in post_recv

PJ Waskiewicz (1):
ixgbe: Fix compiler warning about variable being used uninitialized

Patrick McHardy (1):
netfilter: nf_ct_ftp: fix out of bounds read in update_nl_seq()

Paul Walmsley (7):
OMAP2xxx IO mapping: mark DSP mappings as being 2420-only
OMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space
OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK
OMAP clock: remove incorrect EXPORT_SYMBOL()s
OMAP2xxx OPP: clean up comments in OPP data
OMAP clock/CPUFreq: add clk_exit_cpufreq_table()
OMAP2 clock: dynamically allocate CPUFreq frequency table

Peter Huewe (1):
video/omap: add __init/__exit macros to drivers/video/omap/lcd_htcherald.c

Peter Hüwe (2):
ARM: 5870/1: arch/arm: Fix build failure for defconfigs without CONFIG_ISA_DMA_API set
ARM: 5871/1: arch/arm: Fix build failure for lpd7a404_defconfig caused by missing includes

Rabin Vincent (1):
ARM: 5868/1: ARM: fix "BUG: using smp_processor_id() in preemptible code"

Rafael J. Wysocki (2):
PCI/PM: Use per-device D3 delays
DRM / i915: Fix resume regression on MSI Wind U100 w/o KMS

Rakesh Ranjan (2):
[SCSI] cxgb3i: Fix a login over vlan issue
cxgb3i: Fix a login over vlan issue

Randy Dunlap (6):
sunrpc: fix build-time warning
kgdb: Fix kernel-doc format error in kgdb.h
docs: large update to ioctl-number.txt
power: fix kernel-doc notation
Documentation: update ring-buffer-design.txt
documentation: update kernel-doc-nano-HOWTO information

Robert P. J. Day (1):
IB/addr: Correct CONFIG_IPv6 to CONFIG_IPV6

Roel Kluin (5):
ALSA: test off by one in setsamplerate()
drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line()
omap: &&/|| confusion in iommu_put()
omap3: add missing parentheses
omap3: add missing parentheses

Roger Blofeld (1):
hwmon: (adt7462) Fix pin 28 monitoring

Russell King (3):
ARM: add missing recvmmsg syscall number
ARM: Fix wrong dmb
ARM: Ensure ARMv6/7 mm files are built using appropriate assembler options

Rusty Russell (1):
Revert "x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium"

Saeed Bishara (1):
mv643xx_eth: don't include cache padding in rx desc buffer size

Santosh Shilimkar (1):
ARM: 5872/1: ARM: include needed linux/cpu.h in asm/cpu.h

Sascha Hauer (1):
lib/rational.c needs module.h

Sekhar Nori (3):
davinci: cp_intc: provide set_wake function
davinci: da8xx/omap-l1: mark RTC as a wakeup source
davinci: enable ARCH_HAS_HOLES_MEMORYMODEL for DaVinci

Simon Kagstrom (1):
ARM: 5874/1: serial21285: fix disable_irq-from-interrupt-handler deadlock

Sonic Zhang (1):
blackfin,kgdb: Do not put PC in gdb_regs into retx.

Sriram (1):
TI DaVinci EMAC: Handle emac module clock correctly.

Stephen Hemminger (1):
drivers/cpuidle/governors/menu.c: fix undefined reference to `__udivdi3'

Steven Whitehouse (4):
GFS2: Ensure uptodate inode size when using O_APPEND
GFS2: Fix locking bug in rename
GFS2: Fix gfs2_xattr_acl_chmod()
GFS2: Use MAX_LFS_FILESIZE for meta inode size

Sucheta Chakraborty (2):
netxen: fix ethtool register dump
netxen: fix ethtool link test

Suresh Siddha (1):
x86, irq: Check move_in_progress before freeing the vector mapping

Takashi Iwai (2):
ALSA: usb-audio - Avoid Oops after disconnect
ALSA: hda - Fix ALC861-VD capture source mixer

Tejun Heo (2):
ata_piix: enable 32bit PIO on SATA piix
libata: retry link resume if necessary

Thomas Champagne (1):
pmu_battery: Fix battery full reporting

Tobias Klauser (1):
drm/i915: Storage class should be before const qualifier

Tomaz Mertelj (1):
hwmon: driver for Texas Instruments amc6821 chip

Tomi Valkeinen (12):
OMAP: DSS2: DSI: fix VC channels in send_short and send_null
OMAP: DSS2: DSI: print debug DCS cmd in hex
OMAP: DSS2: Collect interrupt statistics
OMAP: DSS2: Fix crash when panel doesn't define enable_te()
OMAP: DSS2: RFBI: convert to new kfifo API
OMAP: OMAPFB: fix clk_get for RFBI
OMAP: OMAPFB: add dummy release function for omapdss
MAINTAINERS: change omapfb maintainer
MAINTAINERS: Combine DSS2 and OMAPFB2 into one entry
OMAP: DSS2: OMAPFB: fix omapfb_free_fbmem()
OMAP: DSS2: Make check-delay-loops consistent
OMAP: DSS2: OMAPFB: fix crash when panel driver was not loaded

Tony Lindgren (3):
omap: Remove uninitialized warning for gpio.c
omap1: Fix compile for omap1_bl.c
omap3: Fix booting if package is uninitialized

Tony Luck (3):
[IA64] sanity in #include files. Move fnptr to types.h
[IA64] __per_cpu_idtrs[] is a memory hog
[IA64] move fnptr definition inside #ifdef __KERNEL__

Trond Myklebust (2):
SUNRPC: Fix up an error return value in gss_import_sec_context_kerberos()
SUNRPC: Fix the return value in gss_import_sec_context()

Tuukka Toivonen (1):
OMAP3 clock: Add capability to change rate of dpll4_m5_ck

Ursula Braun (1):
claw: use "claw" as root device name

Uwe Kleine-König (3):
[ARM] pxa/ttc_dkb: remove duplicate macro definition
imx/mx3: depend on USB_ULPI for otg_ulpi_create
vsnprintf: fix reference for compressed ipv6 addresses

Vaibhav Hiremath (3):
Davinci VPFE Capture: Take i2c adapter id through platform data
omap3: EVM: Choose OMAP_PACKAGE_CBB
OMAP: DSS2: Fix compile warning

Valentin Longchamp (1):
mx31moboard: fix usbh device names

Vegard Nossum (1):
kmemcheck: make bitfield annotations truly no-ops when disabled

Ville Syrjälä (1):
OMAP: DSS2: Reject scaling settings when they cannot be supported

Vimal Singh (1):
omap2/3: ZOOM: Correcting key mapping for few keys

Wolfgang Denk (1):
ARM: MX3: make CPU revision number detection work on all boards

Wu Zhangjin (1):
MIPS: Cleanup and Fixup of compressed kernel support

Xiaotian Feng (1):
sunrpc: fix peername failed on closed listener

Yinghai Lu (2):
x86: Fix size for ex trampoline with 32bit
x86/pci: Intel ioh bus num reg accessing fix

Yoichi Yuasa (13):
MIPS: VR41xx: Use strlcat() for the command line arguments
MIPS: AR7: Remove kgdb_enabled
MIPS: PowerTV: Remove unused prom_getcmdline()
MIPS: PowerTV: Remove unused ptv_memsize
MIPS: PowerTV: Remove mips_machine_halt()
MIPS: PowerTV: Remove unused platform_die()
MIPS: PowerTV: simplify prom_init_cmdline() and merge into prom_init()
MIPS: Cobalt use strlcat() for the command line arguments
MIPS: AR7: Remove unused prom_getchar()
MIPS: BCM63xx: Remove duplicate CONFIG_CMDLINE.
MIPS: Malta, PowerTV: Remove unnecessary "Linux started"
MIPS: Move vmlinux.ecoff to arch/mips/boot
MIPS: Ignore vmlinux.*

Yong Wang (1):
hwmon: (coretemp) Fix TjMax for Atom N450/D410/D510 CPUs

Youquan,Song (2):
PCI: AER: fix aer inject result in kernel oops
PCIe AER: prevent AER injection if hardware masks error reporting

Zhao Yakui (6):
drm/i915: Add MALATA PC-81005 to ACPI LID quirk list
drm/i915: Update LVDS connector status when receiving ACPI LID event
drm/i915: Enable/disable the dithering for LVDS based on VBT setting
drm/i915: Make the BPC in FDI rx/transcoder be consistent with that in pipeconf on Ironlake
drm/i915: Select the correct BPC for LVDS on Ironlake
drm/i915: Add DP dpll limit on ironlake and use existing DPLL search function

Zhenyu Wang (4):
drm/i915: implement new pm ops for i915
drm/i915: Reload hangcheck timer too for Ironlake
drm/i915: remove full registers dump debug
drm: remove address mask param for drm_pci_alloc()

roel kluin (5):
usbnet: test off by one
atarilance: timeout ignored in lance_open()
niu: timeout ignored in tcam_wait_bit()
net: Test off by one in sh_eth_reset()
broadcom: Fix &&/|| confusion in bcm54xx_adjust_rxrefclk()


2010-01-13 20:21:57

by Gene Heskett

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4, boot regression still exists

On Wednesday 13 January 2010, Linus Torvalds wrote:
>Hmm. Odd release. Something like 40% of the patches are in DRM (mostly
>nouveau and radeon, both staging, so it's a bit less scary than it sounds.
>But there's a noticeable i915 component too). That's all pretty unusual,
>afaik.
>
>There's some boot loader compression updates too that have already turned
>out to be a bit painful on non-x86/arm platforms (but we'll sort it out),
>various arch updates (mips, arm, mn10300), networking, and filesystems.
>
>Go forth and compile,
>
> Linus
I did, twice. I use a couple of scripts to do the building, and I am still
required to add
--------------
echo now we have find the /lib/firmware/amd-ucode and copy it
mkdir -p firmware/amd-ucode
cp -f -R /lib/firmware/amd-ucode/ ./firmware/
-------------
to my buildit26 script, and to add:
---------------------
CONFIG_EXTRA_FIRMWARE="amd-ucode/microcode_amd.bin"
--------------------

To my .config, else it hangs for 60 seconds, about .65 seconds into the boot,
requesting the firmware amd-ucode/microcode_amb.bin and can't find it.

With the above additions, it appears to be running nominally here. glxgears
was, at 2.6.32, about 275 fps, and its about 400 now so that is welcomed.

Thank you.

--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)

Straw? No, too stupid a fad. I put soot on warts.

2010-01-13 21:03:07

by Pekka Enberg

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds <[email protected]>
wrote:
> Hmm. Odd release. Something like 40% of the patches are in DRM (mostly
> nouveau and radeon, both staging, so it's a bit less scary than it sounds.
> But there's a noticeable i915 component too). That's all pretty unusual,
> afaik.

2.6.33-rc4 still suffers from an annoying screen flicker with i915 and
KMS on my machine. I *think* it started with 2.6.33-rc1 but I haven't
had the time to dig deeper.

Pekka

2010-01-13 21:34:01

by Jesse Barnes

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On Wed, 13 Jan 2010 23:03:00 +0200
Pekka Enberg <[email protected]> wrote:

> On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds
> <[email protected]> wrote:
> > Hmm. Odd release. Something like 40% of the patches are in DRM
> > (mostly nouveau and radeon, both staging, so it's a bit less scary
> > than it sounds. But there's a noticeable i915 component too).
> > That's all pretty unusual, afaik.
>
> 2.6.33-rc4 still suffers from an annoying screen flicker with i915 and
> KMS on my machine. I *think* it started with 2.6.33-rc1 but I haven't
> had the time to dig deeper.

Does this patch fix it? If so I'll queue something like this up for
-rc5.

--
Jesse Barnes, Intel Open Source Technology Center

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9187a17..0ab1bef 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3806,7 +3806,7 @@ static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule)
if (IS_IRONLAKE(dev))
return;

- if (!dev_priv->lvds_downclock_avail)
+ if (!dev_priv->lvds_downclock_avail || 1)
return;

if (!HAS_PIPE_CXSR(dev) && (dpll & DISPLAY_RATE_SELECT_FPA1)) {
@@ -3845,7 +3845,7 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc)
if (IS_IRONLAKE(dev))
return;

- if (!dev_priv->lvds_downclock_avail)
+ if (!dev_priv->lvds_downclock_avail || 1)
return;

/*

2010-01-13 21:51:13

by Pekka Enberg

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

Jesse Barnes wrote:
> On Wed, 13 Jan 2010 23:03:00 +0200
> Pekka Enberg <[email protected]> wrote:
>
>> On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds
>> <[email protected]> wrote:
>>> Hmm. Odd release. Something like 40% of the patches are in DRM
>>> (mostly nouveau and radeon, both staging, so it's a bit less scary
>>> than it sounds. But there's a noticeable i915 component too).
>>> That's all pretty unusual, afaik.
>> 2.6.33-rc4 still suffers from an annoying screen flicker with i915 and
>> KMS on my machine. I *think* it started with 2.6.33-rc1 but I haven't
>> had the time to dig deeper.
>
> Does this patch fix it? If so I'll queue something like this up for
> -rc5.

Yes, it does. Thanks!

Pekka

2010-01-14 00:55:35

by Jesse Barnes

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On Wed, 13 Jan 2010 23:50:52 +0200
Pekka Enberg <[email protected]> wrote:

> Jesse Barnes wrote:
> > On Wed, 13 Jan 2010 23:03:00 +0200
> > Pekka Enberg <[email protected]> wrote:
> >
> >> On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds
> >> <[email protected]> wrote:
> >>> Hmm. Odd release. Something like 40% of the patches are in DRM
> >>> (mostly nouveau and radeon, both staging, so it's a bit less scary
> >>> than it sounds. But there's a noticeable i915 component too).
> >>> That's all pretty unusual, afaik.
> >> 2.6.33-rc4 still suffers from an annoying screen flicker with i915
> >> and KMS on my machine. I *think* it started with 2.6.33-rc1 but I
> >> haven't had the time to dig deeper.
> >
> > Does this patch fix it? If so I'll queue something like this up for
> > -rc5.
>
> Yes, it does. Thanks!

Great, thanks for testing. I'll send Eric a patch to disable this
feature more properly.

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center

2010-01-14 19:16:06

by Pekka Enberg

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

Jesse Barnes wrote:
> On Wed, 13 Jan 2010 23:50:52 +0200
> Pekka Enberg <[email protected]> wrote:
>
>> Jesse Barnes wrote:
>>> On Wed, 13 Jan 2010 23:03:00 +0200
>>> Pekka Enberg <[email protected]> wrote:
>>>
>>>> On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds
>>>> <[email protected]> wrote:
>>>>> Hmm. Odd release. Something like 40% of the patches are in DRM
>>>>> (mostly nouveau and radeon, both staging, so it's a bit less scary
>>>>> than it sounds. But there's a noticeable i915 component too).
>>>>> That's all pretty unusual, afaik.
>>>> 2.6.33-rc4 still suffers from an annoying screen flicker with i915
>>>> and KMS on my machine. I *think* it started with 2.6.33-rc1 but I
>>>> haven't had the time to dig deeper.
>>> Does this patch fix it? If so I'll queue something like this up for
>>> -rc5.
>> Yes, it does. Thanks!
>
> Great, thanks for testing. I'll send Eric a patch to disable this
> feature more properly.

OK, I think I am seeing a different kind of flicker now. It doesn't
happen anywhere as often as before (which is probably why I missed it
last night). The flicker is more like a flash of some other window
whereas the flicker before used to "shake" the screen.

Does this ring a bell?

Pekka

2010-01-14 19:26:42

by Jesse Barnes

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On Thu, 14 Jan 2010 21:15:43 +0200
Pekka Enberg <[email protected]> wrote:

> Jesse Barnes wrote:
> > On Wed, 13 Jan 2010 23:50:52 +0200
> > Pekka Enberg <[email protected]> wrote:
> >
> >> Jesse Barnes wrote:
> >>> On Wed, 13 Jan 2010 23:03:00 +0200
> >>> Pekka Enberg <[email protected]> wrote:
> >>>
> >>>> On Wed, Jan 13, 2010 at 7:44 AM, Linus Torvalds
> >>>> <[email protected]> wrote:
> >>>>> Hmm. Odd release. Something like 40% of the patches are in DRM
> >>>>> (mostly nouveau and radeon, both staging, so it's a bit less
> >>>>> scary than it sounds. But there's a noticeable i915 component
> >>>>> too). That's all pretty unusual, afaik.
> >>>> 2.6.33-rc4 still suffers from an annoying screen flicker with
> >>>> i915 and KMS on my machine. I *think* it started with 2.6.33-rc1
> >>>> but I haven't had the time to dig deeper.
> >>> Does this patch fix it? If so I'll queue something like this up
> >>> for -rc5.
> >> Yes, it does. Thanks!
> >
> > Great, thanks for testing. I'll send Eric a patch to disable this
> > feature more properly.
>
> OK, I think I am seeing a different kind of flicker now. It doesn't
> happen anywhere as often as before (which is probably why I missed it
> last night). The flicker is more like a flash of some other window
> whereas the flicker before used to "shake" the screen.
>
> Does this ring a bell?

Sounds separate from the other issue. Would it be possible to capture
a video of the flicker? If it's a FIFO underrun, you may be able to
trigger it by running apps in the background that use a lot of memory
bandwidth.

If it's FBC related, it should occur in 15s intervals or so, depending
on whether you have other stuff going on (again would be memory
bandwidth related).

Please file a bug at bugs.freedesktop.org against drm/intel with what
you find.

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center

2010-01-14 19:31:29

by Nick Bowler

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On 21:15 Thu 14 Jan , Pekka Enberg wrote:
> OK, I think I am seeing a different kind of flicker now. It doesn't
> happen anywhere as often as before (which is probably why I missed it
> last night). The flicker is more like a flash of some other window
> whereas the flicker before used to "shake" the screen.
>
> Does this ring a bell?

Your symptoms sound identical to mine on my ThinkPad T500 laptop, as
described in http://bugs.freedesktop.org/show_bug.cgi?id=25809.

This is the patch I am currently applying locally which solves all my
problems.

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index f4b4aa2..4fb5911 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -914,7 +914,7 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
mutex_unlock(&dev->mode_config.mutex);
if (temp_downclock < panel_fixed_mode->clock) {
/* We found the downclock for LVDS. */
- dev_priv->lvds_downclock_avail = 1;
+ dev_priv->lvds_downclock_avail = 0;
dev_priv->lvds_downclock = temp_downclock;
DRM_DEBUG_KMS("LVDS downclock is found in EDID. "
"Normal clock %dKhz, downclock %dKhz\n",

--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

2010-01-14 20:18:06

by Pekka Enberg

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On Thu, Jan 14, 2010 at 9:31 PM, Nick Bowler <[email protected]> wrote:
> On 21:15 Thu 14 Jan ? ? , Pekka Enberg wrote:
>> OK, I think I am seeing a different kind of flicker now. It doesn't
>> happen anywhere as often as before (which is probably why I missed it
>> last night). The flicker is more like a flash of some other window
>> whereas the flicker before used to "shake" the screen.
>>
>> Does this ring a bell?
>
> Your symptoms sound identical to mine on my ThinkPad T500 laptop, as
> described in http://bugs.freedesktop.org/show_bug.cgi?id=25809.
>
> This is the patch I am currently applying locally which solves all my
> problems.
>
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index f4b4aa2..4fb5911 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -914,7 +914,7 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
> ? ? ? ?mutex_unlock(&dev->mode_config.mutex);
> ? ? ? ?if (temp_downclock < panel_fixed_mode->clock) {
> ? ? ? ? ? ? ? ?/* We found the downclock for LVDS. */
> - ? ? ? ? ? ? ? dev_priv->lvds_downclock_avail = 1;
> + ? ? ? ? ? ? ? dev_priv->lvds_downclock_avail = 0;
> ? ? ? ? ? ? ? ?dev_priv->lvds_downclock = temp_downclock;
> ? ? ? ? ? ? ? ?DRM_DEBUG_KMS("LVDS downclock is found in EDID. "
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Normal clock %dKhz, downclock %dKhz\n",

Should I try just this or combine it with Jesse's patch?

2010-01-14 20:28:11

by Nick Bowler

[permalink] [raw]
Subject: Re: Linux 2.6.33-rc4

On 22:18 Thu 14 Jan , Pekka Enberg wrote:
> On Thu, Jan 14, 2010 at 9:31 PM, Nick Bowler <[email protected]> wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> > index f4b4aa2..4fb5911 100644
> > --- a/drivers/gpu/drm/i915/intel_lvds.c
> > +++ b/drivers/gpu/drm/i915/intel_lvds.c
> > @@ -914,7 +914,7 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
> > ? ? ? ?mutex_unlock(&dev->mode_config.mutex);
> > ? ? ? ?if (temp_downclock < panel_fixed_mode->clock) {
> > ? ? ? ? ? ? ? ?/* We found the downclock for LVDS. */
> > - ? ? ? ? ? ? ? dev_priv->lvds_downclock_avail = 1;
> > + ? ? ? ? ? ? ? dev_priv->lvds_downclock_avail = 0;
> > ? ? ? ? ? ? ? ?dev_priv->lvds_downclock = temp_downclock;
> > ? ? ? ? ? ? ? ?DRM_DEBUG_KMS("LVDS downclock is found in EDID. "
> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"Normal clock %dKhz, downclock %dKhz\n",
>
> Should I try just this or combine it with Jesse's patch?

That's the only patch on top of mainline that I use -- it's been fixing
my problems since -rc1.

--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

2010-01-14 20:48:09

by Jesse Barnes

[permalink] [raw]
Subject: [PATCH] drm/i915: disable LVDS downclock by default

Many platform support this feature, and it can provide significant
power savings when the reduced refresh rate is low. However, on some
platforms a secondary (reduced) timing is provided but not actually
supported by the hardware. This results in undesirable flicker at
runtime.

So disable the feature by default, but allow users to opt-in to the
reduced clock behavior with a new module parameter, lvds_downclock,
that can be set to 1 to enable the feature.

Signed-off-by: Jesse Barnes <[email protected]>

--

Nick and Pekka, please try this out and reply with your Tested-by
(assuming it works, if not I'll fix it up).

Thanks,
Jesse

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 66f7bac..46d8896 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -45,6 +45,9 @@ module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400);
unsigned int i915_powersave = 1;
module_param_named(powersave, i915_powersave, int, 0400);

+unsigned int i915_lvds_downclock = 0;
+module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400);
+
static struct drm_driver driver;

#define INTEL_VGA_DEVICE(id, info) { \
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 445c49c..5f781a7 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -722,6 +722,7 @@ extern struct drm_ioctl_desc i915_ioctls[];
extern int i915_max_ioctl;
extern unsigned int i915_fbpercrtc;
extern unsigned int i915_powersave;
+extern unsigned int i915_lvds_downclock;

extern void i915_save_display(struct drm_device *dev);
extern void i915_restore_display(struct drm_device *dev);
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index f275677..b53c46f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -197,7 +197,8 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
memset(temp_mode, 0, sizeof(*temp_mode));
}
kfree(temp_mode);
- if (temp_downclock < panel_fixed_mode->clock) {
+ if (temp_downclock < panel_fixed_mode->clock &&
+ i915_lvds_downclock) {
dev_priv->lvds_downclock_avail = 1;
dev_priv->lvds_downclock = temp_downclock;
DRM_DEBUG_KMS("LVDS downclock is found in VBT. ",
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 5041590..aa74e59 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -926,7 +926,8 @@ static void intel_find_lvds_downclock(struct drm_device *dev,
}
}
mutex_unlock(&dev->mode_config.mutex);
- if (temp_downclock < panel_fixed_mode->clock) {
+ if (temp_downclock < panel_fixed_mode->clock &&
+ i915_lvds_downclock) {
/* We found the downclock for LVDS. */
dev_priv->lvds_downclock_avail = 1;
dev_priv->lvds_downclock = temp_downclock;

2010-01-14 20:58:40

by Peter Clifton

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: disable LVDS downclock by default

On Thu, 2010-01-14 at 12:48 -0800, Jesse Barnes wrote:
> Many platform support this feature, and it can provide significant
> power savings when the reduced refresh rate is low. However, on some
> platforms a secondary (reduced) timing is provided but not actually
> supported by the hardware. This results in undesirable flicker at
> runtime.
>
> So disable the feature by default, but allow users to opt-in to the
> reduced clock behavior with a new module parameter, lvds_downclock,
> that can be set to 1 to enable the feature.

Would it not be a better idea to turn this feature on by default, then
use quirks to disable it on the afflicted borken machines?

Requiring special module parameters to enable the feature, almost
guarantees that no normal end-users will end up benefiting from the
feature. Many of whom will have bought machines which don't have screwey
BIOS implementations.

I think (on a general note) that vendors supplying defective BIOSen or
config should be "named and shamed" in quirk tables - so eventually they
will get something done about the problems for future models.


2010-01-14 21:05:49

by Linus Torvalds

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: disable LVDS downclock by default



On Thu, 14 Jan 2010, Peter Clifton wrote:
>
> Would it not be a better idea to turn this feature on by default, then
> use quirks to disable it on the afflicted borken machines?

No.

"Working" is good. "Broken" is bad.

We don't default to clearly unsafe models.

Maybe a few years from now, when people have learnt to do power management
correctly and BIOSes fill in the fields right, we can reconsider. But
right now, it's _way_ more important that things work reliably.

That said, I think a module parameter is the wrong thing. If this can be
done dynamically with a sysfs value, do it that way instead (yes, I
realize that module parameters end up being also visible in /sys, but I
think Jesse's patch doesn't allow a person to set the value - and make it
change the behavior - _while_ the display is all up and running).

Linus

2010-01-14 21:16:20

by Nick Bowler

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: disable LVDS downclock by default

On 20:58 Thu 14 Jan , Peter Clifton wrote:
> On Thu, 2010-01-14 at 12:48 -0800, Jesse Barnes wrote:
> > Many platform support this feature, and it can provide significant
> > power savings when the reduced refresh rate is low. However, on some
> > platforms a secondary (reduced) timing is provided but not actually
> > supported by the hardware. This results in undesirable flicker at
> > runtime.
> >
> > So disable the feature by default, but allow users to opt-in to the
> > reduced clock behavior with a new module parameter, lvds_downclock,
> > that can be set to 1 to enable the feature.
>
> Would it not be a better idea to turn this feature on by default, then
> use quirks to disable it on the afflicted borken machines?

If there is a high degree of confidence that correct quirks are in place
for all "afflicted borken machines", then this is probably OK.

The difference between 2.6.32 and 2.6.33-rc1 on the T500 is phenominal:
the LVDS display is so erratic in the latter as to be almost completely
useless. There is a patch on fdo bugzilla which makes the display less
broken, but there is still distracting flicker.

> Requiring special module parameters to enable the feature, almost
> guarantees that no normal end-users will end up benefiting from the
> feature. Many of whom will have bought machines which don't have screwey
> BIOS implementations.

On the other hand, it completely guarantees that no normal end-users
will end up with useless displays as a result of the feature. Many of
whom have bough machines which have screwey BIOS implementations (or
whatever the problem actually is).

> I think (on a general note) that vendors supplying defective BIOSen or
> config should be "named and shamed" in quirk tables - so eventually they
> will get something done about the problems for future models.

Is it really a defective BIOS? I don't have my laptop handy right now,
but the lower refresh mode is reported in the EDID and can be set
successfully (no idea if the change actually does anything). However,
there is a visible artifact whenever a transition occurs.

--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

2010-01-14 21:21:40

by Jesse Barnes

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: disable LVDS downclock by default

On Thu, 14 Jan 2010 13:05:17 -0800 (PST)
Linus Torvalds <[email protected]> wrote:

>
>
> On Thu, 14 Jan 2010, Peter Clifton wrote:
> >
> > Would it not be a better idea to turn this feature on by default,
> > then use quirks to disable it on the afflicted borken machines?
>
> No.
>
> "Working" is good. "Broken" is bad.
>
> We don't default to clearly unsafe models.
>
> Maybe a few years from now, when people have learnt to do power
> management correctly and BIOSes fill in the fields right, we can
> reconsider. But right now, it's _way_ more important that things work
> reliably.
>
> That said, I think a module parameter is the wrong thing. If this can
> be done dynamically with a sysfs value, do it that way instead (yes,
> I realize that module parameters end up being also visible in /sys,
> but I think Jesse's patch doesn't allow a person to set the value -
> and make it change the behavior - _while_ the display is all up and
> running).

Having a runtime option would be good, but we'd have to do some extra
code for that since the feature is either enabled or disabled at LVDS
and VBIOS parse time only.

With a sysfs interface we could allow the user to select the timing for
their reduced mode though, which would give them more power saving
potentially (if their panel worked with a very low refresh).

I can do that, but it seems more appropriate for 2.6.34? I'd just
remove the module param at that time I guess.

--
Jesse Barnes, Intel Open Source Technology Center

2010-01-14 21:26:00

by Pekka Enberg

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

Hi Jesse,

On Thu, Jan 14, 2010 at 10:48 PM, Jesse Barnes <[email protected]> wrote:
> Many platform support this feature, and it can provide significant
> power savings when the reduced refresh rate is low. ?However, on some
> platforms a secondary (reduced) timing is provided but not actually
> supported by the hardware. ?This results in undesirable flicker at
> runtime.
>
> So disable the feature by default, but allow users to opt-in to the
> reduced clock behavior with a new module parameter, lvds_downclock,
> that can be set to 1 to enable the feature.
>
> Signed-off-by: Jesse Barnes <[email protected]>
>
> --
>
> Nick and Pekka, please try this out and reply with your Tested-by
> (assuming it works, if not I'll fix it up).

This gives me pretty much identical results as your original patch.
That is, the "shakes" are gone but I still see the occasional "flash".
Should I give Nick's patch a try to see if we're looking at the same
issue or wait for your new patch?

Pekka

2010-01-14 21:27:44

by Jesse Barnes

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: disable LVDS downclock by default

On Thu, 14 Jan 2010 16:16:10 -0500
Nick Bowler <[email protected]> wrote:

> Is it really a defective BIOS? I don't have my laptop handy right
> now, but the lower refresh mode is reported in the EDID and can be set
> successfully (no idea if the change actually does anything). However,
> there is a visible artifact whenever a transition occurs.

No, it's possible the BIOS has it right but we're failing to transition
gracefully.

Your platform should support automatic hardware frequency switching.
You could try disabling that (clear the has_pipe_cxsr field of your
driver struct in i915_drv.c) and see if the manual method works for you.

--
Jesse Barnes, Intel Open Source Technology Center

2010-01-14 22:06:10

by Jesse Barnes

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

On Thu, 14 Jan 2010 23:25:57 +0200
Pekka Enberg <[email protected]> wrote:

> Hi Jesse,
>
> On Thu, Jan 14, 2010 at 10:48 PM, Jesse Barnes
> <[email protected]> wrote:
> > Many platform support this feature, and it can provide significant
> > power savings when the reduced refresh rate is low.  However, on
> > some platforms a secondary (reduced) timing is provided but not
> > actually supported by the hardware.  This results in undesirable
> > flicker at runtime.
> >
> > So disable the feature by default, but allow users to opt-in to the
> > reduced clock behavior with a new module parameter, lvds_downclock,
> > that can be set to 1 to enable the feature.
> >
> > Signed-off-by: Jesse Barnes <[email protected]>
> >
> > --
> >
> > Nick and Pekka, please try this out and reply with your Tested-by
> > (assuming it works, if not I'll fix it up).
>
> This gives me pretty much identical results as your original patch.
> That is, the "shakes" are gone but I still see the occasional "flash".
> Should I give Nick's patch a try to see if we're looking at the same
> issue or wait for your new patch?

Nick's patch should be the same, thanks for testing.

--
Jesse Barnes, Intel Open Source Technology Center

2010-01-15 01:16:28

by Nick Bowler

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

On Thu, 14 Jan 2010 12:48:02 -0800, Jesse Barnes wrote:
> Nick and Pekka, please try this out and reply with your Tested-by
> (assuming it works, if not I'll fix it up).

Not surprisingly, your patch solves the issues on my T500, and allows me
to re-enable the broken behaviour by adding the i915.lvds_downclock=1
boot option.

Tested-by: Nick Bowler <[email protected]>

2010-01-15 08:54:12

by Pekka Enberg

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

Hi,

(Fixing CC.)

On Fri, Jan 15, 2010 at 3:15 AM, Nick Bowler <[email protected]> wrote:
> On Thu, 14 Jan 2010 12:48:02 -0800, Jesse Barnes wrote:
>> Nick and Pekka, please try this out and reply with your Tested-by
>> (assuming it works, if not I'll fix it up).
>
> Not surprisingly, your patch solves the issues on my T500, and allows me
> to re-enable the broken behaviour by adding the i915.lvds_downclock=1
> boot option.
>
> Tested-by: Nick Bowler <[email protected]>

So, any suggestions how I should proceed with figuring out the
"flashing" problem I still see with Jesse's patch? I can do a full git
bisect if it comes to that but it's going to be bit difficult to
determine if a commit is good or bad as there seem to be _two_
different problems both of which cause screen flickering.

Heelp!

Pekka

2010-01-15 16:15:34

by Thomas Meyer

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

Am Freitag, den 15.01.2010, 10:54 +0200 schrieb Pekka Enberg:

> So, any suggestions how I should proceed with figuring out the
> "flashing" problem I still see with Jesse's patch? I can do a full git
> bisect if it comes to that but it's going to be bit difficult to
> determine if a commit is good or bad as there seem to be _two_
> different problems both of which cause screen flickering.
>
> Heelp!

Does it look like the video in this bug, see attached video in the bug
report:

http://bugzilla.kernel.org/show_bug.cgi?id=14670

greets
thomas

2010-01-15 16:21:43

by Pekka Enberg

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

Hi Thomas,

On Fri, 2010-01-15 at 17:14 +0100, Thomas Meyer wrote:
> Am Freitag, den 15.01.2010, 10:54 +0200 schrieb Pekka Enberg:
>
> > So, any suggestions how I should proceed with figuring out the
> > "flashing" problem I still see with Jesse's patch? I can do a full git
> > bisect if it comes to that but it's going to be bit difficult to
> > determine if a commit is good or bad as there seem to be _two_
> > different problems both of which cause screen flickering.
> >
> > Heelp!
>
> Does it look like the video in this bug, see attached video in the bug
> report:
>
> http://bugzilla.kernel.org/show_bug.cgi?id=14670

No, that looks more like the "shaking" problem that's fixed by Nick's
and Jesse's patches. The "flashing" bug I'm talking about looks like I'm
seeing an old frame or something that's partially garbled with normal
output. The bug also appears much more infrequently than what your video
shows.

Pekka

2010-01-15 16:32:59

by Nick Bowler

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default

On 17:14 Fri 15 Jan , Thomas Meyer wrote:
> Am Freitag, den 15.01.2010, 10:54 +0200 schrieb Pekka Enberg:
>
> > So, any suggestions how I should proceed with figuring out the
> > "flashing" problem I still see with Jesse's patch? I can do a full git
> > bisect if it comes to that but it's going to be bit difficult to
> > determine if a commit is good or bad as there seem to be _two_
> > different problems both of which cause screen flickering.

You could apply Jesse's patch at each step during the bisection whenever
the LVDS downclocking commit is present.

> Does it look like the video in this bug, see attached video in the bug
> report:

As an aside, I tried to record a video of my LVDS downclocking issues
(which now appear to be different problems from Pekka's flickering).
The "lag" on screen updates is captured, but the flicker is not (I
probably need a camera that takes 120fps video to record it).

--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

2010-01-15 16:46:26

by Linus Torvalds

[permalink] [raw]
Subject: Re: [PATCH] drm/i915: disable LVDS downclock by default



On Fri, 15 Jan 2010, Nick Bowler wrote:
>
> You could apply Jesse's patch at each step during the bisection whenever
> the LVDS downclocking commit is present.

There's even a use "git bisect run" to automate it, see "man git-bisect".

Although in all fairness, for a one-off bisect like this, it's usually
more pain to write the automation script than to just do it manually the
handful of times you need to. You need to return a special value to say "I
need to test this specially" - since "git bisect run" is designed to also
return the 'is it good or bad' test value.

Linus