09 Jun, 2012

3 commits

  • This reverts commit 9e612a008fa7fe493a473454def56aa321479495.

    It incorrectly finds VGA connectors where none are attached, apparently
    not noticing that nothing replied to the EDID queries, and happily using
    the default EDID modes that have nothing to do with actual hardware.

    That in turn then causes X to fall down to the lowest common
    denominator, which is usually the default 1024x768 mode that is in the
    default EDID and pretty much anything supports).

    I'd suggest that if not relying on the HDP pin, the code should at least
    check whether it gets valid EDID data back, rather than just assume
    there's something on the VGA connector.

    Cc: Dave Airlie
    Cc: Chris Wilson
    Cc: Daniel Vetter
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull UBI/UBIFS fixes from Artem Bityutskiy:
    "Fix UBI and UBIFS - they refuse to work without debugfs. This was
    broken by the 3.5-rc1 UBI/UBIFS changes when we removed the debugging
    Kconfig switches.

    Also, correct locking in 'ubi_wl_flush()' - it was extended to support
    flushing a specific LEB in 3.5-rc1, and the locking was sub-optimal."

    * tag 'upstream-3.5-rc2' of git://git.infradead.org/linux-ubifs:
    UBI: correct ubi_wl_flush locking
    UBIFS: fix debugfs-less systems support
    UBI: fix debugfs-less systems support

    Linus Torvalds
     
  • Pull drm intel and exynos fixes from Dave Airlie:
    "A bunch of fixes for Intel and exynos, nothing too major, a new intel
    PCI ID, and a fix for CRT detection."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/i915: pch_irq_handler -> {ibx, cpt}_irq_handler
    char/agp: add another Ironlake host bridge
    drm/i915: fix up ivb plane 3 pageflips
    drm/exynos: fixed blending for hdmi graphic layer
    drm/exynos: Remove dummy encoder get_crtc operation implementation
    drm/exynos: Keep a reference to frame buffer GEM objects
    drm/exynos: Don't cast GEM object to Exynos GEM object when not needed
    drm/exynos: DRIVER_BUS_PLATFORM is not a driver feature
    drm/exynos: fixed size type.
    drm/exynos: Use DRM_FORMAT_{NV12, YUV420} instead of DRM_FORMAT_{NV12M, YUV420M}
    drm/i915: hold forcewake around ring hw init
    drm/i915: Mark the ringbuffers as being in the GTT domain
    drm/i915/crt: Do not rely upon the HPD presence pin
    drm/i915: Reset last_retired_head when resetting ring

    Linus Torvalds
     

08 Jun, 2012

3 commits


07 Jun, 2012

10 commits

  • Commit "62f38455 UBI: modify ubi_wl_flush function to clear work queue for a lnum"
    takes the 'work_sem' semaphore in write mode for the entire loop, which is not
    very good because it will block other workers for potentially long time. We do
    not need to have it in write mode - read mode is enough, and we do not need to
    hole it over the entire loop. So this patch turns changes the locking: takes
    'work_sem' in read mode and pushes it down to the loop.

    Signed-off-by: Artem Bityutskiy

    Artem Bityutskiy
     
  • Commit "aa44d1d UBI: remove Kconfig debugging option" broke UBI and it
    refuses to initialize if debugfs (CONFIG_DEBUG_FS) is disabled. I incorrectly
    assumed that debugfs files creation function will return success if debugfs
    is disabled, but they actually return -ENODEV. This patch fixes the issue.

    Reported-by: Paul Parsons
    Signed-off-by: Artem Bityutskiy
    Tested-by: Paul Parsons

    Artem Bityutskiy
     
  • Cougar/Panther Point redefine the bits in SDEIIR pretty completely.
    This function is just debugging, but if we're debugging we probably want
    to be told accurate things instead of lies.

    I'm told Lynx Point changes this yet more, but I have no idea how...

    Note from Eugeni's review:

    "For the record and for future enabling efforts, for LPT, bits 28-31
    and 1-14 are gone since CPT/PPT (e.g., those must be zero). And there
    is the bit 15 as a new addition, but we are not using it yet and
    probably won't be using in foreseeable future."

    Signed-off-by: Adam Jackson
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35103
    Reviewed-by: Eugeni Dodonov
    Signed-off-by: Daniel Vetter

    Adam Jackson
     
  • Pull ACPI and Power Management changes from Len Brown.

    This does an evil merge to fix up what I think is a mismerge by Len to
    the gma500 driver, and restore it to the mainline state.

    In that driver, both branches had commented out the call to
    acpi_video_register(), and Len resolved the merge to that commented-out
    version.

    However, in mainline, further changes by Alan (commit d839ede47a56:
    "gma500: opregion and ACPI" to be exact) had re-enabled the ACPI video
    registration, so the current state of the driver seems to want it.

    Alan is apparently still feeling the effects of partying with the Queen,
    so he didn't reply to my query, but I'll do the evil merge anyway.

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    ACPI: fix acpi_bus.h build warnings when ACPI is not enabled
    drivers: acpi: Fix dependency for ACPI_HOTPLUG_CPU
    tools/power turbostat: fix IVB support
    tools/power turbostat: fix un-intended affinity of forked program
    ACPI video: use after input_unregister_device()
    gma500: don't register the ACPI video bus
    acpi_video: Intel video is not always i915
    acpi_video: fix leaking PCI references
    ACPI: Ignore invalid _PSS entries, but use valid ones
    ACPI battery: only refresh the sysfs files when pertinent information changes

    Linus Torvalds
     
  • Pull InfiniBand/RDMA fixes from Roland Dreier:
    "All in hardware drivers:
    - Fix crash in cxgb4
    - Fixes to new ocrdma driver
    - Regression fixes for mlx4"

    * tag 'rdma-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/mlx4: Fix max_wqe capacity reported from query device
    mlx4_core: Fix setting VL_cap in mlx4_SET_PORT wrapper flow
    IB/mlx4: Fix EQ deallocation in legacy mode
    RDMA/cxgb4: Fix crash when peer address is 0.0.0.0
    RDMA/ocrdma: Remove unnecessary version.h includes
    RDMA/ocrdma: Fix signaled event for SRQ_LIMIT_REACHED
    RDMA/ocrdma: Correct queue free count math

    Linus Torvalds
     
  • Roland Dreier
     
  • 1. Limit the max number of WQEs per QP reported when querying the
    device, so that ib_create_qp() will not fail for a QP size that the
    device claimed to support due to additional headroom WQEs being
    allocated.

    2. Limit qp resources accepted for ib_create_qp() to the limits
    reported in ib_query_device(). In kernel space, make sure that the
    limits returned to the caller following qp creation also lie within
    the reported device limits. For userspace, report as before, and do
    adjustment in libmlx4 (so as not to break ABI).

    Signed-off-by: Jack Morgenstein
    Signed-off-by: Sagi Grimberg
    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Sagi Grimberg
     
  • Commit 096335b3f983 ("mlx4_core: Allow dynamic MTU configuration for
    IB ports") modifies the port VL setting. This exposes a bug in
    mlx4_common_set_port(), where the VL cap value passed in (inside the
    command mailbox) is incorrectly zeroed-out:

    mlx4_SET_PORT modifies the VL_cap field (byte 3 of the mailbox).
    Since the SET_PORT command is paravirtualized on the master as well as
    on the slaves, mlx4_SET_PORT_wrapper() is invoked on the master. This
    calls mlx4_common_set_port() where mailbox byte 3 gets overwritten by
    code which should only set a single bit in that byte (for the reset
    qkey counter flag) -- but instead overwrites the entire byte.

    The result is that when running in SR-IOV mode, the VL_cap will be set
    to zero -- fix this.

    Signed-off-by: Jack Morgenstein
    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Jack Morgenstein
     
  • Pull two md fixes from NeilBrown:
    "One sparse-warning fix, one bugfix for 3.4-stable"

    * tag 'md-3.5-fixes' of git://neil.brown.name/md:
    md: raid1/raid10: fix problem with merge_bvec_fn
    lib/raid6: fix sparse warnings in recovery functions

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:
    "Two patches are in here which fix AMD IOMMU specific issues. One
    patch fixes a long-standing warning on resume because the
    amd_iommu_resume function enabled interrupts. The other patch fixes a
    deadlock in an error-path of the page-fault request handling code of
    the IOMMU driver.

    * tag 'iommu-fixes-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: Fix deadlock in ppr-handling error path
    iommu/amd: Cache pdev pointer to root-bridge

    Linus Torvalds
     

06 Jun, 2012

4 commits

  • This seems to come on Gigabyte H55M-S2V and was discovered through the
    https://bugs.freedesktop.org/show_bug.cgi?id=50381 debugging.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50381
    Signed-off-by: Eugeni Dodonov
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Eugeni Dodonov
     
  • Or at least plug another gapping hole. Apparrently hw desingers only
    moved the bit field, but did not bother ot re-enumerate the planes
    when adding support for a 3rd pipe.

    Discovered by i-g-t/flip_test.

    This may or may not fix the reference bugzilla, because that one
    smells like we have still larger fish to fry.

    v2: Fixup the impossible case to catch programming errors, noticed by
    Chris Wilson.

    References: https://bugs.freedesktop.org/show_bug.cgi?id=50069
    Acked-by: Chris Wilson
    Tested-by: Eugeni Dodonov
    Eugeni Dodonov
    Cc: stable@vger.kernel.org
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • Pull two scsi target fixes from Nicholas Bellinger:
    "The first is a small name-space collision fix from Stefan for the new
    sbp-target / ieee-1394 code, and second is the FILEIO backend
    conversion patch to always use O_DSYNC by default instead of O_SYNC as
    recommended by hch. Note the latter is CC'ed stable."

    * '3.5-merge-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target/file: Use O_DSYNC by default for FILEIO backends
    sbp-target: rename a variable to avoid name clash

    Linus Torvalds
     
  • Pull embedded i2c update from Wolfram Sang:
    "This only contains one new driver which had multiple dependencies
    (pinctrl, i2c-mux-rework, new devm_* functions), so I decided to wait
    for rc1. Plus, it had to wait a little for the ack of a devicetree
    maintainer since the bindings were not trivial enough for me to pass
    through.

    So, given that, I hope there is still something like the "new driver
    rule", so we could have the driver in 3.5 and people can start using
    it. That would make merging support for some boards easier for 3.6
    since the dependency on this driver is gone then."

    * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
    i2c: Add generic I2C multiplexer using pinctrl API

    Linus Torvalds
     

05 Jun, 2012

16 commits

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

    Alex Deucher
     
  • Locking mutex in different orders just screams for
    deadlocks, and some testing showed that it is actually
    quite easy to trigger them.

    Signed-off-by: Christian König
    Reviewed-by: Jerome Glisse
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Christian König
     
  • - Properly set up the RBs
    - Properly set up the SPI
    - Properly set up gb_addr_config

    This should fix rendering issues on certain cards.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Many TVs and A/V receivers don't work with this bit set. Problem was
    confirmed using: Onkyo TX-SR605, Sony BRAVIA KDL-52X3500, Sony BRAVIA
    KDL-40S40xx. In theory this bit shouldn't affect audio engine when
    feeding it with data, however it seems it does. Driver fglrx doesn't set
    that bit in any of the above cases.
    This fixes a regression introduced by 3.5-rc1.

    Signed-off-by: Rafał Miłecki
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Rafał Miłecki
     
  • This is based on info released by AMD, should allow using audio in much
    more cases.

    Signed-off-by: Rafał Miłecki
    Reviewed-by: Alex Deucher
    Cc:
    Signed-off-by: Dave Airlie

    Rafał Miłecki
     
  • Call it in the asic startup callback on all asics.
    Previously r600 and rv770 called it in the startup
    and resume callbacks while all the other asics called
    it in the startup callback.

    Signed-off-by: Alex Deucher
    Reviewed-by: Rafał Miłecki
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Blending for graphic layer 0 of hdmi mixer was not set so video
    layer cannot be showed if graphic layer 0 is enabled.
    This patch fixes blending values to support blending between
    graphic layer 0 and video layer.

    Signed-off-by: Seung-Woo Kim
    Signed-off-by: Kyungmin Park
    Signed-off-by: Inki Dae

    Seung-Woo Kim
     
  • The encoder get_crtc operation is called to retrieve a pointer to the
    CRTC the encoder is currenctly connected to, right after setting the
    encoder::crtc field to the new CRTC. The implementation of this
    operation returns the pointer to the new CRTC, which is then pointlessly
    compared to itself.

    As the operation is not mandatory, don't implement it.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Laurent Pinchart
     
  • GEM objects used by frame buffers must be referenced for the whole life
    of the frame buffer. Release the references in the frame buffer
    destructor instead of its constructor.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Laurent Pinchart
     
  • The exynos_drm_gem_dumb_map_offset() doesn't need to access any
    Exynos-specific GEM object fields, don't cast the GEM object.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Laurent Pinchart
     
  • DRIVER_BUS_PLATFORM is a bus type used internally in the DRM core, not a
    flag for the drm_driver::driver_features field.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Laurent Pinchart
     
  • The NV12M/YUV420M formats are identical to the already existing standard
    NV12/YUV420 formats. The M variants will be removed, so convert the
    driver to use the standard names.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Inki Dae
    Signed-off-by: Kyungmin Park

    Ville Syrjälä
     
  • Pull frontswap feature from Konrad Rzeszutek Wilk:
    "Frontswap provides a "transcendent memory" interface for swap pages.
    In some environments, dramatic performance savings may be obtained
    because swapped pages are saved in RAM (or a RAM-like device) instead
    of a swap disk. This tag provides the basic infrastructure along with
    some changes to the existing backends."

    Fix up trivial conflict in mm/Makefile due to removal of swap token code
    changing a line next to the new frontswap entry.

    This pull request came in before the merge window even opened, it got
    delayed to after the merge window by me just wanting to make sure it had
    actual users. Apparently IBM is using this on their embedded side, and
    Jan Beulich says that it's already made available for SLES and OpenSUSE
    users.

    Also acked by Rik van Riel, and Konrad points to other people liking it
    too. So in it goes.

    By Dan Magenheimer (4) and Konrad Rzeszutek Wilk (2)
    via Konrad Rzeszutek Wilk
    * tag 'stable/frontswap.v16-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/mm:
    frontswap: s/put_page/store/g s/get_page/load
    MAINTAINER: Add myself for the frontswap API
    mm: frontswap: config and doc files
    mm: frontswap: core frontswap functionality
    mm: frontswap: core swap subsystem hooks and headers
    mm: frontswap: add frontswap header file

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "The clocksource driver is pure hardware enablement and the skew option
    is default off, well tested and non dangerous."

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick: Move skew_tick option into the HIGH_RES_TIMER section
    clocksource: em_sti: Add DT support
    clocksource: em_sti: Emma Mobile STI driver
    clockevents: Make clockevents_config() a global symbol
    tick: Add tick skew boot option

    Linus Torvalds
     
  • Empirical evidence suggests that we need to: On at least one ivb
    machine when running the hangman i-g-t test, the rings don't properly
    initialize properly - the RING_START registers seems to be stuck at
    all zeros.

    Holding forcewake around this register init sequences makes chip reset
    reliable again. Note that this is not the first such issue:

    commit f01db988ef6f6c70a6cc36ee71e4a98a68901229
    Author: Sean Paul
    Date: Fri Mar 16 12:43:22 2012 -0400

    drm/i915: Add wait_for in init_ring_common

    added delay loops to make RING_START and RING_CTL initialization
    reliable on the blt ring at boot-up. So I guess it won't hurt if we do
    this unconditionally for all force_wake needing gpus.

    To avoid copy&pasting of the HAS_FORCE_WAKE check I've added a new
    intel_info bit for that.

    v2: Fixup missing commas in static struct and properly handling the
    error case in init_ring_common, both noticed by Jani Nikula.

    Cc: stable@vger.kernel.org
    Reported-and-tested-by: Yang Guang
    Reviewed-by: Eugeni Dodonov
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50522
    Signed-Off-by: Daniel Vetter

    Daniel Vetter
     
  • By correctly describing the rinbuffers as being in the GTT domain, it
    appears that we are more careful with the management of the CPU cache
    upon resume and so prevent some coherency issue when submitting commands
    to the GPU later. A secondary effect is that the debug logs are then
    consistent with the actual usage (i.e. they no longer describe the
    ringbuffers as being in the CPU write domain when we are accessing them
    through an wc iomapping.)

    Reported-and-tested-by: Daniel Gnoutcheff
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41092
    Signed-off-by: Chris Wilson
    Cc: stable@vger.kernel.org
    Signed-off-by: Daniel Vetter

    Chris Wilson
     

04 Jun, 2012

4 commits

  • This is useful for SoCs whose I2C module's signals can be routed to
    different sets of pins at run-time, using the pinctrl API.

    +-----+ +-----+
    | dev | | dev |
    +------------------------+ +-----+ +-----+
    | SoC | | |
    | /----|------+--------+
    | +---+ +------+ | child bus A, on first set of pins
    | |I2C|---|Pinmux| |
    | +---+ +------+ | child bus B, on second set of pins
    | \----|------+--------+--------+
    | | | | |
    +------------------------+ +-----+ +-----+ +-----+
    | dev | | dev | | dev |
    +-----+ +-----+ +-----+

    Signed-off-by: Stephen Warren
    Acked-by: Linus Walleij
    Acked-by: Rob Herring
    Signed-off-by: Wolfram Sang

    Stephen Warren
     
  • In the error path of the ppr_notifer it can happen that the
    iommu->lock is taken recursivly. This patch fixes the
    problem by releasing the iommu->lock before any notifier is
    invoked. This also requires to move the erratum workaround
    for the ppr-log (interrupt may be faster than data in the log)
    one function up.

    Cc: stable@vger.kernel.org # v3.3, v3.4
    Signed-off-by: Joerg Roedel

    Joerg Roedel
     
  • At some point pci_get_bus_and_slot started to enable
    interrupts. Since this function is used in the
    amd_iommu_resume path it will enable interrupts on resume
    which causes a warning. The fix will use a cached pointer
    to the root-bridge to re-enable the IOMMU in case the BIOS
    is broken.

    Cc: stable@vger.kernel.org
    Signed-off-by: Joerg Roedel

    Joerg Roedel
     
  • Commit e605b743f33d ("IB/mlx4: Increase the number of vectors (EQs)
    available for ULPs") didn't handle correctly the case where there
    aren't enough MSI-X vectors to increase the number of EQs, so only the
    legacy EQs are allocated. This results in an attempt to memset() to
    zero the EQ table which was never allocated and a kernel crash.

    Fix this by checking in the teardown flow if the table of EQs was ever
    allocated. Also remove some unneeded setting to zero of the EQ
    related fields in struct mlx4_ib_dev.

    Signed-off-by: Shlomo Pongratz
    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Shlomo Pongratz