firefly-linux-kernel-4.4.55.git
13 years agoARM: sa1100: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 10:12:06 +0000 (11:12 +0100)]
ARM: sa1100: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: rpc: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 10:07:20 +0000 (11:07 +0100)]
ARM: rpc: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: PXA SoCs: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 10:18:26 +0000 (11:18 +0100)]
ARM: PXA SoCs: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: pnx4008: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:40:16 +0000 (10:40 +0100)]
ARM: pnx4008: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: omap2: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:39:59 +0000 (10:39 +0100)]
ARM: omap2: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: omap1: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:39:27 +0000 (10:39 +0100)]
ARM: omap1: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: nuc93x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:38:52 +0000 (10:38 +0100)]
ARM: nuc93x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Wan ZongShun <mcuos.com@gmail.com>
13 years agoARM: ns9xxx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:38:34 +0000 (10:38 +0100)]
ARM: ns9xxx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
13 years agoARM: netx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:38:10 +0000 (10:38 +0100)]
ARM: netx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: mx3: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:37:55 +0000 (10:37 +0100)]
ARM: mx3: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: msm: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:37:34 +0000 (10:37 +0100)]
ARM: msm: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Gregory Bean <gbean@codeaurora.org>
Acked-by: Daniel Walker <dwalker@codeaurora.org>
13 years agoARM: mmp: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:36:07 +0000 (10:36 +0100)]
ARM: mmp: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: lpc32xx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:35:20 +0000 (10:35 +0100)]
ARM: lpc32xx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: lh7a40x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:34:58 +0000 (10:34 +0100)]
ARM: lh7a40x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: ks8695: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:34:14 +0000 (10:34 +0100)]
ARM: ks8695: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: ixp4xx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:33:49 +0000 (10:33 +0100)]
ARM: ixp4xx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: ixp23xx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:33:32 +0000 (10:33 +0100)]
ARM: ixp23xx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: ixp2000: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:32:55 +0000 (10:32 +0100)]
ARM: ixp2000: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: iop33x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:32:37 +0000 (10:32 +0100)]
ARM: iop33x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Dan Williams <dan.j.williams@intel.com>
13 years agoARM: iop32x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:32:18 +0000 (10:32 +0100)]
ARM: iop32x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Dan Williams <dan.j.williams@intel.com>
13 years agoARM: iop13xx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:32:01 +0000 (10:32 +0100)]
ARM: iop13xx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Dan Williams <dan.j.williams@intel.com>
13 years agoARM: integrator: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:31:33 +0000 (10:31 +0100)]
ARM: integrator: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: h720x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:31:06 +0000 (10:31 +0100)]
ARM: h720x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: gemini: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:30:40 +0000 (10:30 +0100)]
ARM: gemini: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
13 years agoARM: footbridge: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:30:13 +0000 (10:30 +0100)]
ARM: footbridge: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: ep93xx: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:29:50 +0000 (10:29 +0100)]
ARM: ep93xx: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Ryan Mallon <ryan@bluewatersys.com>
13 years agoARM: ebsa110: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:29:25 +0000 (10:29 +0100)]
ARM: ebsa110: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: dove: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:27:47 +0000 (10:27 +0100)]
ARM: dove: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
13 years agoARM: davinci: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:27:27 +0000 (10:27 +0100)]
ARM: davinci: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: clps711x: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:26:56 +0000 (10:26 +0100)]
ARM: clps711x: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: bcmring: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:26:37 +0000 (10:26 +0100)]
ARM: bcmring: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Scott Branden <sbranden@broadcom.com>
13 years agoARM: at91: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:26:19 +0000 (10:26 +0100)]
ARM: at91: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: aaec2000: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:25:51 +0000 (10:25 +0100)]
ARM: aaec2000: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: vic: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:20:21 +0000 (10:20 +0100)]
ARM: vic: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: sa1111: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:20:06 +0000 (10:20 +0100)]
ARM: sa1111: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
13 years agoARM: LoCoMo: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:19:01 +0000 (10:19 +0100)]
ARM: LoCoMo: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: ITE 8152: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:18:39 +0000 (10:18 +0100)]
ARM: ITE 8152: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Mike Rapoport <mike@compulab.co.il>
13 years agoARM: gic: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:18:20 +0000 (10:18 +0100)]
ARM: gic: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
13 years agoARM: ecard: irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:21:01 +0000 (10:21 +0100)]
ARM: ecard: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
13 years agoARM: core irq_data conversion.
Lennert Buytenhek [Mon, 29 Nov 2010 09:21:48 +0000 (10:21 +0100)]
ARM: core irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoARM: Use genirq definitions from kernel/irq/Kconfig.
Lennert Buytenhek [Mon, 29 Nov 2010 09:06:57 +0000 (10:06 +0100)]
ARM: Use genirq definitions from kernel/irq/Kconfig.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
13 years agoMerge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Wed, 12 Jan 2011 16:40:25 +0000 (08:40 -0800)]
Merge branch 'drm-fixes' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (39 commits)
  i915/gtt: fix ordering causing DMAR errors on object teardown.
  i915/gtt: fix ordering issues with status setup and DMAR
  drm/i915/execbuffer: Reorder binding of objects to favour restrictions
  drm/i915: If we hit OOM when allocating GTT pages, clear the aperture
  drm/i915/evict: Ensure we completely cleanup on failure
  drm/i915/execbuffer: Correctly clear the current object list upon EFAULT
  drm/i915/debugfs: Show all objects in the gtt
  drm/i915: Record AGP memory type upon error
  drm/i915: Periodically flush the active lists and requests
  drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
  drm/i915: Record the error batchbuffer on each ring
  drm/i915: Include TLB miss overhead for computing WM
  drm/i915: Propagate error from flushing the ring
  drm/i915: detect & report PCH display error interrupts
  drm/i915: cleanup rc6 code
  drm/i915: fix rc6 enabling around suspend/resume
  drm/i915: re-enable rc6 support for Ironlake+
  drm/i915: Make the ring IMR handling private
  drm/i915/ringbuffer: Simplify the ring irq refcounting
  drm/i915/debugfs: Show the per-ring IMR
  ...

13 years agoMerge branch 'tools' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Wed, 12 Jan 2011 16:39:15 +0000 (08:39 -0800)]
Merge branch 'tools' of git://git./linux/kernel/git/lenb/linux-idle-2.6

* 'tools' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
  tools: create power/x86/x86_energy_perf_policy
  tools: create power/x86/turbostat

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest
Linus Torvalds [Wed, 12 Jan 2011 16:38:08 +0000 (08:38 -0800)]
Merge git://git./linux/kernel/git/rostedt/linux-2.6-ktest

* git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest: (30 commits)
  ktest: Ask for the manditory config options instead of just failing
  ktest: Copy the last good and bad configs in config_bisect
  ktest: For grub reboot, use run_ssh instead of run_command
  ktest: Added force stop after success and failure
  ktest: Parse off the directory name in useconfig for failures
  ktest: Use different temp config name for minconfig
  ktest: Updated the sample.conf for the latest options
  ktest: Added compare script to test ktest.pl to sample.conf
  ktest: Added config_bisect test type
  ktest/cleanups: Added version 0.2, ssh as options
  ktest: Output something easy to parse for failure or success
  ktest: Allow a test case to undefine a default value
  ktest: Use $output_config instead of typing $outputdir/.config
  ktest: Write to stdout if no log file is given
  ktest: Use oldnoconfig instead of yes command
  ktest: Update the sample config file with more documentation
  ktest: New TEST_START instead of using [], and use real SHA1s
  ktest: Add poweroff after halt and powercycle after reboot
  ktest: Add POST_INSTALL to allow initrds to be created
  ktest: Added sample.conf, new %default option format
  ...

13 years agoMerge branch 'stable/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
Linus Torvalds [Wed, 12 Jan 2011 16:37:35 +0000 (08:37 -0800)]
Merge branch 'stable/xenbus' of git://git./linux/kernel/git/konrad/xen

* 'stable/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/xenbus: making backend support modular is too complex
  xen/pci: Make xen-pcifront be dependent on XEN_XENBUS_FRONTEND
  xen/xenbus: fixup checkpatch issues in xenbus_probe*
  xen/netfront: select XEN_XENBUS_FRONTEND
  xen/xenbus: clean up noise in xenbus_probe_frontend.c
  xen/xenbus: clean up noise in xenbus_probe_backend.c
  xen/xenbus: clean up noise in xenbus_probe.c
  xen/xenbus: cleanup debug noise in xenbus_comms.c
  xen/xenbus: clean up error handling
  xen/xenbus: make frontend bus GPL
  xen/xenbus: make sure backend bus is registered earlier
  xenbus/frontend: register bus earlier
  xen: remove xen/evtchn.h
  xen: add backend driver support
  xen: separate out frontend xenbus

13 years agoNTFS: writev() fix and maintenance/contact details update
Anton Altaparmakov [Wed, 12 Jan 2011 10:34:35 +0000 (10:34 +0000)]
NTFS: writev() fix and maintenance/contact details update

Fix writev() to not keep writing the first segment over and over again
instead of moving onto subsequent segments and update the NTFS entry in
MAINTAINERS to reflect that Tuxera Inc. now supports the NTFS driver.

Signed-off-by: Anton Altaparmakov <anton@tuxera.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branches 'turbostat' and 'x86_energy_perf_policy' into tools
Len Brown [Wed, 12 Jan 2011 04:06:28 +0000 (23:06 -0500)]
Merge branches 'turbostat' and 'x86_energy_perf_policy' into tools

13 years agotools: create power/x86/x86_energy_perf_policy
Len Brown [Sat, 23 Oct 2010 03:53:03 +0000 (23:53 -0400)]
tools: create power/x86/x86_energy_perf_policy

MSR_IA32_ENERGY_PERF_BIAS first became available on Westmere Xeon.
It is implemented in all Sandy Bridge processors -- mobile, desktop and server.
It is expected to become increasingly important in subsequent generations.

x86_energy_perf_policy is a user-space utility to set the
hardware energy vs performance policy hint in the processor.
Most systems would benefit from "x86_energy_perf_policy normal"
at system startup, as the hardware default is maximum performance
at the expense of energy efficiency.

See x86_energy_perf_policy.8 man page for more information.

Background:

Linux-2.6.36 added "epb" to /proc/cpuinfo to indicate
if an x86 processor supports MSR_IA32_ENERGY_PERF_BIAS,
without actually modifying the MSR.

In March, 2010, Venkatesh Pallipadi proposed a small driver
that programmed MSR_IA32_ENERGY_PERF_BIAS, based on
the cpufreq governor in use.  It also offered
a boot-time cmdline option to override.
http://lkml.org/lkml/2010/3/4/457
But hiding the hardware policy behind the
governor choice was deemed "kinda icky".

In June, 2010, I proposed a generic user/kernel API to
generalize the power/performance policy trade-off.
"RFC: /sys/power/policy_preference"
http://lkml.org/lkml/2010/6/16/399
That is my preference for implementing this capability,
but I received no support on the list.

So in September, 2010, I sent x86_energy_perf_policy.c to LKML,
a user-space utility that scribbles directly to the MSR.
http://lkml.org/lkml/2010/9/28/246

Here is that same utility, after responding to some review feedback,
to live in tools/power/, where it is easily found.

Signed-off-by: Len Brown <len.brown@intel.com>
13 years agotools: create power/x86/turbostat
Len Brown [Sat, 23 Oct 2010 03:53:03 +0000 (23:53 -0400)]
tools: create power/x86/turbostat

turbostat is a Linux tool to observe proper operation
of Intel(R) Turbo Boost Technology.

turbostat displays the actual processor frequency
on x86 processors that include APERF and MPERF MSRs.

Note that turbostat is of limited utility on Linux
kernels 2.6.29 and older, as acpi_cpufreq cleared
APERF/MPERF up through that release.

On Intel Core i3/i5/i7 (Nehalem) and newer processors,
turbostat also displays residency in idle power saving states,
which are necessary for diagnosing any cpuidle issues
that may have an effect on turbo-mode.

See the turbostat.8 man page for example usage.

Signed-off-by: Len Brown <len.brown@intel.com>
13 years agoi915/gtt: fix ordering causing DMAR errors on object teardown.
Dave Airlie [Wed, 12 Jan 2011 01:39:48 +0000 (11:39 +1000)]
i915/gtt: fix ordering causing DMAR errors on object teardown.

Previous to the last GTT rework we always rewrote the GTT then unmapped the
object, somehow this got reversed in the rework in 2.6.37-rc5 timeframe.

This fix needs to go to stable in an alternate form since the code changed.

This fixes DMAR reports on my Ironlake HP2540p.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoi915/gtt: fix ordering issues with status setup and DMAR
Dave Airlie [Wed, 12 Jan 2011 01:38:37 +0000 (11:38 +1000)]
i915/gtt: fix ordering issues with status setup and DMAR

This code was setting up the status page before setting the DMAR-is-on-bit,
so we were getting DMAR errors on the status page. Reverse the two bits
of init code to the correct result.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoMerge branch 'drm-intel-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git...
Dave Airlie [Wed, 12 Jan 2011 00:49:03 +0000 (10:49 +1000)]
Merge branch 'drm-intel-fixes' of ssh:///linux/kernel/git/ickle/drm-intel

* 'drm-intel-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel: (37 commits)
  drm/i915/execbuffer: Reorder binding of objects to favour restrictions
  drm/i915: If we hit OOM when allocating GTT pages, clear the aperture
  drm/i915/evict: Ensure we completely cleanup on failure
  drm/i915/execbuffer: Correctly clear the current object list upon EFAULT
  drm/i915/debugfs: Show all objects in the gtt
  drm/i915: Record AGP memory type upon error
  drm/i915: Periodically flush the active lists and requests
  drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
  drm/i915: Record the error batchbuffer on each ring
  drm/i915: Include TLB miss overhead for computing WM
  drm/i915: Propagate error from flushing the ring
  drm/i915: detect & report PCH display error interrupts
  drm/i915: cleanup rc6 code
  drm/i915: fix rc6 enabling around suspend/resume
  drm/i915: re-enable rc6 support for Ironlake+
  drm/i915: Make the ring IMR handling private
  drm/i915/ringbuffer: Simplify the ring irq refcounting
  drm/i915/debugfs: Show the per-ring IMR
  drm/i915: Mask USER interrupts on gen6 (until required)
  drm/i915: Handle ringbuffer stalls when flushing
  ...

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 12 Jan 2011 00:32:41 +0000 (16:32 -0800)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (67 commits)
  cxgb4vf: recover from failure in cxgb4vf_open()
  netfilter: ebtables: make broute table work again
  netfilter: fix race in conntrack between dump_table and destroy
  ah: reload pointers to skb data after calling skb_cow_data()
  ah: update maximum truncated ICV length
  xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
  ehea: Increase the skb array usage
  net/fec: remove config FEC2 as it's used nowhere
  pcnet_cs: add new_id
  tcp: disallow bind() to reuse addr/port
  net/r8169: Update the function of parsing firmware
  net: ppp: use {get,put}_unaligned_be{16,32}
  CAIF: Fix IPv6 support in receive path for GPRS/3G
  arp: allow to invalidate specific ARP entries
  net_sched: factorize qdisc stats handling
  mlx4: Call alloc_etherdev to allocate RX and TX queues
  net: Add alloc_netdev_mqs function
  caif: don't set connection request param size before copying data
  cxgb4vf: fix mailbox data/control coherency domain race
  qlcnic: change module parameter permissions
  ...

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 12 Jan 2011 00:32:20 +0000 (16:32 -0800)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix bootup regression due to perf init ordering.

13 years agoMerge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Wed, 12 Jan 2011 00:31:41 +0000 (16:31 -0800)]
Merge branch 'next' of git://git./linux/kernel/git/benh/powerpc

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (72 commits)
  powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA
  powerpc/pseries: Fix VPHN build errors on non-SMP systems
  powerpc/83xx: add mpc8308_p1m DMA controller device-tree node
  powerpc/83xx: add DMA controller to mpc8308 device-tree node
  powerpc/512x: try to free dma descriptors in case of allocation failure
  powerpc/512x: add MPC8308 dma support
  powerpc/512x: fix the hanged dma transfer issue
  powerpc/512x: scatter/gather dma fix
  powerpc/powermac: Make auto-loading of therm_pm72 possible
  of/address: Use propper endianess in get_flags
  powerpc/pci: Use printf extension %pR for struct resource
  powerpc: Remove unnecessary casts of void ptr
  powerpc: Disable VPHN polling during a suspend operation
  powerpc/pseries: Poll VPA for topology changes and update NUMA maps
  powerpc: iommu: Add device name to iommu error printks
  powerpc: Record vma->phys_addr in ioremap()
  powerpc: Update compat_arch_ptrace
  powerpc: Fix PPC_PTRACE_SETHWDEBUG on PPC_BOOK3S
  powerpc/time: printk time stamp init not correct
  powerpc: Minor cleanups for machdep.h
  ...

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Wed, 12 Jan 2011 00:30:08 +0000 (16:30 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (42 commits)
  IB/qib: Fix refcount leak in lkey/rkey validation
  IB/qib: Improve SERDES tunning on QMH boards
  IB/qib: Unnecessary delayed completions on RC connection
  IB/qib: Issue pre-emptive NAKs on eager buffer overflow
  IB/qib: RDMA lkey/rkey validation is inefficient for large MRs
  IB/qib: Change QPN increment
  IB/qib: Add fix missing from earlier patch
  IB/qib: Change receive queue/QPN selection
  IB/qib: Fix interrupt mitigation
  IB/qib: Avoid duplicate writes to the rcv head register
  IB/qib: Add a few new SERDES tunings
  IB/qib: Reset packet list after freeing
  IB/qib: New SERDES init routine and improvements to SI quality
  IB/qib: Clear WAIT_SEND flags when setting QP to error state
  IB/qib: Fix context allocation with multiple HCAs
  IB/qib: Fix multi-Florida HCA host panic on reboot
  IB/qib: Handle transitions from ACTIVE_DEFERRED to ACTIVE better
  IB/qib: UD send with immediate receive completion has wrong size
  IB/qib: Set port physical state even if other fields are invalid
  IB/qib: Generate completion callback on errors
  ...

13 years agopowerpc/pseries: Fix build of topology stuff without CONFIG_NUMA
Benjamin Herrenschmidt [Tue, 11 Jan 2011 23:56:29 +0000 (10:56 +1100)]
powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
13 years agocxgb4vf: recover from failure in cxgb4vf_open()
Casey Leedom [Tue, 11 Jan 2011 23:44:40 +0000 (15:44 -0800)]
cxgb4vf: recover from failure in cxgb4vf_open()

If the Link Start fails in cxgb4vf_open(), we need to back out any state
that we've built up ...

Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoMerge branch 'master' of git://1984.lsi.us.es/net-2.6
David S. Miller [Tue, 11 Jan 2011 23:43:03 +0000 (15:43 -0800)]
Merge branch 'master' of git://1984.lsi.us.es/net-2.6

13 years agoMerge branch 'nfs-for-2.6.38' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
Linus Torvalds [Tue, 11 Jan 2011 23:11:56 +0000 (15:11 -0800)]
Merge branch 'nfs-for-2.6.38' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6

* 'nfs-for-2.6.38' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (89 commits)
  NFS fix the setting of exchange id flag
  NFS: Don't use vm_map_ram() in readdir
  NFSv4: Ensure continued open and lockowner name uniqueness
  NFS: Move cl_delegations to the nfs_server struct
  NFS: Introduce nfs_detach_delegations()
  NFS: Move cl_state_owners and related fields to the nfs_server struct
  NFS: Allow walking nfs_client.cl_superblocks list outside client.c
  pnfs: layout roc code
  pnfs: update nfs4_callback_recallany to handle layouts
  pnfs: add CB_LAYOUTRECALL handling
  pnfs: CB_LAYOUTRECALL xdr code
  pnfs: change lo refcounting to atomic_t
  pnfs: check that partial LAYOUTGET return is ignored
  pnfs: add layout to client list before sending rpc
  pnfs: serialize LAYOUTGET(openstateid)
  pnfs: layoutget rpc code cleanup
  pnfs: change how lsegs are removed from layout list
  pnfs: change layout state seqlock to a spinlock
  pnfs: add prefix to struct pnfs_layout_hdr fields
  pnfs: add prefix to struct pnfs_layout_segment fields
  ...

13 years agonetfilter: ebtables: make broute table work again
Florian Westphal [Tue, 11 Jan 2011 22:55:51 +0000 (23:55 +0100)]
netfilter: ebtables: make broute table work again

broute table init hook sets up the "br_should_route_hook" pointer,
which then gets called from br_input.

commit a386f99025f13b32502fe5dedf223c20d7283826
(bridge: add proper RCU annotation to should_route_hook)
introduced a typedef, and then changed this to:

br_should_route_hook_t *rhook;
[..]
rhook = rcu_dereference(br_should_route_hook);
if (*rhook(skb))

problem is that "br_should_route_hook" contains the address of the function,
so calling *rhook() results in kernel panic.

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
13 years agodrm/i915/execbuffer: Reorder binding of objects to favour restrictions
Chris Wilson [Mon, 10 Jan 2011 17:35:37 +0000 (17:35 +0000)]
drm/i915/execbuffer: Reorder binding of objects to favour restrictions

As the mappable portion of the aperture is always a small subset at the
start of the GTT, it is allocated preferentially by drm_mm. This is
useful in case we ever need to map an object later. However, if you have
a large object that can consume the entire mappable region of the
GTT this prevents the batchbuffer from fitting and so causing an error.
Instead allocate all those that require a mapping up front in order to
improve the likelihood of finding sufficient space to bind them.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: If we hit OOM when allocating GTT pages, clear the aperture
Chris Wilson [Mon, 10 Jan 2011 17:33:15 +0000 (17:33 +0000)]
drm/i915: If we hit OOM when allocating GTT pages, clear the aperture

Rather than evicting an object at random, which is unlikely to alleviate
the memory pressure sufficient to allow us to continue, zap the entire
aperture. That should give the system long enough to recover and reap
some pages from the evicted objects, forestalling the allocation error
for the new object.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915/evict: Ensure we completely cleanup on failure
Chris Wilson [Mon, 10 Jan 2011 14:21:05 +0000 (14:21 +0000)]
drm/i915/evict: Ensure we completely cleanup on failure

... and not leave the objects in a inconsistent state.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
13 years agodrm/i915/execbuffer: Correctly clear the current object list upon EFAULT
Chris Wilson [Mon, 10 Jan 2011 12:09:12 +0000 (12:09 +0000)]
drm/i915/execbuffer: Correctly clear the current object list upon EFAULT

Before releasing the lock in order to copy the relocation list from user
pages, we need to drop all the object references as another thread may
usurp and execute another batchbuffer before we reacquire the lock.
However, the code was buggy and failed to clear the list...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
13 years agonetfilter: fix race in conntrack between dump_table and destroy
Stephen Hemminger [Tue, 11 Jan 2011 22:54:42 +0000 (23:54 +0100)]
netfilter: fix race in conntrack between dump_table and destroy

The netlink interface to dump the connection tracking table has a race
when entries are deleted at the same time. A customer reported a crash
and the backtrace showed thatctnetlink_dump_table was running while a
conntrack entry was being destroyed.
(see https://bugzilla.vyatta.com/show_bug.cgi?id=6402).

According to RCU documentation, when using hlist_nulls the reader
must handle the case of seeing a deleted entry and not proceed
further down the linked list.  The old code would continue
which caused the scan to walk into the free list.

This patch uses locking (rather than RCU) for this operation which
is guaranteed safe, and no longer requires getting reference while
doing dump operation.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
Linus Torvalds [Tue, 11 Jan 2011 22:45:52 +0000 (14:45 -0800)]
Merge branch 'for_linus' of git://git./linux/kernel/git/jack/linux-udf-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:
  UDF: Close small mem leak in udf_find_entry()
  udf: Fix directory corruption after extent merging
  udf: Protect udf_file_aio_write from possible races
  udf: Remove unnecessary bkl usages
  udf: Use of s_alloc_mutex to serialize udf_relocate_blocks() execution
  udf: Replace bkl with the UDF_I(inode)->i_data_sem for protect udf_inode_info struct
  udf: Remove BKL from free space counting functions
  udf: Call udf_add_free_space() for more blocks at once in udf_free_blocks()
  udf: Remove BKL from udf_put_super() and udf_remount_fs()
  udf: Protect default inode credentials by rwlock
  udf: Protect all modifications of LVID with s_alloc_mutex
  udf: Move handling of uniqueID into a helper function and protect it by a s_alloc_mutex
  udf: Remove BKL from udf_update_inode
  udf: Convert UDF_SB(sb)->s_flags to use bitops
  fs/udf: Add printf format/argument verification
  fs/udf: Use vzalloc

(Evil merge: this also removes the BKL dependency from the Kconfig file)

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Tue, 11 Jan 2011 22:37:31 +0000 (14:37 -0800)]
Merge branch 'for_linus' of git://git./linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)
  ext4: fix trimming starting with block 0 with small blocksize
  ext4: revert buggy trim overflow patch
  ext4: don't pass entire map to check_eofblocks_fl
  ext4: fix memory leak in ext4_free_branches
  ext4: remove ext4_mb_return_to_preallocation()
  ext4: flush the i_completed_io_list during ext4_truncate
  ext4: add error checking to calls to ext4_handle_dirty_metadata()
  ext4: fix trimming of a single group
  ext4: fix uninitialized variable in ext4_register_li_request
  ext4: dynamically allocate the jbd2_inode in ext4_inode_info as necessary
  ext4: drop i_state_flags on architectures with 64-bit longs
  ext4: reorder ext4_inode_info structure elements to remove unneeded padding
  ext4: drop ec_type from the ext4_ext_cache structure
  ext4: use ext4_lblk_t instead of sector_t for logical blocks
  ext4: replace i_delalloc_reserved_flag with EXT4_STATE_DELALLOC_RESERVED
  ext4: fix 32bit overflow in ext4_ext_find_goal()
  ext4: add more error checks to ext4_mkdir()
  ext4: ext4_ext_migrate should use NULL not 0
  ext4: Use ext4_error_file() to print the pathname to the corrupted inode
  ext4: use IS_ERR() to check for errors in ext4_error_file
  ...

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
Linus Torvalds [Tue, 11 Jan 2011 22:36:55 +0000 (14:36 -0800)]
Merge branch 'for_linus' of git://git./linux/kernel/git/jack/linux-fs-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
  ext2: Resolve 'dereferencing pointer to incomplete type' when enabling EXT2_XATTR_DEBUG
  ext3: Remove redundant unlikely()
  ext2: Remove redundant unlikely()
  ext3: speed up file creates by optimizing rec_len functions
  ext2: speed up file creates by optimizing rec_len functions
  ext3: Add more journal error check
  ext3: Add journal error check in resize.c
  quota: Use %pV and __attribute__((format (printf in __quota_error and fix fallout
  ext3: Add FITRIM handling
  ext3: Add batched discard support for ext3
  ext3: Add journal error check into ext3_rename()
  ext3: Use search_dirblock() in ext3_dx_find_entry()
  ext3: Avoid uninitialized memory references with a corrupted htree directory
  ext3: Return error code from generic_check_addressable
  ext3: Add journal error check into ext3_delete_entry()
  ext3: Add error check in ext3_mkdir()
  fs/ext3/super.c: Use printf extension %pV
  fs/ext2/super.c: Use printf extension %pV
  ext3: don't update sb journal_devnum when RO dev

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
Linus Torvalds [Tue, 11 Jan 2011 22:36:08 +0000 (14:36 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ericvh/v9fs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  fs/9p: Don't set dentry->d_op in create routines
  fs/9p: fix spelling typo
  fs/9p: TREADLINK bugfix
  net/9p: Use proper data types
  fs/9p: Simplify the .L create operation
  fs/9p: Move dotl inode operations into a seperate file
  fs/9p: fix menu presentation
  fs/9p: Fix the return error on default acl removal
  fs/9p: Remove unnecessary semicolons

13 years agodrm/i915/debugfs: Show all objects in the gtt
Chris Wilson [Mon, 10 Jan 2011 00:00:24 +0000 (00:00 +0000)]
drm/i915/debugfs: Show all objects in the gtt

Useful for determining the layout.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Record AGP memory type upon error
Chris Wilson [Sun, 9 Jan 2011 21:07:49 +0000 (21:07 +0000)]
drm/i915: Record AGP memory type upon error

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Periodically flush the active lists and requests
Chris Wilson [Sun, 9 Jan 2011 21:05:44 +0000 (21:05 +0000)]
drm/i915: Periodically flush the active lists and requests

In order to retire active buffers whilst no client is active, we need to
insert our own flush requests onto the ring.

This is useful for servers that queue up some rendering and then go to
sleep as it allows us to the complete processing of those requests,
potentially making that memory available again much earlier.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoah: reload pointers to skb data after calling skb_cow_data()
Dang Hongwu [Tue, 11 Jan 2011 07:13:33 +0000 (07:13 +0000)]
ah: reload pointers to skb data after calling skb_cow_data()

skb_cow_data() may allocate a new data buffer, so pointers on
skb should be set after this function.

Bug was introduced by commit dff3bb06 ("ah4: convert to ahash")
and 8631e9bd ("ah6: convert to ahash").

Signed-off-by: Wang Xuefu <xuefu.wang@6wind.com>
Acked-by: Krzysztof Witek <krzysztof.witek@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoah: update maximum truncated ICV length
Nicolas Dichtel [Tue, 11 Jan 2011 08:06:19 +0000 (08:06 +0000)]
ah: update maximum truncated ICV length

For SHA256, RFC4868 requires to truncate ICV length to 128 bits,
hence MAX_AH_AUTH_LEN should be updated to 16.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoxfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
Nicolas Dichtel [Tue, 11 Jan 2011 08:04:12 +0000 (08:04 +0000)]
xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC

Maximum trunc length is defined by MAX_AH_AUTH_LEN (in bytes)
and need to be checked when this value is set (in bits) by
the user. In ah4.c and ah6.c a BUG_ON() checks this condiftion.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agoehea: Increase the skb array usage
Breno Leitao [Tue, 11 Jan 2011 07:45:57 +0000 (07:45 +0000)]
ehea: Increase the skb array usage

Currently the skb array is not fully allocated, and the allocation
is done as it's requested, which is not the expected way.

This patch just allocate the full skb array at driver initialization.
Also, this patch increases ehea version to 107.

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agonet/fec: remove config FEC2 as it's used nowhere
Shawn Guo [Tue, 11 Jan 2011 02:07:52 +0000 (02:07 +0000)]
net/fec: remove config FEC2 as it's used nowhere

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agopcnet_cs: add new_id
Ken Kawasaki [Tue, 11 Jan 2011 01:55:58 +0000 (01:55 +0000)]
pcnet_cs: add new_id

pcnet_cs:
     add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.

Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agotcp: disallow bind() to reuse addr/port
Eric Dumazet [Tue, 11 Jan 2011 01:14:22 +0000 (01:14 +0000)]
tcp: disallow bind() to reuse addr/port

inet_csk_bind_conflict() logic currently disallows a bind() if
it finds a friend socket (a socket bound on same address/port)
satisfying a set of conditions :

1) Current (to be bound) socket doesnt have sk_reuse set
OR
2) other socket doesnt have sk_reuse set
OR
3) other socket is in LISTEN state

We should add the CLOSE state in the 3) condition, in order to avoid two
REUSEADDR sockets in CLOSE state with same local address/port, since
this can deny further operations.

Note : a prior patch tried to address the problem in a different (and
buggy) way. (commit fda48a0d7a8412ced tcp: bind() fix when many ports
are bound).

Reported-by: Gaspar Chilingarov <gasparch@gmail.com>
Reported-by: Daniel Baluta <daniel.baluta@gmail.com>
Tested-by: Daniel Baluta <daniel.baluta@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
13 years agodrm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
Chris Wilson [Tue, 11 Jan 2011 11:07:54 +0000 (11:07 +0000)]
drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT

Dave Airlie spotted that his ILK laptop with DMAR enabled was generating
the occasional DMAR warning.

"The ordering in the previous code was to rewrite the GTT table before
unmapping the pages and that makes sense to me."

This is his stable patch ported to d-i-n.

Reported-by: Dave Airlie <airlied@redhat.com>
Original-patch-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Record the error batchbuffer on each ring
Chris Wilson [Fri, 7 Jan 2011 21:06:07 +0000 (21:06 +0000)]
drm/i915: Record the error batchbuffer on each ring

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Include TLB miss overhead for computing WM
Chris Wilson [Sat, 8 Jan 2011 09:02:21 +0000 (09:02 +0000)]
drm/i915: Include TLB miss overhead for computing WM

The docs recommend that if 8 display lines fit inside the FIFO buffer,
then the number of watermark entries should be increased to hide the
latency of filling the rest of the FIFO buffer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Propagate error from flushing the ring
Chris Wilson [Fri, 7 Jan 2011 17:09:48 +0000 (17:09 +0000)]
drm/i915: Propagate error from flushing the ring

... in order to avoid a BUG() and potential unbounded waits.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: detect & report PCH display error interrupts
Jesse Barnes [Tue, 4 Jan 2011 23:09:39 +0000 (15:09 -0800)]
drm/i915: detect & report PCH display error interrupts

FDI and the transcoders can fail for various reasons, so detect those
conditions and report on them.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: cleanup rc6 code
Jesse Barnes [Wed, 5 Jan 2011 20:01:26 +0000 (12:01 -0800)]
drm/i915: cleanup rc6 code

Cleanup several aspects of the rc6 code:
  - misnamed intel_disable_clock_gating function (was only about rc6)
  - remove commented call to intel_disable_clock_gating
  - rc6 enabling code belongs in its own function (allows us to move the
    actual clock gating enable call back into restore_state)
  - allocate power & render contexts up front, only free on unload
    (avoids ugly lazy init at rc6 enable time)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[ickle: checkpatch cleanup]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: fix rc6 enabling around suspend/resume
Jesse Barnes [Wed, 5 Jan 2011 20:01:25 +0000 (12:01 -0800)]
drm/i915: fix rc6 enabling around suspend/resume

Enabling RC6 implies setting a graphics context.  Make sure we do that
only after the ring has been enabled, otherwise our ring commands will
hang.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: re-enable rc6 support for Ironlake+
Jesse Barnes [Wed, 5 Jan 2011 20:01:24 +0000 (12:01 -0800)]
drm/i915: re-enable rc6 support for Ironlake+

Re-enable rc6 support on Ironlake for power savings.  Adds a debugfs
file to check current RC state, adds a missing workaround for Ironlake
MI_SET_CONTEXT instructions, and renames MCHBAR_RENDER_STANDBY to
RSTDBYCTL to match the docs.

Keep RC6 and the power context disabled on pre-ILK.  It only seems to
hang and doesn't save any power.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Make the ring IMR handling private
Chris Wilson [Wed, 5 Jan 2011 10:32:24 +0000 (10:32 +0000)]
drm/i915: Make the ring IMR handling private

As the IMR for the USER interrupts are not modified elsewhere, we can
separate the spinlock used for these from that of hpd and pipestats.
Those two IMR are manipulated under an IRQ and so need heavier locking.

Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915/ringbuffer: Simplify the ring irq refcounting
Chris Wilson [Tue, 4 Jan 2011 22:22:56 +0000 (22:22 +0000)]
drm/i915/ringbuffer: Simplify the ring irq refcounting

... and move it under the spinlock to gain the appropriate memory
barriers.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32752
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915/debugfs: Show the per-ring IMR
Chris Wilson [Tue, 4 Jan 2011 22:22:17 +0000 (22:22 +0000)]
drm/i915/debugfs: Show the per-ring IMR

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Mask USER interrupts on gen6 (until required)
Chris Wilson [Tue, 4 Jan 2011 17:35:21 +0000 (17:35 +0000)]
drm/i915: Mask USER interrupts on gen6 (until required)

Otherwise we may consume 20% of the CPU just handling IRQs whilst
rendering. Ouch.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Handle ringbuffer stalls when flushing
Chris Wilson [Tue, 4 Jan 2011 17:34:02 +0000 (17:34 +0000)]
drm/i915: Handle ringbuffer stalls when flushing

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Enforce write ordering through the GTT
Chris Wilson [Tue, 4 Jan 2011 18:42:07 +0000 (18:42 +0000)]
drm/i915: Enforce write ordering through the GTT

We need to ensure that writes through the GTT land before any
modification to the MMIO registers and so must impose a mandatory write
barrier when flushing the GTT domain. This was revealed by relaxing the
write ordering by experimentally mapping the registers and the GATT as
write-combining.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: Remove impossible test
Chris Wilson [Mon, 3 Jan 2011 16:39:21 +0000 (16:39 +0000)]
drm/i915: Remove impossible test

As has_gem is unconditionally set to true, the conditional immediately
following that assignment is superfluous.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: avoid reading non-existent PLL reg on Ironlake+
Jesse Barnes [Thu, 30 Dec 2010 17:36:39 +0000 (09:36 -0800)]
drm/i915: avoid reading non-existent PLL reg on Ironlake+

These functions need to be reworked for Ironlake and above, but until
then at least avoid reading non-existent registers.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[ickle: combine with a gratuitous tidy]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: add 'reset' parameter
Chris Wilson [Thu, 23 Dec 2010 13:33:15 +0000 (13:33 +0000)]
drm/i915: add 'reset' parameter

When bringing up new hardware, or otherwise experimenting, GPU hangs are
a way of life. However, the automatic GPU reset can do more harm than
good under these circumstances, as we may wish to capture a full trace for
debugging.

Based on a patch by Zhenyu Wang.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: fix the wrong latency value while computing wm0
Yuanhan Liu [Thu, 23 Dec 2010 08:35:40 +0000 (16:35 +0800)]
drm/i915: fix the wrong latency value while computing wm0

On Ironlake, the LP0 latency is hardcoded and in ns unit, while on
Sandybridge, it comes from a register and with unit 0.1 us. So, fix
the wrong latency value while computing wm0 on Ironlake and Sandybridge.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agodrm/i915: support low power watermarks on Ironlake
Jesse Barnes [Tue, 21 Dec 2010 21:10:23 +0000 (13:10 -0800)]
drm/i915: support low power watermarks on Ironlake

This patch actually makes the watermark code even uglier (if that's
possible), but has the advantage of sharing code between SNB and ILK at
least.  Longer term we should refactor the watermark stuff into its own
file and clean it up now that we know how it's supposed to work.

Supporting WM2 on my Vaio reduced power consumption by around 0.5W, so
this patch is definitely worthwhile (though it also needs lots of test
coverage).

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[ickle: pass the watermark structs arounds]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoagp/intel: Flush the chipset write buffers when changing GTT base
Chris Wilson [Thu, 23 Dec 2010 10:40:38 +0000 (10:40 +0000)]
agp/intel: Flush the chipset write buffers when changing GTT base

Flush the chipset write buffers before and after adjusting the GTT base
register, just in case. We only modify this value upon initialisation
(boot and resume) so there should be no outstanding writes, however
there are always those persistent PGTBL_ER that keep getting reported
upon resume.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>