Skip to content
  1. Dec 04, 2015
    • Daniel Vetter's avatar
      drm/nouveau: Fix pre-nv50 pageflip events (v4) · bbc8764f
      Daniel Vetter authored
      Apparently pre-nv50 pageflip events happen before the actual vblank
      period. Therefore that functionality got semi-disabled in
      
      commit af4870e4
      Author: Mario Kleiner <mario.kleiner.de@gmail.com>
      Date:   Tue May 13 00:42:08 2014 +0200
      
          drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.
      
      Unfortunately that hack got uprooted in
      
      commit cc1ef118
      
      
      Author: Thierry Reding <treding@nvidia.com>
      Date:   Wed Aug 12 17:00:31 2015 +0200
      
          drm/irq: Make pipe unsigned and name consistent
      
      Triggering a warning when trying to sample the vblank timestamp for a
      non-existing pipe. There's a few ways to fix this:
      
      - Open-code the old behaviour, which just enshrines this slight
        breakage of the userspace ABI.
      
      - Revert Mario's commit and again inflict broken timestamps, again not
        pretty.
      
      - Fix this for real by delaying the pageflip TS until the next vblank
        interrupt, thereby making it accurate.
      
      This patch implements the third option. Since having a page flip
      interrupt that happens when the pageflip gets armed and not when it
      completes in the next vblank seems to be fairly common (older i915 hw
      works very similarly) create a new helper to arm vblank events for
      such drivers.
      
      v2 (Mario Kleiner):
      - Fix function prototypes in drmP.h
      - Add missing vblank_put() for pageflip completion without
        pageflip event.
      - Initialize sequence number for queued pageflip event to avoid
        trouble in drm_handle_vblank_events().
      - Remove dead code and spelling fix.
      
      v3 (Mario Kleiner):
      - Add a signed-off-by and cc stable tag per Ilja's advice.
      
      v4 (Thierry Reding):
      - Fix kerneldoc typo, discovered by Michel Dänzer
      - Rearrange tags and changelog
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106431
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
      Acked-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Cc: Ilia Mirkin <imirkin@alum.mit.edu>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: stable@vger.kernel.org # v4.3
      Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bbc8764f
    • Thomas Hellstrom's avatar
      drm: Fix an unwanted master inheritance v2 · a0af2e53
      Thomas Hellstrom authored
      
      
      A client calling drmSetMaster() using a file descriptor that was opened
      when another client was master would inherit the latter client's master
      object and all its authenticated clients.
      
      This is unwanted behaviour, and when this happens, instead allocate a
      brand new master object for the client calling drmSetMaster().
      
      Fixes a BUG() throw in vmw_master_set().
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a0af2e53
    • Dave Airlie's avatar
      Merge tag 'imx-drm-fixes-2015-12-01' of git://git.pengutronix.de/git/pza/linux into drm-fixes · f46e699c
      Dave Airlie authored
      imx-drm crtc, plane, parallel panel, and TV encoder fixes
      
      - Use drm_crtc_send_vblank_event to fix per crtc vblank handling
      - Move the crtc device of_node assignment out of the ipuv3-crtc driver into
        ipu-common code, where the devices are created.
      - Fix parallel display support with simple-panels
      - Remove some unused fields and superfluous checks
      - Switch to universal planes and add error handling for primary plane creation
      - Fix module autoload for TV encoder driver
      
      * tag 'imx-drm-fixes-2015-12-01' of git://git.pengutronix.de/git/pza/linux:
        drm: imx: imx-tve: Fix module autoload for OF platform driver
        drm: imx: convert to drm_crtc_send_vblank_event()
        GPU-DRM-IMX: Delete an unnecessary check before drm_fbdev_cma_restore_mode()
        drm/imx: Remove of_node assignment from ipuv3-crtc driver probe
        gpu: ipu-v3: Assign of_node of child platform devices to corresponding ports
        gpu: ipu-v3: Remove reg_offset field
        gpu: ipu-v3: drop unused dmfc field from client platform data
        drm/imx: parallel-display: allow to determine bus format from the connected panel
        drm/imx: ipuv3-crtc: Return error if ipu_plane_init() fails for primary plane
        drm/imx: switch to universal planes
      f46e699c
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2015-12-03' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 00b83070
      Dave Airlie authored
      Another batch of drm/i915 fixes for v4.4, on top of the ones from
      earlier this week. One timeout handling regression fix from Chris, and
      backport of five patches from our -next to fix a power management
      related HDMI hotplug regression.
      
      * tag 'drm-intel-fixes-2015-12-03' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: take a power domain reference while checking the HDMI live status
        drm/i915: add MISSING_CASE to a few port/aux power domain helpers
        drm/i915/ddi: fix intel_display_port_aux_power_domain() after HDMI detect
        drm/i915: Introduce a gmbus power domain
        drm/i915: Clean up AUX power domain handling
        drm/i915: Check the timeout passed to i915_wait_request
      00b83070
  2. Dec 02, 2015
    • Imre Deak's avatar
      drm/i915: take a power domain reference while checking the HDMI live status · 0f5a9be1
      Imre Deak authored
      There are platforms that don't need the full GMBUS power domain (BXT)
      while others do (PCH, VLV/CHV). For optimizing this we would need to add
      a new power domain, but it's not clear how much we would benefit given
      the short time we hold the reference. So for now let's keep things
      simple.
      
      This fixes a regression introduced in
      commit 237ed86c
      
      
      Author: Sonika Jindal <sonika.jindal@intel.com>
      Date:   Tue Sep 15 09:44:20 2015 +0530
      
         drm/i915: Check live status before reading edid
      
      v2:
      - fix commit message, PCH won't take any redundant power resource after
      this change (Ville)
      
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      [fix commit message in v2 (Imre)]
      [Cherry-picked from drm-intel-next-queued 29bb94bb
      
       (Imre)]
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-6-git-send-email-imre.deak@intel.com
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      0f5a9be1
    • Imre Deak's avatar
      drm/i915: add MISSING_CASE to a few port/aux power domain helpers · 8e695444
      Imre Deak authored
      
      
      MISSING_CASE() would have been useful to track down a recent problem in
      intel_display_port_aux_power_domain(), so add it there and a few related
      helpers. This was also suggested by Ville in his review of the latest
      DMC/DC changes, we forgot to address that.
      
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      [Cherry-picked from drm-intel-next-queued b9fec167
      
       (Imre)]
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-5-git-send-email-imre.deak@intel.com
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      8e695444
    • Imre Deak's avatar
      drm/i915/ddi: fix intel_display_port_aux_power_domain() after HDMI detect · 88747f13
      Imre Deak authored
      Due to the current sharing of the DDI encoder between DP and HDMI
      connectors we can run the DP detection after the HDMI detection has
      already set the shared encoder's type. For now solve this keeping the
      current behavior and running the detection in this case too. For a proper
      solution Ville suggested to split the encoder into an HDMI and DP one, that
      can be done as a follow-up.
      
      This issue triggers the WARN in intel_display_port_aux_power_domain() and
      was introduced in:
      commit 25f78f58
      
      
      Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Date:   Mon Nov 16 15:01:04 2015 +0100
      
          drm/i915: Clean up AUX power domain handling
      
      CC: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
      CC: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      [Cherry-picked from drm-intel-next-queued 651174a4
      
       (Imre)]
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-4-git-send-email-imre.deak@intel.com
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      88747f13
    • Ville Syrjälä's avatar
      drm/i915: Introduce a gmbus power domain · ac9b8236
      Ville Syrjälä authored
      
      
      Currently the gmbus code uses intel_aux_display_runtime_get/put in an
      effort to make sure the hardware is powered up sufficiently for gmbus.
      That function only takes the runtime PM reference which on VLV/CHV/BXT
      is not enough. We need the disp2d/pipe-a well on VLV/CHV and power well
      2 on BXT. So add a new power domnain for gmbus and kill off the now
      unused intel_aux_display_runtime_get/put. And change
      intel_hdmi_set_edid() to use the gmbus power domain too since that's all
      we need there.
      
      Also toss in a BUILD_BUG_ON() to catch problems if we run out of
      bits for power domains. We're already really close to the limit...
      
      [Patrik: Add gmbus string to debugfs output]
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      [Cherry-picked from drm-intel-next-queued f0ab43e6
      
       (Imre)]
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-3-git-send-email-imre.deak@intel.com
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      ac9b8236
    • Ville Syrjälä's avatar
      drm/i915: Clean up AUX power domain handling · a781ce79
      Ville Syrjälä authored
      
      
      Introduce intel_display_port_aux_power_domain() which simply returns
      the appropriate AUX power domain for a specific port, and then replace
      the intel_display_port_power_domain() with calls to the new function
      in the DP code. As long as we're not actually enabling the port we don't
      need the lane power domains, and those are handled now purely from
      modeset_update_crtc_power_domains().
      
      My initial motivation for this was to see if I could keep the DPIO power
      wells powered down while doing AUX on CHV, but turns out I can't so this
      doesn't change anything for CHV at least. But I think it's still a
      worthwile change.
      
      v2: Add case for PORT E. Default to POWER_DOMAIN_AUX_D for now. (Ville)
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      [Cherry-picked from drm-intel-next-queued 25f78f58
      
       (Imre)]
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1448643329-18675-2-git-send-email-imre.deak@intel.com
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      a781ce79
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-rockchip-2015-12-02' of... · c936a699
      Dave Airlie authored
      Merge branch 'drm-fixes-rockchip-2015-12-02' of https://github.com/markyzq/kernel-drm-rockchip into drm-fixes
      
      Rockchip fixes from Mark.
      
      * 'drm-fixes-rockchip-2015-12-02' of https://github.com/markyzq/kernel-drm-rockchip:
        drm/rockchip: Use CRTC vblank event interface
        drm/rockchip: Fix module autoload for OF platform driver
        drm/rockchip: vop: fix window origin calculation
        drm/rockchip: unset pgoff when mmap'ing gems
        drm/rockchip: vop: Correct enabled clocks during setup
      c936a699
    • Daniel Stone's avatar
      drm/rockchip: Use CRTC vblank event interface · c9fbb7f7
      Daniel Stone authored
      Passing -1 as the pipe for vblank events now triggers a WARN_ON, but had
      previously made multi-screen unusable anyway. Pass the correct pipe to
      the event-send function, and use the new API to make this a bit easier
      for us.
      
      Fixes WARN present since cc1ef118
      
       for every pageflip event sent:
      [  209.549969] ------------[ cut here ]------------
      [  209.554592] WARNING: CPU: 3 PID: 238 at drivers/gpu/drm/drm_irq.c:924 drm_vblank_count_and_time+0x80/0x88 [drm]()
      [  209.564832] Modules linked in: [...]
      [  209.612401] CPU: 3 PID: 238 Comm: irq/41-ff940000 Tainted: G        W       4.3.0-rc6+ #71
      [  209.620647] Hardware name: Rockchip (Device Tree)
      [  209.625348] [<c001bb80>] (unwind_backtrace) from [<c001615c>] (show_stack+0x20/0x24)
      [  209.633079] [<c001615c>] (show_stack) from [<c02b2c50>] (dump_stack+0x8c/0x9c)
      [  209.640289] [<c02b2c50>] (dump_stack) from [<c0052e88>] (warn_slowpath_common+0x94/0xc4)
      [  209.648364] [<c0052e88>] (warn_slowpath_common) from [<c0052f74>] (warn_slowpath_null+0x2c/0x34)
      [  209.657139] [<c0052f74>] (warn_slowpath_null) from [<bf17dc30>] (drm_vblank_count_and_time+0x80/0x88 [drm])
      [  209.666875] [<bf17dc30>] (drm_vblank_count_and_time [drm]) from [<bf17e484>] (drm_send_vblank_event+0x74/0x7c [drm])
      [  209.677385] [<bf17e484>] (drm_send_vblank_event [drm]) from [<bf4c1144>] (vop_win_state_complete+0x4c/0x70 [rockchip_drm_vop])
      [  209.688757] [<bf4c1144>] (vop_win_state_complete [rockchip_drm_vop]) from [<bf4c3bdc>] (vop_isr_thread+0x170/0x1d4 [rockchip_drm_vop])
      [  209.700822] [<bf4c3bdc>] (vop_isr_thread [rockchip_drm_vop]) from [<c00ab93c>] (irq_thread_fn+0x2c/0x50)
      [  209.710284] [<c00ab93c>] (irq_thread_fn) from [<c00abcac>] (irq_thread+0x13c/0x188)
      [  209.717927] [<c00abcac>] (irq_thread) from [<c00723c8>] (kthread+0xec/0x104)
      [  209.724965] [<c00723c8>] (kthread) from [<c0011638>] (ret_from_fork+0x14/0x3c)
      [  209.732171] ---[ end trace 0690bc604f5d535d ]---
      
      Signed-off-by: default avatarDaniel Stone <daniels@collabora.com>
      Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Tested-By: default avatarSjoerd Simons <sjoerd.simons@collabora.co.uk>
      Tested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
      c9fbb7f7
    • Luis de Bethencourt's avatar
      drm/rockchip: Fix module autoload for OF platform driver · 3b134ced
      Luis de Bethencourt authored
      
      
      This platform driver has a OF device ID table but the OF module
      alias information is not created so module autoloading won't work.
      
      Signed-off-by: default avatarLuis de Bethencourt <luisbg@osg.samsung.com>
      3b134ced
    • Dominik Behr's avatar
      drm/rockchip: vop: fix window origin calculation · 72906ce0
      Dominik Behr authored
      
      
      VOP_WINx_DSP_ST does not require subtracting 1 from the values written to
      it. It actually causes the screen to be shifted by one pixel.
      
      Signed-off-by: default avatarMark Yao <mark.yao@rock-chips.com>
      Tested-by: default avatarYakir Yang <ykk@rock-chips.com>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Tested-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarDominik Behr <dbehr@chromium.org>
      Signed-off-by: default avatarMark Yao <mark.yao@rock-chips.com>
      72906ce0
    • Heiko Stuebner's avatar
      drm/rockchip: unset pgoff when mmap'ing gems · a8594f20
      Heiko Stuebner authored
      Commit 371f0f08 ("ARM: 8426/1: dma-mapping: add missing range check
       in dma_mmap()") introduced offset-checking for mappings, which collides
      with the fake-offset the drm sets for gems.
      
      Other drm-drivers set this offset to 0 before doing the mapping, so
      this looks like the correct way to go for rockchip as well.
      
      Fixes: 371f0f08
      
       ("ARM: 8426/1: dma-mapping: add missing range check in dma_mmap()")
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      a8594f20
  3. Dec 01, 2015
  4. Nov 30, 2015
    • Linus Torvalds's avatar
      Linux 4.4-rc3 · 31ade3b8
      Linus Torvalds authored
      31ade3b8
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · c5bc1c93
      Linus Torvalds authored
      Pull nouveau and radeon fixes from Dave Airlie:
       "Just some nouveau and radeon/amdgpu fixes.
      
        The nouveau fixes look large as the firmware context files are
        regenerated, but the actual change is quite small"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: make some dpm errors debug only
        drm/nouveau/volt/pwm/gk104: fix an off-by-one resulting in the voltage not being set
        drm/nouveau/nvif: allow userspace access to its own client object
        drm/nouveau/gr/gf100-: fix oops when calling zbc methods
        drm/nouveau/gr/gf117-: assume no PPC if NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK is zero
        drm/nouveau/gr/gf117-: read NV_PGRAPH_GPC_GPM_PD_PES_TPC_ID_MASK from correct GPC
        drm/nouveau/gr/gf100-: split out per-gpc address calculation macro
        drm/nouveau/bios: return actual size of the buffer retrieved via _ROM
        drm/nouveau/instmem: protect instobj list with a spinlock
        drm/nouveau/pci: enable c800 magic for some unknown Samsung laptop
        drm/nouveau/pci: enable c800 magic for Clevo P157SM
        drm/radeon: make rv770_set_sw_state failures non-fatal
        drm/amdgpu: move dependency handling out of atomic section v2
        drm/amdgpu: optimize scheduler fence handling
        drm/amdgpu: remove vm->mutex
        drm/amdgpu: add mutex for ba_va->valids/invalids
        drm/amdgpu: adapt vce session create interface changes
        drm/amdgpu: vce use multiple cache surface starting from stoney
        drm/amdgpu: reset vce trap interrupt flag
      c5bc1c93
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 818aba30
      Linus Torvalds authored
      Pull RTC fixes from Alexandre Belloni:
       "Two fixes for the ds1307 alarm and wakeup"
      
      * tag 'rtc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: ds1307: fix alarm reading at probe time
        rtc: ds1307: fix kernel splat due to wakeup irq handling
      818aba30
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 00fd6a71
      Linus Torvalds authored
      Pull MIPS fix from Ralf Baechle:
       "Just a fix for empty loops that may be removed by non-antique GCC"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Fix delay loops which may be removed by GCC.
      00fd6a71
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · d72aee78
      Linus Torvalds authored
      Pull m68k fixes from Geert Uytterhoeven:
       "Summary:
      
         - Add missing initialization of max_pfn, which is needed to make
           selftests/vm/mlock2-tests succeed,
      
         - Wire up new mlock2 syscall"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Wire up mlock2
        m68knommu: Add missing initialization of max_pfn and {min,max}_low_pfn
        m68k/mm: sun3 - Add missing initialization of max_pfn and {min,max}_low_pfn
        m68k/mm: m54xx - Add missing initialization of max_pfn
        m68k/mm: motorola - Add missing initialization of max_pfn
      d72aee78
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 04527fda
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Just two changes this time around:
      
         - wire up the new mlock2 syscall added during the last merge window
      
         - fix a build problem with certain configurations provoked by making
           CONFIG_OF user selectable"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8454/1: OF implies OF_FLATTREE
        ARM: wire up mlock2 syscall
      04527fda
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 36511e86
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       - fix tcm-user backend driver expired cmd time processing (agrover)
       - eliminate kref_put_spinlock_irqsave() for I/O completion (bart)
       - fix iscsi login kthread failure case hung task regression (nab)
       - fix COMPARE_AND_WRITE completion use-after-free race (nab)
       - fix COMPARE_AND_WRITE with SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC non zero
         SGL offset data corruption.  (Jan + Doug)
       - fix >= v4.4-rc1 regression for tcm_qla2xxx enable configfs attribute
         (Himanshu + HCH)
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target/stat: print full t10_wwn.model buffer
        target: fix COMPARE_AND_WRITE non zero SGL offset data corruption
        qla2xxx: Fix regression introduced by target configFS changes
        kref: Remove kref_put_spinlock_irqsave()
        target: Invoke release_cmd() callback without holding a spinlock
        target: Fix race for SCF_COMPARE_AND_WRITE_POST checking
        iscsi-target: Fix rx_login_comp hang after login failure
        iscsi-target: return -ENOMEM instead of -1 in case of failed kmalloc()
        target/user: Do not set unused fields in tcmu_ops
        target/user: Fix time calc in expired cmd processing
      36511e86
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 75a29ec1
      Linus Torvalds authored
      Pull thermal management fixes from Zhang Rui:
       "Specifics:
      
       - several fixes and cleanups on Rockchip thermal drivers.
      
       - add the missing support of RK3368 SoCs in Rockchip driver.
      
       - small fixes on of-thermal, power_allocator, rcar driver, IMX, and
         QCOM drivers, and also compilation fixes, on thermal.h, when thermal
         is not selected"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        imx: thermal: use CPU temperature grade info for thresholds
        thermal: fix thermal_zone_bind_cooling_device prototype
        Revert "thermal: qcom_spmi: allow compile test"
        thermal: rcar_thermal: remove redundant operation
        thermal: of-thermal: Reduce log level for message when can't fine thermal zone
        thermal: power_allocator: Use temperature reading from tz
        thermal: rockchip: Support the RK3368 SoCs in thermal driver
        thermal: rockchip: consistently use int for temperatures
        thermal: rockchip: Add the sort mode for adc value increment or decrement
        thermal: rockchip: improve the conversion function
        thermal: rockchip: trivial: fix typo in commit
        thermal: rockchip: better to compatible the driver for different SoCs
        dt-bindings: rockchip-thermal: Support the RK3368 SoCs compatible
      75a29ec1
  5. Nov 29, 2015
    • David Disseldorp's avatar
      target/stat: print full t10_wwn.model buffer · 8f903539
      David Disseldorp authored
      
      
      Cut 'n paste error saw it only process sizeof(t10_wwn.vendor) characters.
      
      Signed-off-by: default avatarDavid Disseldorp <ddiss@suse.de>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      8f903539
    • Jan Engelhardt's avatar
      target: fix COMPARE_AND_WRITE non zero SGL offset data corruption · d94e5a61
      Jan Engelhardt authored
      
      
      target_core_sbc's compare_and_write functionality suffers from taking
      data at the wrong memory location when writing a CAW request to disk
      when a SGL offset is non-zero.
      
      This can happen with loopback and vhost-scsi fabric drivers when
      SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC is used to map existing user-space
      SGL memory into COMPARE_AND_WRITE READ/WRITE payload buffers.
      
      Given the following sample LIO subtopology,
      
      % targetcli ls /loopback/
      o- loopback ................................. [1 Target]
        o- naa.6001405ebb8df14a ....... [naa.60014059143ed2b3]
          o- luns ................................... [2 LUNs]
            o- lun0 ................ [iblock/ram0 (/dev/ram0)]
            o- lun1 ................ [iblock/ram1 (/dev/ram1)]
      % lsscsi -g
      [3:0:1:0]    disk    LIO-ORG  IBLOCK           4.0   /dev/sdc   /dev/sg3
      [3:0:1:1]    disk    LIO-ORG  IBLOCK           4.0   /dev/sdd   /dev/sg4
      
      the following bug can be observed in Linux 4.3 and 4.4~rc1:
      
      % perl -e 'print chr$_ for 0..255,reverse 0..255' >rand
      % perl -e 'print "\0" x 512' >zero
      % cat rand >/dev/sdd
      % sg_compare_and_write -i rand -D zero --lba 0 /dev/sdd
      % sg_compare_and_write -i zero -D rand --lba 0 /dev/sdd
      Miscompare reported
      % hexdump -Cn 512 /dev/sdd
      00000000  0f 0e 0d 0c 0b 0a 09 08  07 06 05 04 03 02 01 00
      00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
      *
      00000200
      
      Rather than writing all-zeroes as instructed with the -D file, it
      corrupts the data in the sector by splicing some of the original
      bytes in. The page of the first entry of cmd->t_data_sg includes the
      CDB, and sg->offset is set to a position past the CDB. I presume that
      sg->offset is also the right choice to use for subsequent sglist
      members.
      
      Signed-off-by: default avatarJan Engelhardt <jengelh@netitwork.de>
      Tested-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Cc: <stable@vger.kernel.org> # v3.12+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      d94e5a61
    • Himanshu Madhani's avatar
      qla2xxx: Fix regression introduced by target configFS changes · 3786dc45
      Himanshu Madhani authored
      this patch fixes following regression
      
       # targetcli
       [Errno 13] Permission denied: '/sys/kernel/config/target/qla2xxx/21:00:00:0e:1e:08:c7:20/tpgt_1/enable'
      
      Fixes: 2eafd729
      
       ("target: use per-attribute show and store methods")
      Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@qlogic.com>
      Signed-off-by: default avatarGiridhar Malavali <giridhar.malavali@qlogic.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      3786dc45
    • Bart Van Assche's avatar
      kref: Remove kref_put_spinlock_irqsave() · 3a66d7dc
      Bart Van Assche authored
      
      
      The last user is gone. Hence remove this function.
      
      Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Joern Engel <joern@logfs.org>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      3a66d7dc
    • Bart Van Assche's avatar
      target: Invoke release_cmd() callback without holding a spinlock · 9ff9d15e
      Bart Van Assche authored
      
      
      This patch fixes the following kernel warning because it avoids that
      IRQs are disabled while ft_release_cmd() is invoked (fc_seq_set_resp()
      invokes spin_unlock_bh()):
      
      WARNING: CPU: 3 PID: 117 at kernel/softirq.c:150 __local_bh_enable_ip+0xaa/0x110()
      Call Trace:
       [<ffffffff814f71eb>] dump_stack+0x4f/0x7b
       [<ffffffff8105e56a>] warn_slowpath_common+0x8a/0xc0
       [<ffffffff8105e65a>] warn_slowpath_null+0x1a/0x20
       [<ffffffff81062b2a>] __local_bh_enable_ip+0xaa/0x110
       [<ffffffff814ff229>] _raw_spin_unlock_bh+0x39/0x40
       [<ffffffffa03a7f94>] fc_seq_set_resp+0xe4/0x100 [libfc]
       [<ffffffffa02e604a>] ft_free_cmd+0x4a/0x90 [tcm_fc]
       [<ffffffffa02e6972>] ft_release_cmd+0x12/0x20 [tcm_fc]
       [<ffffffffa042bd66>] target_release_cmd_kref+0x56/0x90 [target_core_mod]
       [<ffffffffa042caf0>] target_put_sess_cmd+0xc0/0x110 [target_core_mod]
       [<ffffffffa042cb81>] transport_release_cmd+0x41/0x70 [target_core_mod]
       [<ffffffffa042d975>] transport_generic_free_cmd+0x35/0x420 [target_core_mod]
      
      Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
      Acked-by: default avatarJoern Engel <joern@logfs.org>
      Reviewed-by: default avatarAndy Grover <agrover@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      9ff9d15e
    • Nicholas Bellinger's avatar
      target: Fix race for SCF_COMPARE_AND_WRITE_POST checking · 057085e5
      Nicholas Bellinger authored
      
      
      This patch addresses a race + use after free where the first
      stage of COMPARE_AND_WRITE in compare_and_write_callback()
      is rescheduled after the backend sends the secondary WRITE,
      resulting in second stage compare_and_write_post() callback
      completing in target_complete_ok_work() before the first
      can return.
      
      Because current code depends on checking se_cmd->se_cmd_flags
      after return from se_cmd->transport_complete_callback(),
      this results in first stage having SCF_COMPARE_AND_WRITE_POST
      set, which incorrectly falls through into second stage CAW
      processing code, eventually triggering a NULL pointer
      dereference due to use after free.
      
      To address this bug, pass in a new *post_ret parameter into
      se_cmd->transport_complete_callback(), and depend upon this
      value instead of ->se_cmd_flags to determine when to return
      or fall through into ->queue_status() code for CAW.
      
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Cc: <stable@vger.kernel.org> # v3.12+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      057085e5
    • Nicholas Bellinger's avatar
      iscsi-target: Fix rx_login_comp hang after login failure · ca82c2bd
      Nicholas Bellinger authored
      This patch addresses a case where iscsi_target_do_tx_login_io()
      fails sending the last login response PDU, after the RX/TX
      threads have already been started.
      
      The case centers around iscsi_target_rx_thread() not invoking
      allow_signal(SIGINT) before the send_sig(SIGINT, ...) occurs
      from the failure path, resulting in RX thread hanging
      indefinately on iscsi_conn->rx_login_comp.
      
      Note this bug is a regression introduced by:
      
        commit e5419865
      
      
        Author: Nicholas Bellinger <nab@linux-iscsi.org>
        Date:   Wed Jul 22 23:14:19 2015 -0700
      
            iscsi-target: Fix iscsit_start_kthreads failure OOPs
      
      To address this bug, complete ->rx_login_complete for good
      measure in the failure path, and immediately return from
      RX thread context if connection state did not actually reach
      full feature phase (TARG_CONN_STATE_LOGGED_IN).
      
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Cc: <stable@vger.kernel.org> # v3.10+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      ca82c2bd
    • Luis de Bethencourt's avatar
      iscsi-target: return -ENOMEM instead of -1 in case of failed kmalloc() · 82a819e8
      Luis de Bethencourt authored
      
      
      Smatch complains about returning hard coded error codes, silence this
      warning.
      
      drivers/target/iscsi/iscsi_target_parameters.c:211
         iscsi_create_default_params() warn: returning -1 instead of -ENOMEM is sloppy
      
      Signed-off-by: default avatarLuis de Bethencourt <luisbg@osg.samsung.com>
      Reviewed-by: default avatarSagi Grimberg <sagig@mellanox.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      82a819e8
    • Andy Grover's avatar
      target/user: Do not set unused fields in tcmu_ops · 6ba4bd29
      Andy Grover authored
      
      
      TCMU sets TRANSPORT_FLAG_PASSTHROUGH, so INQUIRY commands will not be
      emulated by LIO but passed up to userspace. Therefore TCMU should not
      set these, just like pscsi doesn't.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      6ba4bd29
    • Andy Grover's avatar
      target/user: Fix time calc in expired cmd processing · 611e2267
      Andy Grover authored
      
      
      Reversed arguments meant that we were doing nothing for cmds whose deadline
      had passed.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      611e2267
    • Arnd Bergmann's avatar
      ARM: 8454/1: OF implies OF_FLATTREE · aa7d5f18
      Arnd Bergmann authored
      
      
      On the ARM architecture, individual platforms select CONFIG_USE_OF if they
      need it, but all device tree code is keyed off CONFIG_OF. When building
      a platform without DT support and manually enabling CONFIG_OF, we now
      get a number of build errors, e.g.
      
      arch/arm/kernel/devtree.c: In function 'setup_machine_fdt':
      arch/arm/kernel/devtree.c:215:19: error: implicit declaration of function 'early_init_dt_verify' [-Werror=implicit-function-declaration]
      
      We could now try to separate the use case of booting from DT vs. the
      case of using the dynamic implementation, but that seems more complicated
      than it can gain us.
      
      This simply changes the ARM Kconfig file to always enable OF_RESERVED_MEM
      and OF_EARLY_FLATTREE when CONFIG_OF is enabled. These options add a little
      extra code when we just want the dynamic OF implementation, but that seems
      like a rather obscure case, and this version solves all CONFIG_OF related
      randconfig regressions.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 0166dc11
      
       ("of: make CONFIG_OF user selectable")
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      aa7d5f18
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.4-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 081f3698
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Here are a few fixes I'd like to have in v4.4: a generic one for sysfs
        and three for HiSilicon and DesignWare host controllers.
      
        Summary:
      
        NUMA:
         - Prevent out of bounds access in numa_node override (Mathias Krause)
      
        HiSilicon host bridge driver:
         - Fix deferred probing (Arnd Bergmann)
      
        Synopsys DesignWare host bridge driver:
         - Remove incorrect io_base assignment (Stanimir Varbanov)
         - Move align_resource function pointer to pci_host_bridge structure
           (Gabriele Paoloni)"
      
      * tag 'pci-v4.4-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        ARM/PCI: Move align_resource function pointer to pci_host_bridge structure
        PCI: hisi: Fix deferred probing
        PCI: designware: Remove incorrect io_base assignment
        PCI: Prevent out of bounds access in numa_node override
      081f3698
  6. Nov 28, 2015
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.4-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8003a573
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Stable patches:
         - Fix a NFSv4 callback identifier leak that was also causing client
           crashes
         - Fix NFSv4 callback decoding issues when incoming requests are
           truncated
         - Don't declare the attribute cache valid when we call
           nfs_update_inode with an empty attribute structure.
         - Resend LAYOUTGET when there is a race that changes the seqid
      
        Bugfixes:
         - Fix a number of issues with the NFSv4.2 CLONE ioctl()
         - Properly set NFS v4.2 NFSDBG_FACILITY
         - NFSv4 referrals are broken; Cleanup FATTR4_WORD0_FS_LOCATIONS after
           decoding success
         - Use sliding delay when LAYOUTGET gets NFS4ERR_DELAY
         - Ensure that attrcache is revalidated after a SETATTR"
      
      * tag 'nfs-for-4.4-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        nfs4: resend LAYOUTGET when there is a race that changes the seqid
        nfs: if we have no valid attrs, then don't declare the attribute cache valid
        nfs: ensure that attrcache is revalidated after a SETATTR
        nfs4: limit callback decoding to received bytes
        nfs4: start callback_ident at idr 1
        nfs: use sliding delay when LAYOUTGET gets NFS4ERR_DELAY
        NFS4: Cleanup FATTR4_WORD0_FS_LOCATIONS after decoding success
        NFS: Properly set NFS v4.2 NFSDBG_FACILITY
        nfs: reduce the amount of ifdefs for v4.2 in nfs4file.c
        nfs: use btrfs ioctl defintions for clone
        nfs: allow intra-file CLONE
        nfs: offer native ioctls even if CONFIG_COMPAT is set
        nfs: pass on count for CLONE operations
      8003a573