Skip to content
  1. Aug 23, 2012
  2. Aug 17, 2012
    • Ralf Baechle's avatar
      MIPS: Malta: Delete duplicate PCI fixup. · 16cc2cf6
      Ralf Baechle authored
      2ec8663f9c03a96f2c328c7c483603c31d62ad37 (lmo) rsp.
      497e5ff0
      
       (kernel.org) [MIPS: Malta: Move
      PIIX4 PCI fixup to where it belongs.] attempted to move this PCI fixup
      but really only added it at it's new location without deleting the old
      instance.
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      16cc2cf6
    • Gabor Juhos's avatar
      MIPS: ath79: don't hardcode the unavailability of the DSP ASE · 00dc5ce2
      Gabor Juhos authored
      
      
      The ath79 platform code allows to run a single kernel image on various
      SoCs which are based on the 24Kc and 74Kc cores.  The current code
      explicitely disables the DSP ASE, but that is available in the 74Kc core.
      
      Remove the override in order to let the kernel to detect the availability
      of the DSP ASE at runtime.
      
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4222/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      00dc5ce2
    • Jayachandran C's avatar
      MIPS: Synchronize MIPS count one CPU at a time · cf9bfe55
      Jayachandran C authored
      The current implementation of synchronise_count_{master,slave} blocks
      slave CPUs in early boot until all of them come up. This no longer
      works because blocking a CPU with interrupts off after notifying the
      CPU to be online causes problems with the current kernel.
      
      Specifically, after the workqueue changes
      (commit a08489c5
      
       "Pull workqueue changes from Tejun Heo")
      the CPU_ONLINE notification callback workqueue_cpu_up_callback()
      will hang on wait_for_completion(&idle_rebind.done), if the slave
      CPUs are blocked for synchronize_count_slave().
      
      The changes are to update synchronize_count_{master,slave}() to handle
      one CPU at a time and to call synchronise_count_master() in __cpu_up()
      so that the CPU_ONLINE notification goes out only after the COP0 COUNT
      register is synchronized.
      
      [ralf@linux-mips.org: This matter only to those few platforms which are
      using the cp0 counter as their clocksource which are XLP, XLR and MIPS'
      CMP solution.]
      
      Signed-off-by: default avatarJayachandran C <jchandra@broadcom.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4216/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      cf9bfe55
    • Florian Fainelli's avatar
      MIPS: BCM63xx: Fix SPI message control register handling for BCM6338/6348. · 5a670445
      Florian Fainelli authored
      
      
      BCM6338 and BCM6348 have a message control register width of 8 bits, instead
      of 16-bits like what the SPI driver assumes right now. Also the SPI message
      type shift value of 14 is actually 6 for these SoCs.
      This resulted in transmit FIFO corruption because we were writing 16-bits
      to an 8-bits wide register, thus spanning on the first byte of the transmit
      FIFO, which had already been filed in bcm63xx_spi_fill_txrx_fifo().
      
      Fix this by passing the message control register width and message type
      shift through platform data back to the SPI driver so that it can use
      it properly.
      
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Cc: grant.likely@secretlab.ca
      Cc: spi-devel-general@lists.sourceforge.net
      Cc: jonas.gorski@gmail.com
      Patchwork: https://patchwork.linux-mips.org/patch/3983/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      5a670445
    • Ralf Baechle's avatar
      MIPS: Module: Deal with malformed HI16/LO16 relocation sequences. · c54de490
      Ralf Baechle authored
      
      
      In case a series of R_MIPS_HI16 relocations was not followed by an
      R_MIPS_LO16 relocation we were leaking the hi16 relocation chain.
      Handle that error and return an error.
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c54de490
    • Ralf Baechle's avatar
      MIPS: Fix race condition in module relocation code. · 861667dc
      Ralf Baechle authored
      
      
      The relocation code was essentially taken from the 2.4 modutils which
      perform relocation in userspace.  In 2.6 relocation of multiple modules
      may be performed in parallel by the in-kernel loader so the global
      variable mips_hi16_list won't fly anymore.  Fix race by moving it into
      mod_arch_specific.
      
      [ralf@linux-mips.org: folded in Tony's followup fix.  Thanks Tony!]
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarTony Wu <tung7970@gmail.com>
      Cc:  linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/4189/
      861667dc
    • Ralf Baechle's avatar
      MIPS: Fix memory leak in error path of HI16/LO16 relocation handling. · d3cac35c
      Ralf Baechle authored
      Commit 6f5d2e970452b5c86906adcb8e7ad246f535ba39 (lmo) /
      477c4b07
      
       (kernel.org) [[MIPS: VPE: Free
      relocation chain on error.] fixed the same issue in the vpe loader in 2009
      but back then the same bug in module.c went unfixed.
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Reported-by: default avatarAkhilesh Kumar <akhilesh.lxr@gmail.com>
      d3cac35c
    • Bruno Randolf's avatar
      MIPS: MTX-1: Add udelay to mtx1_pci_idsel · 143ec74e
      Bruno Randolf authored
      
      
      Without this udelay(1) PCI idsel does not work correctly on the
      "singleboard" (T-Mobile Surfbox) for the MiniPCI device. The result is
      that PCI configuration fails and the MiniPCI card is not detected
      correctly. Instead of
      
      PCI host bridge to bus 0000:00
      pci_bus 0000:00: root bus resource [mem 0x40000000-0x4fffffff]
      pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
      pci 0000:00:03.0: BAR 0: assigned [mem 0x40000000-0x4000ffff]
      pci 0000:00:00.0: BAR 0: assigned [mem 0x40010000-0x40010fff]
      pci 0000:00:00.1: BAR 0: assigned [mem 0x40011000-0x40011fff]
      
      We see only the CardBus device:
      
      PCI host bridge to bus 0000:00
      pci_bus 0000:00: root bus resource [mem 0x40000000-0x4fffffff]
      pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
      pci 0000:00:00.0: BAR 0: assigned [mem 0x40000000-0x40000fff]
      pci 0000:00:00.1: BAR 0: assigned [mem 0x40001000-0x40001fff]
      
      Later the device driver shows this error:
      
      ath5k 0000:00:03.0: cannot remap PCI memory region
      ath5k: probe of 0000:00:03.0 failed with error -5
      
      I assume that the logic chip which usually supresses the signal to the CardBus
      card has some settling time and without the delay it would still let the
      Cardbus interfere with the response from the MiniPCI card.
      
      What I cannot explain is why this behaviour shows up now and not in earlier
      kernel versions before. Maybe older PCI code was slower?
      
      Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
      Cc: linux-mips@linux-mips.org
      Cc: manuel.lauss@googlemail.com
      Cc: florian@openwrt.org
      Patchwork: https://patchwork.linux-mips.org/patch/4087/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      143ec74e
    • Gabor Juhos's avatar
      MIPS: ath79: select HAVE_CLK · 94638067
      Gabor Juhos authored
      
      
      It is needed in order to get rid of the following errors:
      
      arch/mips/ath79/clock.c:353:13: error: redefinition of 'clk_get'
      include/linux/clk.h:281:27: note: previous definition of 'clk_get' was here
      arch/mips/ath79/clock.c:377:5: error: redefinition of 'clk_enable'
      include/linux/clk.h:295:19: note: previous definition of 'clk_enable' was here
      arch/mips/ath79/clock.c:383:6: error: redefinition of 'clk_disable'
      include/linux/clk.h:300:20: note: previous definition of 'clk_disable' was here
      arch/mips/ath79/clock.c:388:15: error: redefinition of 'clk_get_rate'
      include/linux/clk.h:302:29: note: previous definition of 'clk_get_rate' was here
      arch/mips/ath79/clock.c:394:6: error: redefinition of 'clk_put'
      include/linux/clk.h:291:20: note: previous definition of 'clk_put' was here
      
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4170/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      94638067
    • Gabor Juhos's avatar
      MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240 · 5fb23456
      Gabor Juhos authored
      
      
      The currently assigned IRQ number to the OHCI controller is incorrect for
      the AR7240 SoC, and that leads to the following error message from the
      OHCI driver:
      
      ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
      ath79-ohci ath79-ohci: Atheros built-in OHCI controller
      ath79-ohci ath79-ohci: new USB bus registered, assigned bus number 1
      ath79-ohci ath79-ohci: irq 14, io mem 0x1b000000
      hub 1-0:1.0: USB hub found
      hub 1-0:1.0: 1 port detected
      usb 1-1: new full-speed USB device number 2 using ath79-ohci
      ath79-ohci ath79-ohci: Unlink after no-IRQ?  Controller is probably using the wrong IRQ.
      
      Fix this by using the correct IRQ number.
      
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4168/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      5fb23456
    • Gabor Juhos's avatar
      MIPS: ath79: Fix number of GPIO lines for AR724[12] · b4da14ab
      Gabor Juhos authored
      
      
      The AR724[12] SoCs have more GPIO lines than the AR7240.
      
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: Cc: linux-mips@linux-mips.org
      Patchwork: https://http://patchwork.linux-mips.org/patch/4167/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      b4da14ab
    • David Daney's avatar
      MIPS: Octeon: Fix broken interrupt controller code. · 87161ccd
      David Daney authored
      
      
      Since 3.6.0-rc1,  We are getting many messages like:
      
      WARNING: at kernel/irq/irqdomain.c:444 irq_domain_associate_many+0x23c/0x260()
      Modules linked in:
      Call Trace:
      [<ffffffff814cb698>] dump_stack+0x8/0x34
      [<ffffffff81133d00>] warn_slowpath_common+0x78/0xa8
      [<ffffffff81187e44>] irq_domain_associate_many+0x23c/0x260
      [<ffffffff81187f38>] irq_create_mapping+0xd0/0x220
      [<ffffffff81188104>] irq_create_of_mapping+0x7c/0x158
      [<ffffffff813e5f08>] irq_of_parse_and_map+0x28/0x40
      .
      .
      .
      
      Both the CIU and GPIO interrupt domains were somewhat screwed up.
      
      For the CIU domain, we need to call irq_domain_associate() for each of
      the preassigned irq numbers.  For the GPIO domain, we were applying
      the register bit offset in octeon_irq_gpio_xlat, but it should be done
      in octeon_irq_gpio_map instead.
      
      Also: Reserve all 8 'core' irqs for the 'core' irq_chip so that they
      don't get used by the other domains.  Remove unused OCTEON_IRQ_*
      symbols.
      
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/4190/
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      87161ccd
    • Linus Torvalds's avatar
      Linux 3.6-rc2 · d9875690
      Linus Torvalds authored
      v3.6-rc2
      d9875690
    • Ian Kent's avatar
      autofs4 - fix get_next_positive_subdir() · a45440f0
      Ian Kent authored
      
      
      Following a report of a crash during an automount expire I found that
      the locking in fs/autofs4/expire.c:get_next_positive_subdir() was wrong.
      Not only is the locking wrong but the function is more complex than it
      needs to be.
      
      The function is meant to calculate (and dget) the next entry in the list
      of directories contained in the root of an autofs mount point (an autofs
      indirect mount to be precise). The main problem was that the d_lock of
      the owner of the list was not being taken when walking the list, which
      lead to list corruption under load. The only other lock that needs to
      be taken is against the next dentry candidate so it can be checked for
      usability.
      
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a45440f0
    • Linus Torvalds's avatar
      Merge tag 'vfio-for-v3.6-rc1' of git://github.com/awilliam/linux-vfio · 63ca5f1d
      Linus Torvalds authored
      Pull VFIO fix from Alex Williamson:
       "Just a trivial patch to include vfio.h in the installed headers so we
        can complete userspace integration into QEMU."
      
      * tag 'vfio-for-v3.6-rc1' of git://github.com/awilliam/linux-vfio:
        vfio: Include vfio.h in installed headers
      63ca5f1d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 2eac9eb8
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: verify all ioctl retry iov elements
        fuse: add missing INIT flag descriptions
        fuse: add missing INIT flags
        fuse: update attributes on aio_read
        fuse: invalidate inode mapping if mtime changes
        fuse: add FUSE_AUTO_INVAL_DATA init flag
      2eac9eb8
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.6-rc1-tag' of... · ad54e461
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen fix from Konrad Rzeszutek Wilk:
       "Way back in v3.5 we added a mechanism to populate back pages that were
        released (they overlapped with MMIO regions), but neglected to reserve
        the proper amount of virtual space for extend_brk to work properly.
      
        Coincidentally some other commit aligned the _brk space to larger area
        so I didn't trigger this until it was run on a machine with more than
        2GB of MMIO space."
      
       * On machines with large MMIO/PCI E820 spaces we fail to boot b/c
         we failed to pre-allocate large enough virtual space for extend_brk.
      
      * tag 'stable/for-linus-3.6-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/p2m: Reserve 8MB of _brk space for P2M leafs when populating back.
      ad54e461
    • Linus Torvalds's avatar
      Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh · 15a063f7
      Linus Torvalds authored
      Pull SuperH fixes from Paul Mundt.
      
      * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
        sh: intc: Handle domain association for sparseirq pre-allocated vectors.
        sh: sh7269: Fix LCD pinmux
        sh: dma: fix request_irq usage
      15a063f7
    • Dan Williams's avatar
      MAINTAINERS: update address for Dan Williams · 1dd8372d
      Dan Williams authored
      
      
      Moved to djbw@fb.com
      
      Cc: Dave Jiang <dave.jiang@intel.com>
      Cc: Vinod Koul <vinod.koul@linux.intel.com>
      Signed-off-by: default avatarDan Williams <djbw@fb.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1dd8372d
    • Borislav Petkov's avatar
      scripts/decodecode: Fixup trapping instruction marker · 2a95e37c
      Borislav Petkov authored
      
      
      When dumping "Code: " sections from an oops, the trapping instruction
      %rip points to can be a string copy
      
        2b:*  f3 a5                   rep movsl %ds:(%rsi),%es:(%rdi)
      
      and the line contain a bunch of ":".  Current "cut" selects only the and
      the second field output looks funnily overlaid this:
      
        2b:*  f3 a5                   rep movsl %ds     <-- trapping instruction:(%rsi),%es:(%rdi
      
      Fix this by selecting the remaining fields too.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: linux-kbuild@vger.kernel.org
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2a95e37c
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 2b014fcc
      Linus Torvalds authored
      Pull two slave-dmaengine fixes from Vinod Koul:
       "One fixes the correct use of clock API in imx driver and the other
        enables clock for tegra driver, which is used for other tegra driver
        conversion to dmanegine in -next."
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dma: tegra: enable/disable dma clock
        dma: imx-dma: Fix kernel crash due to missing clock conversion
      2b014fcc
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · d3b8e0dc
      Linus Torvalds authored
      Pull more drm fixes from Dave Airlie:
       "Just some intel and nouveau ones this time, intel has more edp panel
        fixes for macbooks and nouveau has a suspend/resume regression fix in
        there."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: Apply post-sync write for pipe control invalidates
        drm/i915: reorder edp disabling to fix ivb MacBook Air
        drm/nv86/fifo: suspend fix
        drm/nouveau: disable copy engine on NVAF
        nouveau: fixup scanout enable in nvc0_pm
        drm/nouveau/aux: mask off higher bits of auxch index in i2c table entry
        drm/nvd0/disp: mask off high 16 bit of negative cursor x-coordinate
        drm/i915: ensure i2c adapter is all set before adding it
        drm/i915: ignore eDP bpc settings from vbt
        drm/i915: Fix blank panel at reopening lid
        drm/nve0/fifo: add support for the flip completion swmthd
      d3b8e0dc
  3. Aug 16, 2012
  4. Aug 15, 2012
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · 2e26c73a
      Dave Airlie authored
      * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
        drm/nv86/fifo: suspend fix
        drm/nouveau: disable copy engine on NVAF
        nouveau: fixup scanout enable in nvc0_pm
        drm/nouveau/aux: mask off higher bits of auxch index in i2c table entry
        drm/nvd0/disp: mask off high 16 bit of negative cursor x-coordinate
        drm/nve0/fifo: add support for the flip completion swmthd
      2e26c73a
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes · a389b6a1
      Dave Airlie authored
      Daniel Vetter writes:
      
      "A few important fixers:
      - fix various lvds backlight issues, regressed in 3.6 (Takashi Iwai)
      - make the retina mbp work (ignore bogus edp bpc value in vbt)
      - fix a gmbus regression introduced in (iirc) 3.4 (Jani Nikula)
      - fix an edp panel power sequence regression, fixes the new macbook air
      - apply the tlb invalidate w/a
      
      Otherwise we still have another gmbus regression (patches are awaiting
      tested-bys) and there's something odd going with some rare systems not
      entering rc6 often enough (and hence blowing through too much power).  It
      seems to be a timing-related issue and can be mitigated by frobbing the
      magic tuning parameters. We're still working on that one. Also, we still
      have some fallout from the hw context support, but you can only hit that
      with mesa master."
      
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: Apply post-sync write for pipe control invalidates
        drm/i915: reorder edp disabling to fix ivb MacBook Air
        drm/i915: ensure i2c adapter is all set before adding it
        drm/i915: ignore eDP bpc settings from vbt
        drm/i915: Fix blank panel at reopening lid
      a389b6a1
    • David S. Miller's avatar
      sparc64: Be less verbose during vmemmap population. · 2856cc2e
      David S. Miller authored
      On a 2-node machine with 256GB of ram we get 512 lines of
      console output, which is just too much.
      
      This mimicks Yinghai Lu's x86 commit c2b91e2e
      
      
      (x86_64/mm: check and print vmemmap allocation continuous) except that
      we aren't ever going to get contiguous block pointers in between calls
      so just print when the virtual address or node changes.
      
      This decreases the output by an order of 16.
      
      Also demote this to KERN_DEBUG.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2856cc2e
  5. Aug 14, 2012
    • Chris Wilson's avatar
      drm/i915: Apply post-sync write for pipe control invalidates · 7d54a904
      Chris Wilson authored
      When invalidating the TLBs it is documentated as requiring a post-sync
      write. Failure to do so seems to result in a GPU hang.
      
      Exposure to this hang on IVB seems to be a result of removing the extra
      stalls required for SNB pipecontrol workarounds:
      
      commit 6c6cf5aa
      
      
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Fri Jul 20 18:02:28 2012 +0100
      
          drm/i915: Only apply the SNB pipe control w/a to gen6
      
      Note: Manually switch the pipe_control cmd to 4 dwords to avoid a
      (silent) functional conflict with -next. This way will get a loud (but
      conflict with next (since the scratch_addr has been deleted there).
      
      Reported-and-tested-by: default avatar <yex.tian@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53322
      Acked-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      [danvet: added note about merge conflict with -next.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      7d54a904
    • Daniel Vetter's avatar
      drm/i915: reorder edp disabling to fix ivb MacBook Air · 35a38556
      Daniel Vetter authored
      eDP is tons of fun. It turns out that at least the new MacBook Air 5,1
      model absolutely doesn't like the new force vdd dance we've introduced
      in
      
      commit 6cb49835
      
      
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun May 20 17:14:50 2012 +0200
      
          drm/i915: enable vdd when switching off the eDP panel
      
      But that patch also tried to fix some neat edp sequence issue with the
      force_vdd timings. Closer inspection reveals that we've raised
      force_vdd only to do the aux channel communication dp_sink_dpms. If we
      move the edp_panel_off below that, we don't need any force_vdd for the
      disable sequence, which makes the Air happy.
      
      Unfortunately the reporter of the original bug that the above commit
      fixed is travelling, so we can't test whether this regresses things.
      But my theory is that since we don't check for any power-off ->
      force_vdd-on delays in edp_panel_vdd_on, this was the actual
      root-cause of this failure. With that force_vdd dance completely
      eliminated, I'm hopeful the original bug stays fixed, too.
      
      For reference the old bug, which hopefully doesn't get broken by this:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=43163
      
      In any case, regression fixers win over plain bugfixes, so this needs
      to go in asap.
      
      v2: The crucial pieces seems to be to clear the force_vdd flag
      uncoditionally, too, in edp_panel_off. Looks like this is left behind
      by the firmware somehow.
      
      v3: The Apple firmware seems to switch off the panel on it's own, hence
      we still need to keep force_vdd on, but properly clear it when switching
      the panel off.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45671
      Tested-by: default avatarRoberto Romer <sildurin@gmail.com>
      Tested-by: default avatarDaniel Wagner <wagi@monom.org>
      Tested-by: default avatarKeith Packard <keithp@keithp.com>
      Cc: stable@vger.kernel.org
      Cc: Keith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      35a38556
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ddf343f6
      Linus Torvalds authored
      Pull s390 patches from Martin Schwidefsky:
       "Included are bug fixes and a patch to enable system call filtering
        with BPF."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/compat: fix mmap compat system calls
        s390/compat: fix compat wrappers for process_vm system calls
        s390: do not clobber personality flags in sys_32_personality()
        s390/seccomp: add support for system call filtering using BPF
        s390/sclp_sdias: Add missing break and "fall through"
        s390/mm: remove MAX_PHYSADDR_BITS define
      ddf343f6
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 930a93a5
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Radeon and intel fixes mostly, one fix to the mgag200 driver to not
        hang on certain server variants."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (32 commits)
        drm/radeon: fix typo in function header comment
        drm/radeon/kms: implement timestamp userspace query (v2)
        drm/radeon/kms: add MSAA texture support for r600-evergreen
        drm/radeon/kms: reorder code in r600_check_texture_resource
        drm/radeon: fence virtual address and free it once idle v4
        drm/radeon: fix some missing parens in asic macros
        drm/radeon: add some new SI pci ids
        drm/radeon: fix ordering in pll picking on dce4+
        drm/radeon: do not reenable crtc after moving vram start address
        drm/radeon: fix bank tiling parameters on cayman
        drm/radeon: fix bank tiling parameters on evergreen
        drm/radeon: fix bank tiling parameters on SI
        drm/radeon: properly handle crtc powergating
        drm/radeon: properly handle SS overrides on TN (v2)
        drm/radeon/dce4+: set a more reasonable cursor watermark
        drm/radeon: fix handling for ddc type 5 on combios
        drm/mgag200: fix G200ER pll picking algorithm
        drm/edid: Fix potential memory leak in edid_load()
        drm/udl: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(.. [1]
        drm/radeon/kms: allow "invalid" DB formats as a means to disable DB
        ...
      930a93a5
    • Arnd Bergmann's avatar
      GPIO: gpio-pxa: fix building without CONFIG_OF · f43e04ec
      Arnd Bergmann authored
      Commit 72121572
      
       ("GPIO: gpio-pxa: fix devicetree functions") added an
      "xlate" function pointer to the irq_domain_ops, but this function is nor
      declared or defined anywhere when CONFIG_OF is disabled, causing the
      build error:
      
        drivers/gpio/gpio-pxa.c:532:11: error: 'irq_domain_xlate_twocell' undeclared here (not in a function)
      
      Extending the DT-only code section to cover the irq_domain_ops and the
      pxa_gpio_dt_ids solves this problem and makes it clearer which code is
      actually used without DT.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f43e04ec
    • Maxim Levitsky's avatar
      drm/nv86/fifo: suspend fix · 2064db72
      Maxim Levitsky authored
      
      
      This fix is a backport from the reworked nouveau driver.  It masks off the
      engines we're not expecting to use before attempting a channel kickoff.
      
      Signed-off-by: default avatarMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      2064db72
    • Henrik Rydberg's avatar
      drm/nouveau: disable copy engine on NVAF · fe0aac12
      Henrik Rydberg authored
      
      
      The copy engine exhibits random memory corruption in at least one case, the
      GeForce 320M (nv50, 0xaf) in the MacBookAir3,1.
      
      This patch omits creating the engine for the specific chipset, falling back
      to M2MF, which kills the symptoms.
      
      Signed-off-by: default avatarHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      fe0aac12
    • Maarten Lankhorst's avatar
      nouveau: fixup scanout enable in nvc0_pm · 44b9f44e
      Maarten Lankhorst authored
      
      
      Fixes screen being black after changing performance level.
      
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: stable@vger.kernel.org [3.5+]
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      44b9f44e
    • Ben Skeggs's avatar
      drm/nouveau/aux: mask off higher bits of auxch index in i2c table entry · 3d7a1da2
      Ben Skeggs authored
      
      
      At least partially fixes DP output detection on W530.  Not sure if more
      issues remain, or if my adaptor is just behaving weirdly (it does that
      sometimes).
      
      In any case, this patch is necessary.
      
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      3d7a1da2
    • Christoph Bumiller's avatar
      af5e7d84
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.6' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 7bac6b46
      Dave Airlie authored
      Alex Deucher writes:
      This is the current set of radeon fixes for 3.6.  Nothing too major.
      
      Highlights:
      - various display fixes
      - some SI fixes
      - new SI pci ids
      - major VM fix
      - CS checker support for MSAA
      
      I've tested on a number of cards across generations and noticed no problems.
      
      * 'drm-fixes-3.6' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon: fix typo in function header comment
        drm/radeon/kms: implement timestamp userspace query (v2)
        drm/radeon/kms: add MSAA texture support for r600-evergreen
        drm/radeon/kms: reorder code in r600_check_texture_resource
        drm/radeon: fence virtual address and free it once idle v4
        drm/radeon: fix some missing parens in asic macros
        drm/radeon: add some new SI pci ids
        drm/radeon: fix ordering in pll picking on dce4+
        drm/radeon: do not reenable crtc after moving vram start address
        drm/radeon: fix bank tiling parameters on cayman
        drm/radeon: fix bank tiling parameters on evergreen
        drm/radeon: fix bank tiling parameters on SI
        drm/radeon: properly handle crtc powergating
        drm/radeon: properly handle SS overrides on TN (v2)
        drm/radeon/dce4+: set a more reasonable cursor watermark
        drm/radeon: fix handling for ddc type 5 on combios
      7bac6b46
    • Jani Nikula's avatar
      drm/i915: ensure i2c adapter is all set before adding it · cee25168
      Jani Nikula authored
      
      
      i2c_add_adapter() may do i2c transfers on the bus to detect supported
      devices. Therefore the adapter needs to be all set before adding it. This
      was not the case for the bit-banging fallback, resulting in an oops if the
      device detection GMBUS transfers timed out. Fix the issue by calling
      i2c_add_adapter() only after intel_gpio_setup().
      
      LKML-Reference: <5021F00B.7000503@ionic.de>
      Tested-by: default avatarMihai Moldovan <ionic@ionic.de>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      cee25168
  6. Aug 13, 2012