1. 17 6月, 2013 10 次提交
    • T
      OMAPDSS: Implement display (dis)connect support · a7e71e7f
      Tomi Valkeinen 提交于
      We currently have two steps in panel initialization and startup: probing
      and enabling. After the panel has been probed, it's ready and can be
      configured and later enabled.
      
      This model is not enough with more complex display pipelines, where we
      may have, for example, two panels, of which only one can be used at a
      time, connected to the same video output.
      
      To support that kind of scenarios, we need to add new step to the
      initialization: connect.
      
      This patch adds support for connecting and disconnecting panels. After
      probe, but before connect, no panel ops should be called. When the
      connect is called, a proper video pipeline is established, and the panel
      is ready for use. If some part in the video pipeline is already
      connected (by some other panel), the connect call fails.
      
      One key difference with the old style setup is that connect() handles
      also connecting to the overlay manager. This means that the omapfb (or
      omapdrm) no longer needs to figure out which overlay manager to use, but
      it can just call connect() on the panel, and the proper overlay manager
      is connected by omapdss.
      
      This also allows us to add back the support for dynamic switching
      between two exclusive panels. However, the current panel device model is
      not changed to support this, as the new device model is implemented in
      the following patches and the old model will be removed. The new device
      model supports dynamic switching.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      a7e71e7f
    • T
      OMAPDRM: fix overlay manager handling · 04b1fc02
      Tomi Valkeinen 提交于
      Currently omapdrm creates crtcs, which map directly to DSS overlay
      managers, only on demand at init time. This would make it difficult to
      manage connecting the display entities in the future, as the code cannot
      just search for a suitable overlay manager.
      
      We cannot fix this the sane way, which would be to create crtcs for each
      overlay manager, because we need an overlay for each crtc. With limited
      number of overlays, that's not possible.
      
      So the solution for now is to detach the overlay manager from the crtc.
      crtcs are still created on demand at init time, but all overlay managers
      are always initialized by the omapdss.
      
      This way we can create and connect whole display pipelines from the
      overlay manager to the display, regardless of which crtcs omapdrm would
      create.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      04b1fc02
    • T
      OMAPDSS: split overlay manager creation · 7f7cdbd6
      Tomi Valkeinen 提交于
      Split the function that creates overlay manager structs into two: one
      that creates just the structs, and one that creates the sysfs files for
      the manager.
      
      This will help us use the overlay manager structs with omapdrm in the
      following patches, while still leaving the sysfs files out.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      7f7cdbd6
    • T
      OMAPDSS: add helpers to get mgr or output from display · be8e8e1c
      Tomi Valkeinen 提交于
      Add two helper functions that can be used to find either the DSS output
      or the overlay manager that is connected to the given display.
      
      This hides how the output and the manager are actually connected, making
      it easier to change the connections in the future.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      be8e8e1c
    • T
      OMAPDSS: clean up dss_[ovl|mgr]_get_device() · e7243664
      Tomi Valkeinen 提交于
      Minor cleanup for the dss_[ovl|mgr]_get_device() functions to make them
      more readable.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      e7243664
    • T
      OMAPDSS: fix dss_get_ctx_loss_count for DT · 679852db
      Tomi Valkeinen 提交于
      When using DT, dss device does not have platform data. However,
      dss_get_ctx_loss_count() uses dss device's platform data to find the
      get_ctx_loss_count function pointer.
      
      To fix this, dss_get_ctx_loss_count() needs to be changed to get the
      platform data from the omapdss device, which is a "virtual" device and
      always has platform data.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      679852db
    • T
      OMAPDSS: add omap_dss_find_output_by_node() · 12ca755b
      Tomi Valkeinen 提交于
      Add a support function to find a DSS output by given DT node. This is
      used in later patches to link the panels to DSS outputs.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      12ca755b
    • T
      OMAPDSS: add omap_dss_find_output() · 805cc2d1
      Tomi Valkeinen 提交于
      Add a support function to find a DSS output by given name. This is used
      in later patches to link the panels to DSS outputs.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      805cc2d1
    • T
      OMAPDSS: only probe pdata if there's one · c6ca5b22
      Tomi Valkeinen 提交于
      omapdss output drivers always read the platform data. This crashes when
      there's no platform data when using DT.
      
      Add a check to read the platform data only if it exists.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c6ca5b22
    • T
      OMAPDSS: add pdata->default_display_name · 0a200126
      Tomi Valkeinen 提交于
      We can currently set the default display (i.e. the initial display) in
      the omapdss platform data by using a pointer to the default
      omap_dss_device. Internally omapdss uses the device's name to resolve
      the default display.
      
      As it's difficult to get the omap_dss_device pointer in the future,
      after we've changed the omapdss device model, this patch adds a new way
      to define the default display, by using the name of the display.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reviewed-by: NArchit Taneja <archit@ti.com>
      0a200126
  2. 09 6月, 2013 13 次提交
  3. 08 6月, 2013 14 次提交
    • L
      Merge tag 'trace-fixes-v3.10-rc3-v3' of... · 14d0ee05
      Linus Torvalds 提交于
      Merge tag 'trace-fixes-v3.10-rc3-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "This contains 4 fixes.
      
        The first two fix the case where full RCU debugging is enabled,
        enabling function tracing causes a live lock of the system.  This is
        due to the added debug checks in rcu_dereference_raw() that is used by
        the function tracer.  These checks are also traced by the function
        tracer as well as cause enough overhead to the function tracer to slow
        down the system enough that the time to finish an interrupt can take
        longer than when the next interrupt is triggered, causing a live lock
        from the timer interrupt.
      
        Talking this over with Paul McKenney, we came up with a fix that adds
        a new rcu_dereference_raw_notrace() that does not perform these added
        checks, and let the function tracer use that.
      
        The third commit fixes a failed compile when branch tracing is
        enabled, due to the conversion of the trace_test_buffer() selftest
        that the branch trace wasn't converted for.
      
        The forth patch fixes a bug caught by the RCU lockdep code where a
        rcu_read_lock() is performed when rcu is disabled (either going to or
        from idle, or user space).  This happened on the irqsoff tracer as it
        calls task_uid().  The fix here was to use current_uid() when possible
        that doesn't use rcu locking.  Which luckily, is always used when
        irqsoff calls this code."
      
      * tag 'trace-fixes-v3.10-rc3-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Use current_uid() for critical time tracing
        tracing: Fix bad parameter passed in branch selftest
        ftrace: Use the rcu _notrace variants for rcu_dereference_raw() and friends
        rcu: Add _notrace variation of rcu_dereference_raw() and hlist_for_each_entry_rcu()
      14d0ee05
    • R
      Revert "ACPI / scan: do not match drivers against objects having scan handlers" · ea7f6656
      Rafael J. Wysocki 提交于
      Commit 9f29ab11 ("ACPI / scan: do not match drivers against objects
      having scan handlers") introduced a boot regression on Tony's ia64 HP
      rx2600.  Tony says:
      
        "It panics with the message:
      
         Kernel panic - not syncing: Unable to find SBA IOMMU: Try a generic or DIG kernel
      
         [...] my problem comes from arch/ia64/hp/common/sba_iommu.c
         where the code in sba_init() says:
      
              acpi_bus_register_driver(&acpi_sba_ioc_driver);
              if (!ioc_list) {
      
         but because of this change we never managed to call ioc_init()
         so ioc_list doesn't get set up, and we die."
      
      Revert it to avoid this breakage and we'll fix the problem it attempted
      to address later.
      Reported-by: NTony Luck <tony.luck@gmail.com>
      Cc: 3.9+ <stable@vger.kernel.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ea7f6656
    • O
      Merge tag 'mxs-fixes-3.10' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes · 090878aa
      Olof Johansson 提交于
      From Shawn Guo, mxs fixes for 3.10:
      
      - Since the time we move to MULTI_IRQ_HANDLER, the 0x7f polling for no
        interrupt in icoll_handle_irq() becomes insane, because 0x7f is an
        valid interrupt number, the irq of gpio bank 0.  That unnecessary
        polling results in the driver not detecting when irq 0x7f is active
        which makes the machine effectively dead lock.  The fix removes the
        interrupt poll loop and allows usage of gpio0 interrupt without an
        infinite loop.
      
      * tag 'mxs-fixes-3.10' of git://git.linaro.org/people/shawnguo/linux-2.6:
        ARM: mxs: icoll: Fix interrupts gpio bank 0
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      090878aa
    • O
      Merge tag 'imx-fixes-3.10-2' of git://git.linaro.org/people/shawnguo/linux-2.6 into fixes · 3d0d8b91
      Olof Johansson 提交于
      From Shawn Guo, imx fixes for 3.10, take 2:
      
      - One device tree fix for all spi node to have per clock added.
        The clock is needed by spi driver to calculate bit rate divisor.
        The spi node in the current device trees either does not have the
        clock or is defined as dummy clock, in which case the driver probe
        will fail or spi will run at a wrong bit rate.
      
      - Two imx6q clock fixes, which correct axi_sels and ldb_di_sels.
      
      * tag 'imx-fixes-3.10-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
        ARM: imx: clk-imx6q: AXI clock select index is incorrect
        ARM: dts: imx: fix clocks for cspi
        ARM i.MX6q: fix for ldb_di_sels
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      3d0d8b91
    • D
      ARM: exynos: add debug_ll_io_init() call in exynos_init_io() · 9c1fcdcc
      Doug Anderson 提交于
      If the early MMU mapping of the UART happens to get booted out of the
      TLB between the start of paging_init() and when we finally re-add the
      UART at the very end of s3c_init_cpu(), we'll get a hang at bootup if
      we've got early_printk enabled.  Avoid this hang by calling
      debug_ll_io_init() early.
      
      Without this patch, you can reliably reproduce a hang when early
      printk is enabled by adding flush_tlb_all() at the start of
      exynos_init_io().  After this patch the hang goes away.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      Acked-by: NKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      9c1fcdcc
    • O
      Merge tag 'renesas-fixes-for-v3.10' of... · fb565ff7
      Olof Johansson 提交于
      Merge tag 'renesas-fixes-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      From Simon Horman, Renesas ARM based SoC fixes for v3.10:
      - Correction to USB OVC and PENC pin groupings on r8a7779 SoC.
        This avoids conflicts when the USB_OVCn pins are used by another function.
        This has been observed to be a problem in v3.10-rc1.
      - Update CMT clock rating for sh73a0 SoC to resolve boot failure
        on kzm9g-reference. This resolves a regression between v3.9 and v3.10-rc1.
      
      * tag 'renesas-fixes-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        ARM: shmobile: sh73a0: Update CMT clockevent rating to 80
        sh-pfc: r8a7779: Don't group USB OVC and PENC pins
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      fb565ff7
    • T
      ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined · 437d8ac5
      Tushar Behera 提交于
      Printing low-level debug messages make an assumption that the specified
      UART port has been preconfigured by the bootloader. Incorrectly
      specified UART port results in system getting stalled while printing the
      message "Uncompressing Linux... done, booting the kernel"
      This UART port number is specified through S3C_LOWLEVEL_UART_PORT. Since
      the UART port might different for different board, it is not possible to
      specify it correctly for every board that use a common defconfig file.
      
      Calling this print subroutine only when DEBUG_LL fixes the problem. By
      disabling DEBUG_LL in default config file, we would be able to boot
      multiple boards with different default UART ports.
      
      With this current approach, we miss the print "Uncompressing Linux...
      done, booting the kernel." when DEBUG_LL is not defined.
      Signed-off-by: NTushar Behera <tushar.behera@linaro.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      437d8ac5
    • L
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · e8193ce5
      Linus Torvalds 提交于
      Pull infiniband fixes from Roland Dreier:
       - qib RCU/lockdep fix
       - iser device removal fix, plus doc fixes
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB/qib: Fix lockdep splat in qib_alloc_lkey()
        MAINTAINERS: Add entry for iSCSI Extensions for RDMA (iSER) initiator
        IB/iser: Add Mellanox copyright
        IB/iser: Fix device removal flow
      e8193ce5
    • L
      Merge tag 'vfio-v3.10-rc5' of git://github.com/awilliam/linux-vfio · 5125ed5b
      Linus Torvalds 提交于
      Pull vfio fix from Alex Williamson:
       "fix rmmod crash"
      
      * tag 'vfio-v3.10-rc5' of git://github.com/awilliam/linux-vfio:
        vfio: fix crash on rmmod
      5125ed5b
    • L
      Merge tag 'ecryptfs-3.10-rc5-msync' of... · b8e9dbac
      Linus Torvalds 提交于
      Merge tag 'ecryptfs-3.10-rc5-msync' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fixes from Tyler Hicks:
       - Fixes how eCryptfs handles msync to sync both the upper and lower
         file
       - A couple of MAINTAINERS updates
      
      * tag 'ecryptfs-3.10-rc5-msync' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: Check return of filemap_write_and_wait during fsync
        Update eCryptFS maintainers
        ecryptfs: fixed msync to flush data
      b8e9dbac
    • L
      Merge branch 'for-3.10' of git://git.samba.org/sfrench/cifs-2.6 · e4327859
      Linus Torvalds 提交于
      Pull CIFS fix from Steve French:
       "Fix one byte buffer overrun with prefixpaths on cifs mounts which can
        cause a problem with mount depending on the string length"
      
      * 'for-3.10' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix off-by-one bug in build_unc_path_to_root
      e4327859
    • A
      dmatest: do not allow to interrupt ongoing tests · bcc567e3
      Andy Shevchenko 提交于
      When user interrupts ongoing transfers the dmatest may end up with console
      lockup, oops, or data mismatch. This patch prevents user to abort any ongoing
      test.
      
      Documentation is updated accordingly.
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reported-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      bcc567e3
    • L
      Merge tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 308f8813
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       - A pile of small regression fix patches for HD-audio VIA codecs
       - Quirks for HD-aduio and USB-audio devices
       - A trivial SIS7019 error path fix
      
      * tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio - Fix invalid volume resolution on Logitech HD webcam c270
        ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio iface
        ALSA: hda/via - Clean up duplicated codes
        ALSA: hda/via - Fix wrongly cleared pins after suspend on VT1802
        ALSA: hda - Add keep_eapd_on flag to generic parser
        ALSA: hda - Allow setting automute/automic hooks after parsing
        ALSA: hda/via - Disable broken dynamic power control
        ALSA: usb-audio: fix Roland/Cakewalk UM-3G support
        ALSA: hda - Add headset quirk for two Dell machines
        ALSA: hda - add dock support for Thinkpad T431s
        ALSA: sis7019: fix error return code in sis_chip_create()
      308f8813
    • L
      Merge tag 'pm+acpi-3.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3132aef2
      Linus Torvalds 提交于
      Pull power management and ACPI fixes from Rafael J Wysocki:
      
       - Fix for an ACPI PM regression causing Toshiba P870-303 to crash
         during boot from Rafael J Wysocki.
      
       - ACPI fix for an issue causing some drivers to attempt to bind to
         devices they shouldn't touch from Aaron Lu.
      
       - Fix for a recent cpufreq regression related to a possible race with
         CPU offline from Michael Wang.
      
       - ACPI cpufreq regression fix for an issue causing turbo frequencies to
         be underutilized in some cases from Ross Lagerwall.
      
       - cpufreq-cpu0 driver fix related to incorrect clock ACPI usage from
         Guennadi Liakhovetski.
      
       - HP WMI driver fix for an issue causing GPS initialization and
         poweroff failures on HP Elitebook 6930p from Lan Tianyu.
      
       - APEI (ACPI Platform Error Interface) fix for an issue in the error
         code path in ghes_probe() from Wei Yongjun.
      
       - New ACPI video driver blacklist entries for HP m4 and HP Pavilion g6
         from Alex Hung and Ash Willis.
      
      * tag 'pm+acpi-3.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PM: Do not execute _PS0 for devices without _PSC during initialization
        cpufreq: cpufreq-cpu0: use the exact frequency for clk_set_rate()
        cpufreq: protect 'policy->cpus' from offlining during __gov_queue_work()
        ACPI / scan: do not match drivers against objects having scan handlers
        ACPI / APEI: fix error return code in ghes_probe()
        acpi-cpufreq: set current frequency based on target P-State
        ACPI / video: ignore BIOS initial backlight value for HP Pavilion g6
        ACPI / video: ignore BIOS initial backlight value for HP m4
        x86 / platform / hp_wmi: Fix bluetooth_rfkill misuse in hp_wmi_rfkill_setup()
      3132aef2
  4. 07 6月, 2013 3 次提交