1. 09 Jan, 2014 12 commits
    • Rob Clark's avatar
      drm/msm: add mdp5/apq8x74 · 06c0dd96
      Rob Clark authored
      Add support for the new MDP5 display controller block.  The mapping
      between parts of the display controller and KMS is:
      
        plane   -> PIPE{RGBn,VIGn}             \
        crtc    -> LM (layer mixer)            |-> MDP "device"
        encoder -> INTF                        /
        connector -> HDMI/DSI/eDP/etc          --> other device(s)
      
      Unlike MDP4, it appears we can get by with a single encoder, rather
      than needing a different implementation for DTV, DSI, etc.  (Ie. the
      register interface is same, just different bases.)
      
      Also unlike MDP4, all the IRQs for other blocks (HDMI, DSI, etc) are
      routed through MDP.
      
      And finally, MDP5 has this "Shared Memory Pool" (called "SMP"), from
      which blocks need to be allocated to the active pipes based on fetch
      stride.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      06c0dd96
    • Rob Clark's avatar
      drm/msm: add hdmi support for apq8x74/mdp5 · dada25bd
      Rob Clark authored
      The HDMI block is basically the same between older SoC's with mdp4
      display controller, and newer ones with mdp5.
      
      So mostly this consists of better abstracting out the different sets of
      regulators, clks, etc.  In particular, for regulators and clks we can
      split it up by what is needed for hot plug detect to work, and what is
      needed to light up the display.
      
      Also, 8x74 has a new phy.. a very simple one, but split out into a
      different mmio space.  And with mdp5, the irq is shared with mdp, so we
      don't directly register our own irq handler.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      dada25bd
    • Rob Clark's avatar
      drm/msm: move irq utils to mdp_kms · 9e0efa63
      Rob Clark authored
      We'll want basically the same thing for mdp5, so refactor it out so it
      can be shared.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      9e0efa63
    • Rob Clark's avatar
      drm/msm: split out msm_kms.h · dd2da6e3
      Rob Clark authored
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      dd2da6e3
    • Rob Clark's avatar
      drm/msm: mdp4_format -> mdp_format · 10a02eb6
      Rob Clark authored
      This can be shared between mdp4 and mdp5.  Both use the same set of
      parameters to describe the format to the hw.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      10a02eb6
    • Rob Clark's avatar
      drm/msm: resync generated headers · facb4f4e
      Rob Clark authored
      resync to latest envytools db, add mdp5 registers
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      facb4f4e
    • Rob Clark's avatar
      drm/msm: move mdp4 -> mdp/mdp4 · 2e54a92f
      Rob Clark authored
      There are some little bits and pieces that mdp4 and mdp5 can share, so
      move things around so that we can have both in a common parent
      directory.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      2e54a92f
    • Rob Clark's avatar
      drm/msm: add support for msm8060ab/bstem · e529c7e6
      Rob Clark authored
      This adds the necessary configuration for the APQ8060A SoC (dual-core
      krait + a320 gpu) as found on the bstem board.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      e529c7e6
    • Rob Clark's avatar
      drm/msm: add support for non-IOMMU systems · 871d812a
      Rob Clark authored
      Add a VRAM carveout that is used for systems which do not have an IOMMU.
      
      The VRAM carveout uses CMA.  The arch code must setup a CMA pool for the
      device (preferrably in highmem.. a 256m-512m VRAM pool in lowmem is not
      cool).  The user can configure the VRAM pool size using msm.vram module
      param.
      
      Technically, the abstraction of IOMMU behind msm_mmu is not strictly
      needed, but it simplifies the GEM code a bit, and will be useful later
      when I add support for a2xx devices with GPUMMU, so I decided to keep
      this part.
      
      It appears to be possible to configure the GPU to restrict access to
      addresses within the VRAM pool, but this is not done yet.  So for now
      the GPU will refuse to load if there is no sort of mmu.  Once address
      based limits are supported and tested to confirm that we aren't giving
      the GPU access to arbitrary memory, this restriction can be lifted
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      871d812a
    • Rob Clark's avatar
      drm/msm: fix bus scaling · bf2b33af
      Rob Clark authored
      This got a bit broken with original patches when re-arranging things to
      move dependencies on mach-msm inside #ifndef OF.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      bf2b33af
    • Rob Clark's avatar
      drm/msm: add missing MODULE_FIRMWARE()s · 3b57f23b
      Rob Clark authored
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      3b57f23b
    • Rob Clark's avatar
      drm/msm: COMPILE_TEST support · 3083894f
      Rob Clark authored
      With a simple stub, we can get COMPILE_TEST support.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      3083894f
  2. 23 Dec, 2013 3 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2013-12-13' of... · 859ae233
      Dave Airlie authored
      Merge tag 'drm-intel-next-2013-12-13' of git://people.freedesktop.org/~danvet/drm-intel into drm-next
      
      - fbc1 improvements from Ville (pre-gm45).
      - vlv forcewake improvements from Deepak S.
      - Some corner-cases fixes from Mika for the context hang stat code.
      - pc8 improvements and prep work for runtime D3 from Paulo, almost ready for
        primetime.
      - gen2 dpll fixes from Ville.
      - DSI improvements from Shobhit Kumar.
      - A few smaller fixes and improvements all over.
      
      [airlied: intel_ddi.c conflict fixed up]
      
      * tag 'drm-intel-next-2013-12-13' of git://people.freedesktop.org/~danvet/drm-intel: (61 commits)
        drm/i915/bdw: Implement ff workarounds
        drm/i915/bdw: Force all Data Cache Data Port access to be Non-Coherent
        drm/i915/bdw: Don't use forcewake needlessly
        drm/i915: Clear out old GT FIFO errors in intel_uncore_early_sanitize()
        drm/i915: dont call irq_put when irq test is on
        drm/i915: Rework the FBC interval/stall stuff a bit
        drm/i915: Enable FBC for all mobile gen2 and gen3 platforms
        drm/i915: FBC_CONTROL2 is gen4 only
        drm/i915: Gen2 FBC1 CFB pitch wants 32B units
        drm/i915: split intel_ddi_pll_mode_set in 2 pieces
        drm/i915: Fix timeout with missed interrupts in __wait_seqno
        drm/i915: touch VGA MSR after we enable the power well
        drm/i915: extract hsw_power_well_post_{enable, disable}
        drm/i915: remove i915_disable_vga_mem declaration
        drm/i915: Parametrize the dphy and other spec specific parameters
        drm/i915: Remove redundant DSI PLL enabling
        drm/i915: Reorganize the DSI enable/disable sequence
        drm/i915: Try harder to get best m, n, p values with minimal error
        drm/i915: Compute dsi_clk from pixel clock
        drm/i915: Use FLISDSI interface for band gap reset
        ...
      
      Conflicts:
      	drivers/gpu/drm/i915/intel_ddi.c
      859ae233
    • Dave Airlie's avatar
      Merge tag 'drm/for-3.14-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 785e15ec
      Dave Airlie authored
      drm/tegra: Changes for v3.14-rc1
      
      This series of changes brings DRM panel support as well as initial code
      to register DSI hosts and peripherals and bind them to DSI drivers. The
      panel and DSI code are both used by the simple panel driver.
      
      The Tegra-specific changes build on top of this work to add support for
      various panels found on Tegra boards. New drivers enable the DSI host
      found on Tegra114 and a special hardware block that calibrates the pads
      used for DSI and CSI. The host1x and the display controller drivers gain
      basic Tegra124 support. To round of the new features, the DRM driver now
      sports a very simple PRIME implementation.
      
      In addition there are various improvements such as the host1x API being
      exported so that client drivers (like the Tegra DRM driver) can be built
      as modules. HDMI now does better power management and legacy FBDEV can
      now be disabled via Kconfig (though it's still enabled by default). A
      few sparse warnings have been squashed and various parts of the code
      have become more robust.
      
      * tag 'drm/for-3.14-rc1' of git://anongit.freedesktop.org/tegra/linux: (121 commits)
        drm/tegra: fix compile w/ CONFIG_DYNAMIC_DEBUG
        drm/tegra: Add PRIME support
        drm/tegra: Relocate some output-specific code
        drm/tegra: Add Tegra124 DC support
        drm/tegra: Fix small leak on error in tegra_fb_alloc()
        drm/tegra: Make legacy fbdev support optional
        drm/tegra: Sort reverse-dependencies alphabetically
        drm/tegra: Fix return value check
        drm/tegra: Add DSI support
        drm/tegra: Disable outputs for power-saving
        drm/tegra: Track HDMI enable state
        drm/tegra: Fix HDMI audio frequency typo
        drm/tegra: Do not export tegra_bo_ops
        drm/tegra: Remove spurious blank line
        drm/tegra: Increase compile test coverage
        drm/tegra: Allow the driver to be built as a module
        gpu: host1x: Add Tegra124 support
        gpu: host1x: clk_round_rate() can return a zero upon error
        gpu: host1x: Fix build warnings
        gpu: host1x: Increase compile test coverage
        ...
      785e15ec
    • Dave Airlie's avatar
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next · e6c3dcde
      Dave Airlie authored
      rcar misc changes.
      
      * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev:
        drm/rcar-du: Add support for the r8a7791 DU
        drm/rcar-du: Add LVDS_LANES quirk
        drm/rcar-du: Split features and quirks
        drm/rcar-du: Update plane pitch in .mode_set_base() operation
        drm/rcar-du: Don't cast crtc to rcrtc twice in the same function
        drm/rcar-du: fix return value check in rcar_du_lvdsenc_get_resources()
      e6c3dcde
  3. 20 Dec, 2013 9 commits
  4. 19 Dec, 2013 15 commits
  5. 18 Dec, 2013 1 commit