05 Oct, 2011

9 commits

  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms: fix channel_remap setup (v2)
    drm/radeon: Set cursor x/y to 0 when x/yorigin > 0.
    drm/radeon: Update AVIVO cursor coordinate origin before x/yorigin calculation.
    drm/radeon: Simplify cursor x/yorigin calculation.
    drm/radeon/kms: fix cursor image off-by-one error
    drm/radeon/kms: Fix logic error in DP HPD handler
    drm/radeon/kms: add retry limits for native DP aux defer
    drm/radeon/kms: fix regression in DP aux defer handling

    Linus Torvalds
     
  • * 'spi/merge' of git://git.secretlab.ca/git/linux-2.6:
    spi-topcliff-pch: Fix overrun issue
    spi-topcliff-pch: Add recovery processing in case FIFO overrun error occurs
    spi-topcliff-pch: Fix CPU read complete condition issue
    spi-topcliff-pch: Fix SSN Control issue
    spi-topcliff-pch: add tx-memory clear after complete transmitting

    Linus Torvalds
     
  • Add the ability to disable PCI-E MPS turning and using the BIOS
    configured MPS defaults. Due to the number of issues recently
    discovered on some x86 chipsets, make this the default behavior.

    Also, add the option for peer to peer DMA MPS configuration. Peer to
    peer DMA is outside the scope of this patch, but MPS configuration could
    prevent it from working by having the MPS on one root port different
    than the MPS on another. To work around this, simply make the system
    wide MPS the smallest possible value (128B).

    Signed-off-by: Jon Mason
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • Most asics just use the hw default value which requires
    no explicit programming. For those that need a different
    value, the vbios will program it properly. As such,
    there's no need to program these registers explicitly
    in the driver. Changing MC_SHARED_CHREMAP requires a reload
    of all data in vram otherwise its contents will be scambled.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=40103

    v2: drop now unused channel_remap functions.

    Signed-off-by: Alex Deucher
    Reviewed-by: Michel Dänzer
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • We found that adding load, Rx data sometimes drops.(with DMA transfer mode)
    The cause is that before starting Rx-DMA processing, Tx-DMA processing starts.
    This causes FIFO overrun occurs.

    This patch fixes the issue by modifying FIFO tx-threshold and DMA descriptor
    size like below.

    Current this patch
    Rx-descriptor 4Byte+12Byte*341 --> 12Byte*340-4Byte-12Byte
    Rx-threshold (Not modified)
    Tx-descriptor 4Byte+12Byte*341 --> 16Byte-12Byte*340
    Rx-threshold 12Byte --> 2Byte

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Grant Likely

    Tomoya MORINAGA
     
  • Add recovery processing in case FIFO overrun error occurs with DMA transfer mode.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Grant Likely

    Tomoya MORINAGA
     
  • We found Rx data sometimes drops.(with non-DMA transfer mode)
    The cause is read complete condition is not true.

    This patch fixes the issue.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Grant Likely

    Tomoya MORINAGA
     
  • During processing 1 command/data series,
    SSN should keep LOW.
    However, currently, SSN becomes HIGH.
    This patch fixes the issue.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Grant Likely

    Tomoya MORINAGA
     
  • Currently, in case of reading date from SPI flash,
    command is sent twice.
    The cause is that tx-memory clear processing is missing .
    This patch adds the tx-momory clear processing.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Grant Likely

    Tomoya MORINAGA
     

04 Oct, 2011

10 commits

  • Commit 2a7fade7e03 ("hwmon: lis3: Power on corrections") caused a
    regression on HP laptops with 8bit chip. Writing CTRL2_BOOT_8B bit seems
    clearing the BIOS setup, and no proper interrupt for DriveGuard will be
    triggered any more.

    Since the init code there is basically only for embedded devices, put a
    pdata check so that the problematic initialization will be skipped for
    hp_accel stuff.

    Signed-off-by: Takashi Iwai
    Cc: Eric Piel
    Cc: Samu Onkalo
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     
  • * 'hwmon-for-linus' of git://github.com/groeck/linux:
    hwmon: (coretemp) Avoid leaving around dangling pointer
    hwmon: (coretemp) Fixup platform device ID change

    Linus Torvalds
     
  • Simon Kirby reported that on his RAID setup with idedisk underneath
    the box OOMs after a couple of days of runtime. Running with
    CONFIG_DEBUG_KMEMLEAK pointed to idedisk_prep_fn() which unconditionally
    allocates an ide_cmd struct. However, ide_requeue_and_plug() can be
    called more than once per request, either from the request issue or the
    IRQ handler path and do blk_peek_request() ends up in idedisk_prep_fn()
    repeatedly, allocating a struct ide_cmd everytime and "forgetting" the
    previous pointer.

    Make sure the code reuses the old allocated chunk.

    Reported-and-tested-by: Simon Kirby
    Cc: [ 39.x, 3.0.x ]
    Link: http://marc.info/?l=linux-kernel&m=131667641517919
    Link: http://lkml.kernel.org/r/20110922072643.GA27232@hostway.ca
    Signed-off-by: Borislav Petkov
    Signed-off-by: David S. Miller

    Borislav Petkov
     
  • Apart from the obvious cleanup, this should make the line

    cursor_end = x - xorigin + w;

    correct now.

    Signed-off-by: Michel Dänzer
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Michel Dänzer
     
  • Fixes cursor disappearing prematurely when moving off a top/left edge which
    is not located at the desktop top/left edge.

    Signed-off-by: Michel Dänzer
    Cc: stable@kernel.org
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Michel Dänzer
     
  • Signed-off-by: Michel Dänzer
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Michel Dänzer
     
  • The mouse cursor hotspot calculation when the cursor is partially off the
    top or left side of the screen was off by one.

    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41158

    Signed-off-by: Nicholas Miell
    Reviewed-by: Michel Dänzer
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Nicholas Miell
     
  • Only disable the pipe if the monitor is physically
    disconnected. The previous logic also disabled the
    pipe if the link was trained.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=41248

    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • The previous code could potentially loop forever. Limit
    the number of DP aux defer retries to 4 for native aux
    transactions, same as i2c over aux transactions.

    Noticed by: Brad Campbell

    Signed-off-by: Alex Deucher
    Cc: Brad Campbell
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • An incorrect ordering in the error checking code lead
    to DP aux defer being skipped in the aux native write
    path. Move the bytes transferred check (ret == 0)
    below the defer check.

    Tracked down by: Brad Campbell

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=41121

    Signed-off-by: Alex Deucher
    Cc: Brad Campbell
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     

03 Oct, 2011

1 commit


30 Sep, 2011

3 commits


28 Sep, 2011

10 commits


27 Sep, 2011

5 commits

  • * 'hwmon-for-linus' of git://github.com/groeck/linux:
    hwmon: (coretemp) remove struct platform_data * parameter from create_core_data()
    hwmon: (coretemp) constify static data
    hwmon: (coretemp) don't use kernel assigned CPU number as platform device ID
    hwmon: (ds620) Fix handling of negative temperatures
    hwmon: (w83791d) rename prototype parameter from 'register' to 'reg'
    hwmon: (coretemp) Don't use threshold registers for tempX_max
    hwmon: (coretemp) Let the user force TjMax
    hwmon: (coretemp) Drop duplicate function get_pkg_tjmax

    Linus Torvalds
     
  • proper dma_unmapping and freeing of skb's has to be done in the rx
    cleanup for EDMA chipsets when the device is unloaded and this also
    seems to address the following warning which shows up occasionally when
    the device is unloaded

    Call Trace:
    [] warn_slowpath_common+0x72/0xa0
    [] ? dma_debug_device_change+0x19c/0x200
    [] ? dma_debug_device_change+0x19c/0x200
    [] warn_slowpath_fmt+0x33/0x40
    [] dma_debug_device_change+0x19c/0x200
    [] notifier_call_chain+0x82/0xb0
    [] __blocking_notifier_call_chain+0x60/0x90
    [] blocking_notifier_call_chain+0x1f/0x30
    [] __device_release_driver+0xa4/0xc0
    [] driver_detach+0x97/0xa0
    [] bus_remove_driver+0x6c/0xe0
    [] ? sysfs_addrm_finish+0x4b/0x60
    [] driver_unregister+0x49/0x80
    [] ? sysfs_remove_file+0x14/0x20
    [] pci_unregister_driver+0x32/0x80
    [] ath_pci_exit+0x12/0x20 [ath9k]
    [] ath9k_exit+0x17/0x36 [ath9k]
    [] ? mutex_unlock+0xd/0x10
    [] sys_delete_module+0x13f/0x200
    [] ? sys_munmap+0x4b/0x60
    [] ? restore_all+0xf/0xf
    [] ? spurious_fault+0xe0/0xe0
    [] ? trace_hardirqs_on_caller+0xf4/0x180
    [] sysenter_do_call+0x12/0x38
    ---[ end trace 16e1c1521c06bcf9 ]---
    Mapped at:
    [] debug_dma_map_page+0x48/0x120
    [] ath_rx_init+0x3f8/0x4b0 [ath9k]
    [] ath9k_init_device+0x4c4/0x7b0 [ath9k]
    [] ath_pci_probe+0x263/0x330 [ath9k]

    Signed-off-by: Mohammed Shafi Shajakhan
    Signed-off-by: John W. Linville

    Mohammed Shafi Shajakhan
     
  • Driver rtl8192cu assigns a new struct rtl_tcb_desc object, but fails to
    clear it.

    Signed-off-by: Larry Finger
    Cc: Stable [2.6.39+]
    Signed-off-by: John W. Linville

    Larry Finger
     
  • If iwl_scan_initiate() fails for any reason,
    priv->scan_request and priv->scan_vif are left
    dangling. This can lead to a crash later when
    iwl_bg_scan_completed() tries to run a pending
    scan request.

    In practice, this seems to be very rare due to
    the STATUS_SCANNING check earlier. That check,
    however, is wrong -- it should allow a scan to
    be queued when a reset/roc scan is going on.
    When a normal scan is already going on, a new
    one can't be issued by mac80211, so that code
    can be removed completely. I introduced this
    bug when adding off-channel support in commit
    266af4c745952e9bebf687dd68af58df553cb59d.

    Cc: stable@kernel.org [3.0]
    Reported-by: Peng Yan
    Signed-off-by: Johannes Berg
    Signed-off-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Commit b7ab83e (PM: Use spinlock instead of mutex in clock
    management functions) introduced a regression causing clocks_mutex
    to be acquired under a spinlock. This happens because
    pm_clk_suspend() and pm_clk_resume() call pm_clk_acquire() under
    pcd->lock, but pm_clk_acquire() executes clk_get() which causes
    clocks_mutex to be acquired. Similarly, __pm_clk_remove(),
    executed under pcd->lock, calls clk_put(), which also causes
    clocks_mutex to be acquired.

    To fix those problems make pm_clk_add() call pm_clk_acquire(), so
    that pm_clk_suspend() and pm_clk_resume() don't have to do that.
    Change pm_clk_remove() and pm_clk_destroy() to separate
    modifications of the pcd->clock_list list from the actual removal of
    PM clock entry objects done by __pm_clk_remove().

    Reported-and-tested-by: Guennadi Liakhovetski
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Russell King

    Rafael J. Wysocki
     

26 Sep, 2011

2 commits

  • Ensure that adapter interrupts are correctly processed when they are
    retrieved using TEST PENDING INTERRUPTION.

    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • Following reports on the list, it looks like the 3e-9xxx driver will leak dma
    mappings every time we get a transient queueing error back from the card.
    This is because it maps the sg list in the routine that sends the command, but
    doesn't unmap again in the transient failure path (even though the command is
    sent back to the block layer). Fix by unmapping before returning the status.

    Reported-by: Chris Boot
    Tested-by: Chris Boot
    Acked-by: Adam Radford
    Cc: stable@kernel.org
    Signed-off-by: James Bottomley

    James Bottomley