1. 12 Nov, 2013 2 commits
    • Mika Kuoppala's avatar
      drm/i915: add i915_get_reset_stats_ioctl · b6359918
      Mika Kuoppala authored
      This ioctl returns reset stats for specified context.
      
      The struct returned contains context loss counters.
      
      reset_count:    all resets across all contexts
      batch_active:   active batches lost on resets
      batch_pending:  pending batches lost on resets
      
      v2: get rid of state tracking completely and deliver only counts. Idea
          from Chris Wilson.
      
      v3: fix commit message
      
      v4: default context handled inside i915_gem_context_get_hang_stats
      
      v5: reset_count only for priviledged process
      
      v6: ctx=0 needs CAP_SYS_ADMIN for batch_* counters (Chris Wilson)
      
      v7: context hang stats never returns NULL
      
      v8: rebased on top of reworked context hang stats
          DRM_RENDER_ALLOW for ioctl
      
      v9: use DEFAULT_CONTEXT_ID. Improve comments for ioctl struct members
      Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
      Cc: Ian Romanick <idr@freedesktop.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      b6359918
    • Mika Kuoppala's avatar
      drm/i915: add i915_reset_count · 2ac0f450
      Mika Kuoppala authored
      reset_counter will be incremented twice per successful
      reset. Odd values mean reset is in progress and even values
      mean that reset has completed.
      
      Reset status ioctl introduced in following commit
      needs to deliver global reset count to userspace so
      use reset_counter to derive the actual reset count
      for the gpu
      
      Note that reset in progress is enough to increment
      the counter.
      
      v2: wedged equals reset in progress (Daniel Vetter)
      
      v3: Fixed stale comments (Damien Lespiau)
      Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      2ac0f450
  2. 11 Nov, 2013 2 commits
  3. 08 Nov, 2013 2 commits
    • Ville Syrjälä's avatar
      drm/i915: Make AGP support optional · 00fe639a
      Ville Syrjälä authored
      We only depend on the intel-gtt module for GTT frobbign on older gens.
      The intel_agp module is optional, except for UMS and some old XvMC
      userland on gen3. So make AGP support optional. As before, we will
      fail the i915 init for UMS and gen3 KMS the same as before if
      intel_agp isn't around.
      
      intel-gtt.c is left with a somewhat ugly ifdef mess, but I'm going
      to save that for a later cleaning.
      
      At least my gen2 still works with the patch and CONFIG_AGP=n.
      
      v2: Make i915 depend on X86 and PCI, and intel-gtt depend on PCI
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      00fe639a
    • Chon Ming Lee's avatar
      drm/i915/vlv: Rename VLV DPIO register to be more structure to match configdb document. · ab3c759a
      Chon Ming Lee authored
      Some VLV PHY/PLL DPIO registers have group/lane/channel access.  Current
      DPIO register definition doesn't have a structure way to break them
      down. As a result it is not easy to match the PHY/PLL registers with the
      configdb document.  Rename those registers based on the configdb for easy
      cross references, and without the need to check the offset in the header
      file.
      
      New format is as following.
      
      <platform name>_<DPIO component><optional lane #>_DW<dword # in the
      doc>_<optional channel #>
      
      For example,
      
      VLV_PCS_DW0 - Group access to PCS for lane 0 to 3 for PCS DWORD 0.
      VLV_PCS01_DW0_CH0 - PCS access to lane 0/1, channel 0 for PCS DWORD 0.
      
      Another example is
      
      VLV_TX_DW0 - Group access to TX lane 0 to 3 for TX DWORD 0
      VLV_TX0_DW0 - Refer to TX Lane 0 access only for TX DWORD 0.
      
      There is no functional change on this patch.
      
      v2: Rebase based on previous patch change.
      v3: There may be configdb different version that document the start DW
      differently. Add a comment to clarify.  Fix up some mismatch start DW
      for second PLL block. (Ville)
      Suggested-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarChon Ming Lee <chon.ming.lee@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ab3c759a
  4. 07 Nov, 2013 8 commits
  5. 06 Nov, 2013 3 commits
  6. 05 Nov, 2013 5 commits
  7. 04 Nov, 2013 3 commits
    • Daniel Vetter's avatar
      drm/i915/ns2501: Rip out the reenable hack · c77ba21d
      Daniel Vetter authored
      With the change in the modeset sequence this shouldn't be required
      any more since the ->mode_set callback now gets called when the dvo
      port is fully up and running.
      
      Also limit the retry loop to 10 tries to avoid hanging the machine
      while holding important modeset locks.
      
      Cc: Thomas Richter <thor@math.tu-berlin.de>
      Tested-by: default avatarThomas Richter <thor@math.tu-berlin.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      c77ba21d
    • Daniel Vetter's avatar
      drm/i915/dvo: call ->mode_set callback only when the port is running · 48f34e10
      Daniel Vetter authored
      The ns2501 controller seems to need the dpll and dvo port to accept
      the timing update commands. Quick testing on my x30 here seems to
      indicate that other dvo controllers don't mind. So let's move the
      ->mode_set callback to a place where we have the port up and running
      already.
      Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Tested-by: default avatarThomas Richter <thor@math.tu-berlin.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      48f34e10
    • Daniel Vetter's avatar
      Merge tag 'v3.12' into drm-intel-next · 7f16e5c1
      Daniel Vetter authored
      I want to merge in the new Broadwell support as a late hw enabling
      pull request. But since the internal branch was based upon our
      drm-intel-nightly integration branch I need to resolve all the
      oustanding conflicts in drm/i915 with a backmerge to make the 60+
      patches apply properly.
      
      We'll propably have some fun because Linus will come up with a
      slightly different merge solution.
      
      Conflicts:
      	drivers/gpu/drm/i915/i915_dma.c
      	drivers/gpu/drm/i915/i915_drv.c
      	drivers/gpu/drm/i915/intel_crt.c
      	drivers/gpu/drm/i915/intel_ddi.c
      	drivers/gpu/drm/i915/intel_display.c
      	drivers/gpu/drm/i915/intel_dp.c
      	drivers/gpu/drm/i915/intel_drv.h
      
      All rather simple adjacent lines changed or partial backports from
      -next to -fixes, with the exception of the thaw code in i915_dma.c.
      That one needed a bit of shuffling to restore the intent.
      
      Oh and the massive header file reordering in intel_drv.h is a bit
      trouble. But not much.
      
      v2: Also don't forget the fixup for the silent conflict that results
      in compile fail ...
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      7f16e5c1
  8. 03 Nov, 2013 3 commits
  9. 02 Nov, 2013 2 commits
  10. 01 Nov, 2013 10 commits
    • Ming Lei's avatar
      scripts/kallsyms: filter symbols not in kernel address space · f6537f2f
      Ming Lei authored
      This patch uses CONFIG_PAGE_OFFSET to filter symbols which
      are not in kernel address space because these symbols are
      generally for generating code purpose and can't be run at
      kernel mode, so we needn't keep them in /proc/kallsyms.
      
      For example, on ARM there are some symbols which may be
      linked in relocatable code section, then perf can't parse
      symbols any more from /proc/kallsyms, this patch fixes the
      problem (introduced b9b32bf7)
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: stable@vger.kernel.org
      f6537f2f
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9581b7d2
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Two fixes:
      
         - Fix 'NMI handler took too long to run' false positives
      
           [ Genuine NMI overhead speedups will come for v3.13, this commit
             only fixes a measurement bug ]
      
         - Fix perf ring-buffer missed barrier causing (rare) ring-buffer data
           corruption on ppc64"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix NMI measurements
        perf: Fix perf ring buffer memory ordering
      9581b7d2
    • Linus Torvalds's avatar
      Merge tag 'usb-3.12-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9119e33e
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here is a set of patches that revert all of the changes done to the
        pl2303 USB serial driver in the 3.12-rc timeframe, as it turns out
        they break some devices that work just fine on 3.11.  As it's not a
        good idea to break working systems, drop them all and they will be
        reworked for future kernel versions such that there is no breakage.
      
        I've also included a MAINTAINERS update for the USB serial subsystem
        and a new device id for the ftdi_sio driver as well"
      
      * tag 'usb-3.12-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: serial: ftdi_sio: add id for Z3X Box device
        USB: Maintainers change for usb serial drivers
        Revert "USB: pl2303: restrict the divisor based baud rate encoding method to the "HX" chip type"
        Revert "usb: pl2303: fix+improve the divsor based baud rate encoding method"
        Revert "usb: pl2303: do not round to the next nearest standard baud rate for the divisor based baud rate encoding method"
        Revert "usb: pl2303: remove 500000 baud from the list of standard baud rates"
        Revert "usb: pl2303: move the two baud rate encoding methods to separate functions"
        Revert "usb: pl2303: increase the allowed baud rate range for the divisor based encoding method"
        Revert "usb: pl2303: also use the divisor based baud rate encoding method for baud rates < 115200 with HX chips"
        Revert "usb: pl2303: add two comments concerning the supported baud rates with HX chips"
        Revert "pl2303: simplify the else-if contruct for type_1 chips in pl2303_startup()"
        Revert "pl2303: improve the chip type information output on startup"
        Revert "pl2303: improve the chip type detection/distinction"
        Revert "USB: pl2303: distinguish between original and cloned HX chips"
      9119e33e
    • Linus Torvalds's avatar
      Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f9adfbfb
      Linus Torvalds authored
      Pull more sound fixes from Takashi Iwai:
       "The fixes for random bugs that have been reported lately in the game:
        a few fixes in ASoC dpam and wm_hubs bugs spotted by Coverity, a
        one-liner HD-audio fixup, and a fix for Oops with DPCM.
      
        They are not so critically urgent bugs, but all small and safe"
      
      * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
        ASoC: wm_hubs: Add missing break in hp_supply_event()
        ALSA: hda - Add a fixup for ASUS N76VZ
        ASoC: dapm: Return -ENOMEM in snd_soc_dapm_new_dai_widgets()
        ASoC: dapm: Fix source list debugfs outputs
      f9adfbfb
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux · 68e952d5
      Linus Torvalds authored
      Pull clock subsystem fixes from Mike Turquette.
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
        clk: fixup argument order when setting VCO parameters
        clk: socfpga: Fix incorrect sdmmc clock name
        clk: armada-370: fix tclk frequencies
        clk: nomadik: set all timers to use 2.4 MHz TIMCLK
      68e952d5
    • Greg Thelen's avatar
      memcg: remove incorrect underflow check · 6920a1bd
      Greg Thelen authored
      When a memcg is deleted mem_cgroup_reparent_charges() moves charged
      memory to the parent memcg.  As of v3.11-9444-g3ea67d06 "memcg: add per
      cgroup writeback pages accounting" there's bad pointer read.  The goal
      was to check for counter underflow.  The counter is a per cpu counter
      and there are two problems with the code:
      
       (1) per cpu access function isn't used, instead a naked pointer is used
           which easily causes oops.
       (2) the check doesn't sum all cpus
      
      Test:
        $ cd /sys/fs/cgroup/memory
        $ mkdir x
        $ echo 3 > /proc/sys/vm/drop_caches
        $ (echo $BASHPID >> x/tasks && exec cat) &
        [1] 7154
        $ grep ^mapped x/memory.stat
        mapped_file 53248
        $ echo 7154 > tasks
        $ rmdir x
        <OOPS>
      
      The fix is to remove the check.  It's currently dangerous and isn't
      worth fixing it to use something expensive, such as
      percpu_counter_sum(), for each reparented page.  __this_cpu_read() isn't
      enough to fix this because there's no guarantees of the current cpus
      count.  The only guarantees is that the sum of all per-cpu counter is >=
      nr_pages.
      
      Fixes: 3ea67d06 ("memcg: add per cgroup writeback pages accounting")
      Reported-and-tested-by: default avatarFlavio Leitner <fbl@redhat.com>
      Signed-off-by: default avatarGreg Thelen <gthelen@google.com>
      Reviewed-by: default avatarSha Zhengju <handai.szj@taobao.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6920a1bd
    • Paulo Zanoni's avatar
      drm/i915: avoid unclaimed registers when capturing the error state · 9d1cb914
      Paulo Zanoni authored
      Even though we only check for unclaimed registers while we're writing
      registers, if we read a bad register we'll still trigger a CPU error
      interrupt, and we'll print an "Unclaimed register" DRM_ERROR due to
      that. To avoid this error, just avoid touching power domains that are
      not enabled.
      
      Use kzalloc so we're sure all the disabled domains will be zeroed on
      the error state file. We already print the information that is enough
      to discover if the power well is enabled on the error state file, so
      this should not be a problem.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69747Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      9d1cb914
    • Daniel Vetter's avatar
      drm/i915: Enable DP port CRC for the "auto" source on g4x/vlv · 26756809
      Daniel Vetter authored
      Now that DP port CRCs are stable, we can use it for generic CRC tests.
      Yay, the auto CRC source should now work everywhere!
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      26756809
    • Daniel Vetter's avatar
      drm/i915: scramble reset support for DP port CRC on vlv · 8d2f24ca
      Daniel Vetter authored
      They've moved the DC balance reset bit around. Again I don't think we
      need it, but better safe than sorry and maybe HDMI port CRC will prove
      useful for checking infoframes or hdmi audio.
      
      v2: Apply the suggestions from Damien's review.
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      8d2f24ca
    • Daniel Vetter's avatar
      drm/i915: scramble reset support for DP port CRC on g4x · 84093603
      Daniel Vetter authored
      We need to reset the DP scrambler on every vsync to get stable CRCs.
      And since we can't use the normal pipe CRC on DP ports on g4x we
      really need them to be able to test modesetting issues on (e)DP
      outputs.
      
      Note that the DC balance reset is for SDVO port CRCs so we don't
      strictly need it. But better safe than sorry (and it's a nice template
      in case we ever want to grab port CRCs for e.g. audio checking).
      
      v2: Apply the suggestions from Damien's review.
      Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      84093603