1. 08 7月, 2014 12 次提交
    • G
      drm/tilcdc: tfp410: fix dangling sysfs connector node · 16dcbdef
      Guido Martínez 提交于
      Add a drm_sysfs_connector_remove call when we destroy the panel to make
      sure the connector node in sysfs gets deleted.
      
      This is required for proper unload and re-load of this driver, otherwise
      we will get a warning about a duplicate filename in sysfs.
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Cc: <stable@vger.kernel.org> #v3.9+
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      16dcbdef
    • G
      drm/tilcdc: slave: fix dangling sysfs connector node · daa15b4c
      Guido Martínez 提交于
      Add a drm_sysfs_connector_remove call when we destroy the panel to make
      sure the connector node in sysfs gets deleted.
      
      This is required for proper unload and re-load of this driver as a
      module. Without this, we would get a warning at re-load time like so:
      
         tda998x 0-0070: found TDA19988
         ------------[ cut here ]------------
         WARNING: CPU: 0 PID: 825 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
         sysfs: cannot create duplicate filename '/class/drm/card0-HDMI-A-1'
         Modules linked in: [..]
         CPU: 0 PID: 825 Comm: modprobe Not tainted 3.15.0-rc4-00027-g9dcdef4 #82
         [<c0013bb8>] (unwind_backtrace) from [<c0011824>] (show_stack+0x10/0x14)
         [<c0011824>] (show_stack) from [<c0034e8c>] (warn_slowpath_common+0x68/0x88)
         [<c0034e8c>] (warn_slowpath_common) from [<c0034edc>] (warn_slowpath_fmt+0x30/0x40)
         [<c0034edc>] (warn_slowpath_fmt) from [<c01243f4>] (sysfs_warn_dup+0x54/0x74)
         [<c01243f4>] (sysfs_warn_dup) from [<c0124708>] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
         [<c0124708>] (sysfs_do_create_link_sd.isra.2) from [<c02ae37c>] (device_add+0x338/0x520)
         [<c02ae37c>] (device_add) from [<c02ae6e8>] (device_create_groups_vargs+0xa0/0xc4)
         [<c02ae6e8>] (device_create_groups_vargs) from [<c02ae758>] (device_create+0x24/0x2c)
         [<c02ae758>] (device_create) from [<c029b4ec>] (drm_sysfs_connector_add+0x64/0x204)
         [<c029b4ec>] (drm_sysfs_connector_add) from [<bf0b1b40>] (slave_modeset_init+0x120/0x1bc [tilcdc])
         [<bf0b1b40>] (slave_modeset_init [tilcdc]) from [<bf0b2be8>] (tilcdc_load+0x214/0x4c0 [tilcdc])
         [<bf0b2be8>] (tilcdc_load [tilcdc]) from [<c029955c>] (drm_dev_register+0xa4/0x104)
            [..snip..]
         ---[ end trace 4df8d614936ebdee ]---
         [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Cc: <stable@vger.kernel.org> #v3.9+
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      daa15b4c
    • G
      drm/tilcdc: panel: fix dangling sysfs connector node · e396900e
      Guido Martínez 提交于
      Add a drm_sysfs_connector_remove call when we destroy the panel to make
      sure the connector node in sysfs gets deleted.
      
      This is required for proper unload and re-load of this driver as a
      module. Without this, we would get a warning at re-load time like so:
      
         ------------[ cut here ]------------
         WARNING: CPU: 0 PID: 824 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
         sysfs: cannot create duplicate filename '/class/drm/card0-LVDS-1'
         Modules linked in: [...]
         CPU: 0 PID: 824 Comm: modprobe Not tainted 3.15.0-rc4-00027-g6484f96-dirty #81
         [<c0013bb8>] (unwind_backtrace) from [<c0011824>] (show_stack+0x10/0x14)
         [<c0011824>] (show_stack) from [<c0034e8c>] (warn_slowpath_common+0x68/0x88)
         [<c0034e8c>] (warn_slowpath_common) from [<c0034edc>] (warn_slowpath_fmt+0x30/0x40)
         [<c0034edc>] (warn_slowpath_fmt) from [<c01243f4>] (sysfs_warn_dup+0x54/0x74)
         [<c01243f4>] (sysfs_warn_dup) from [<c0124708>] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
         [<c0124708>] (sysfs_do_create_link_sd.isra.2) from [<c02ae37c>] (device_add+0x338/0x520)
         [<c02ae37c>] (device_add) from [<c02ae6e8>] (device_create_groups_vargs+0xa0/0xc4)
         [<c02ae6e8>] (device_create_groups_vargs) from [<c02ae758>] (device_create+0x24/0x2c)
         [<c02ae758>] (device_create) from [<c029b4ec>] (drm_sysfs_connector_add+0x64/0x204)
         [<c029b4ec>] (drm_sysfs_connector_add) from [<bf0b1fec>] (panel_modeset_init+0xb8/0x134 [tilcdc])
         [<bf0b1fec>] (panel_modeset_init [tilcdc]) from [<bf0b2bf0>] (tilcdc_load+0x214/0x4c0 [tilcdc])
         [<bf0b2bf0>] (tilcdc_load [tilcdc]) from [<c029955c>] (drm_dev_register+0xa4/0x104)
            [ .. snip .. ]
         ---[ end trace b2d09cd9578b0497 ]---
         [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Cc: <stable@vger.kernel.org> #v3.9+
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e396900e
    • F
      drm/crtc-helper: use drm_framebuffer flags · d980b183
      Fabien DESSENNE 提交于
      The "flags" parameter of the DRM_IOCTL_MODE_ADDFB2 ioctl must be
      propagated and used by the driver.
      The only possible value of flags is DRM_MODE_FB_INTERLACED.
      Signed-off-by: NFabien Dessenne <fabien.dessenne@st.com>
      Reviewed-by: NBenjamin GAIGNARD <benjamin.gaignard@st.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      d980b183
    • C
      drm/ttm: fix handling of TTM_PL_FLAG_TOPDOWN v2 · e3f20279
      Christian König 提交于
      bo->mem.placement is not initialized when ttm_bo_man_get_node is called,
      so the flag had no effect at all.
      
      v2: change nouveau and vmwgfx as well
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e3f20279
    • A
      vgaarb: We can own non-decoded resources · 4e4e7dc5
      Alex Williamson 提交于
      The VGA arbiter does not allow devices to "own" resources that it
      doesn't "decode".  However, it does allow devices to "lock" resources
      that it doesn't decode.  This gets us into trouble because locking
      the resource goes through the same bridge routing updates regardless
      of whether we decode the resource.  This means that when a non-decoded
      resource is released, the bridge is left with VGA routing enabled and
      locking a different device won't clear it.
      
      This happens in the following scenario:
      
      VGA device 01:00.0 (VGA1) is owned by the radeon driver, which
      registers a set_vga_decode function which releases legacy VGA decodes.
      
      VGA device 02:00.0 (VGA2) is any VGA device.
      
      VGA1 user locks VGA resources triggering first_use callback of
      set_vga_decoded, clearing "decode" and "owns" of legacy resources
      on VGA1.
      
      VGA1 user unlocks VGA resources.
      
      VGA2 user locks VGA resources, which skips VGA1 as conflicting as it
      does not "own" legacy resources, although VGA routing is still enabled
      for the VGA1 bridge.  VGA routing is enabled on VGA2 bridge.
      
      VGA2 may or may not receive VGA transactions depending on the bus
      priority of VGA1 vs VGA2 bridge.
      
      To resolve this, we need to allow devices to "own" resources that they
      do not "decode".  This way we can track bus ownership of VGA.  When a
      device decodes VGA, it only means that we must update the command bits
      in cases where the conflicting device is on the same bus.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Dave Airlie <airlied@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      4e4e7dc5
    • F
      drm/omap: remove null test before kfree · d2c87e2d
      Fabian Frederick 提交于
      Fix checkpatch warning:
      WARNING: kfree(NULL) is safe this check is probably not required
      
      Cc: David Airlie <airlied@linux.ie>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      d2c87e2d
    • F
      drm/bochs: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN · a8ba29cd
      Fabian Frederick 提交于
      use mm.h definition
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      a8ba29cd
    • L
      drm/ttm: recognize ARM arch in ioprot handler · 2fc2dd78
      Lucas Stach 提交于
      Nouveau can now be used on ARM, so add an ioprot handler for this
      architecture.
      Signed-off-by: NLucas Stach <dev@lynxeye.de>
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      2fc2dd78
    • D
      drm: enable render-nodes by default · 6d6dfcfb
      David Herrmann 提交于
      We introduced render-nodes about 1/2 year ago and no problems showed up.
      Remove the drm_rnodes argument and enable them by default now.
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: NAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      6d6dfcfb
    • D
      drm/gem: remove misleading gfp parameter to get_pages() · 0cdbe8ac
      David Herrmann 提交于
      drm_gem_get_pages() currently allows passing a 'gfp' parameter that is
      passed to shmem combined with mapping_gfp_mask(). Given that the default
      mapping_gfp_mask() is GFP_HIGHUSER, it is _very_ unlikely that anyone will
      ever make use of that parameter. In fact, all drivers currently pass
      redundant flags or 0.
      
      This patch removes the 'gfp' parameter. The only reason to keep it is to
      remove flags like __GFP_WAIT. But in its current form, it can only be used
      to add flags. So to remove __GFP_WAIT, you'd have to drop it from the
      mapping_gfp_mask, which again is stupid as this mask is used by shmem-core
      for other allocations, too.
      
      If any driver ever requires that parameter, we can introduce a new helper
      that takes the raw 'gfp' parameter. The caller'd be responsible to combine
      it with mapping_gfp_mask() in a suitable way. The current
      drm_gem_get_pages() helper would then simply use mapping_gfp_mask() and
      call the new helper. This is what shmem_read_mapping_pages{_gfp,} does
      right now.
      
      Moreover, the gfp-zone flag-usage is not obvious: If you pass a modified
      zone, shmem core will WARN() or even BUG(). In other words, the following
      must be true for 'gfp' passed to shmem_read_mapping_pages_gfp():
          gfp_zone(mapping_gfp_mask(mapping)) == gfp_zone(gfp)
      Add a comment to drm_gem_read_pages() explaining that constraint.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      0cdbe8ac
    • D
      drm/omap: use __GFP_DMA32 for shmem-backed gem · ab5a60c3
      David Herrmann 提交于
      OMAP requires bo-pages to be in the DMA32 zone. Explicitly request this by
      setting __GFP_DMA32 as mapping-gfp-mask during shmem initialization. This
      drops HIGHMEM from the gfp-mask and uses DMA32 instead. shmem-core takes
      care to relocate pages during swap-in in case they have been loaded into
      the wrong zone.
      
      It is _not_ possible to pass __GFP_DMA32 to shmem_read_mapping_page_gfp()
      as the page might have already been swapped-in at that time. The zone-mask
      must be set during initialization and be kept constant for now.
      
      Remove the now superfluous TODO in omap_gem.c.
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Tested-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      ab5a60c3
  2. 04 7月, 2014 3 次提交
  3. 03 7月, 2014 6 次提交
  4. 02 7月, 2014 4 次提交
  5. 01 7月, 2014 13 次提交
  6. 30 6月, 2014 1 次提交
  7. 28 6月, 2014 1 次提交
    • M
      iscsi-target: fix iscsit_del_np deadlock on unload · 81a9c5e7
      Mikulas Patocka 提交于
      On uniprocessor preemptible kernel, target core deadlocks on unload. The
      following events happen:
      * iscsit_del_np is called
      * it calls send_sig(SIGINT, np->np_thread, 1);
      * the scheduler switches to the np_thread
      * the np_thread is woken up, it sees that kthread_should_stop() returns
        false, so it doesn't terminate
      * the np_thread clears signals with flush_signals(current); and goes back
        to sleep in iscsit_accept_np
      * the scheduler switches back to iscsit_del_np
      * iscsit_del_np calls kthread_stop(np->np_thread);
      * the np_thread is waiting in iscsit_accept_np and it doesn't respond to
        kthread_stop
      
      The deadlock could be resolved if the administrator sends SIGINT signal to
      the np_thread with killall -INT iscsi_np
      
      The reproducible deadlock was introduced in commit
      db6077fd, but the thread-stopping code was
      racy even before.
      
      This patch fixes the problem. Using kthread_should_stop to stop the
      np_thread is unreliable, so we test np_thread_state instead. If
      np_thread_state equals ISCSI_NP_THREAD_SHUTDOWN, the thread exits.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      81a9c5e7
新手
引导
客服 返回
顶部