1. 18 11月, 2016 5 次提交
  2. 31 10月, 2016 1 次提交
    • B
      drm/i2c: tda998x: mali-dp: hdlcd: refactor connector registration · 90731c24
      Brian Starkey 提交于
      Connectors shouldn't be registered until the rest of the whole device
      is set up, so that consistent state is presented to userspace.
      
      As such, remove the calls to drm_connector_register() and
      drm_connector_unregister() from tda998x, as these are now handled by
      drm_dev_(un)register() itself.
      
      To work with this change, the mali-dp and hdlcd bind and unbind
      sequences have to be reordered, to ensure that the componentised
      encoder/connector is bound before drm_dev_register() registers all
      connectors. Similarly, the device must be unregistered before the
      component is unbound.
      
      Altogether, this allows other drivers using tda998x to be
      de-midlayered, and to have less racy initialisation of their components.
      
      Splitting this commit into three (one per driver) isn't possible without
      intermediate breakage, so it is all squashed together here.
      Suggested-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NBrian Starkey <brian.starkey@arm.com>
      Reviewed-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      90731c24
  3. 28 9月, 2016 3 次提交
  4. 22 9月, 2016 2 次提交
  5. 19 9月, 2016 2 次提交
  6. 18 9月, 2016 5 次提交
  7. 14 9月, 2016 3 次提交
  8. 10 9月, 2016 1 次提交
  9. 07 9月, 2016 3 次提交
    • C
      drm/i915: Add GEN7_PCODE_MIN_FREQ_TABLE_GT_RATIO_OUT_OF_RANGE to SNB · fc2780b6
      Chris Wilson 提交于
      According to the CI test machines, SNB also uses the
      GEN7_PCODE_MIN_FREQ_TABLE_GT_RATIO_OUT_OF_RANGE value to report a bad
      GEN6_PCODE_MIN_FREQ_TABLE request.
      
      [  157.744641] WARNING: CPU: 5 PID: 9238 at
      drivers/gpu/drm/i915/intel_pm.c:7760 sandybridge_pcode_write+0x141/0x200 [i915]
      [  157.744642] Missing switch case (16) in gen6_check_mailbox_status
      [  157.744642] Modules linked in: snd_hda_intel i915 ax88179_178a usbnet mii x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec snd_hwdep snd_hda_core mei_me lpc_ich snd_pcm mei broadcom bcm_phy_lib tg3 ptp pps_core [last unloaded: vgem]
      [  157.744658] CPU: 5 PID: 9238 Comm: drv_hangman Tainted: G     U  W 4.8.0-rc3-CI-CI_DRM_1589+ #1
      [  157.744658] Hardware name: Dell Inc. XPS 8300  /0Y2MRG, BIOS A06 10/17/2011
      [  157.744659]  0000000000000000 ffff88011f093a98 ffffffff81426415 ffff88011f093ae8
      [  157.744662]  0000000000000000 ffff88011f093ad8 ffffffff8107d2a6 00001e50810d3c9f
      [  157.744663]  ffff880128680000 0000000000000008 0000000000000000 ffff88012868a650
      [  157.744665] Call Trace:
      [  157.744669]  [<ffffffff81426415>] dump_stack+0x67/0x92
      [  157.744672]  [<ffffffff8107d2a6>] __warn+0xc6/0xe0
      [  157.744673]  [<ffffffff8107d30a>] warn_slowpath_fmt+0x4a/0x50
      [  157.744685]  [<ffffffffa0029831>] sandybridge_pcode_write+0x141/0x200 [i915]
      [  157.744697]  [<ffffffffa002a88a>] intel_enable_gt_powersave+0x64a/0x1330 [i915]
      [  157.744712]  [<ffffffffa006b4cb>] ? i9xx_emit_request+0x1b/0x80 [i915]
      [  157.744725]  [<ffffffffa0055ed3>] __i915_add_request+0x1e3/0x370 [i915]
      [  157.744738]  [<ffffffffa00428bd>] i915_gem_do_execbuffer.isra.16+0xced/0x1b80 [i915]
      [  157.744740]  [<ffffffff811a232e>] ? __might_fault+0x3e/0x90
      [  157.744752]  [<ffffffffa0043b72>] i915_gem_execbuffer2+0xc2/0x2a0 [i915]
      [  157.744753]  [<ffffffff815485b7>] drm_ioctl+0x207/0x4c0
      [  157.744765]  [<ffffffffa0043ab0>] ? i915_gem_execbuffer+0x360/0x360 [i915]
      [  157.744767]  [<ffffffff810ea4ad>] ?  debug_lockdep_rcu_enabled+0x1d/0x20
      [  157.744769]  [<ffffffff811fe09e>] do_vfs_ioctl+0x8e/0x680
      [  157.744770]  [<ffffffff811a2377>] ? __might_fault+0x87/0x90
      [  157.744771]  [<ffffffff811a232e>] ? __might_fault+0x3e/0x90
      [  157.744773]  [<ffffffff810d3df2>] ?  trace_hardirqs_on_caller+0x122/0x1b0
      [  157.744774]  [<ffffffff811fe6cc>] SyS_ioctl+0x3c/0x70
      [  157.744776]  [<ffffffff8180fe69>] entry_SYSCALL_64_fastpath+0x1c/0xac
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97491
      Fixes: 87660502 ("drm/i915/gen6+: Interpret mailbox error flags")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lyude <cpaul@redhat.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org
      Link: http://patchwork.freedesktop.org/patch/msgid/20160826105926.3413-1-chris@chris-wilson.co.ukAcked-by: NMika Kuoppala <mika.kuoppala@intel.com>
      (cherry picked from commit 7850d1c3)
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      fc2780b6
    • J
      drm/i2c: tda998x: Register ASoC hdmi-codec and add audio DT binding · 7e567624
      Jyri Sarha 提交于
      Register ASoC HDMI codec for audio functionality and adds device tree
      binding for audio configuration.
      
      With the registered HDMI codec the tda998x node can be used like a
      regular codec node in ASoC card configurations. HDMI audio info-frame
      and audio stream header is generated by the ASoC HDMI codec. The codec
      also applies constraints for available sample-rates based on Edid Like
      Data from the display. The device tree binding document has been
      updated [1].
      
      Part of this patch has been inspired by Jean Francoise's "drm/i2c: tda998x:
      Add support of a DT graph of ports"-patch [2]. There may still be some
      identical lines left from the original patch and some of the ideas
      have come from there.
      
      [1] Documentation/devicetree/bindings/display/bridge/tda998x.txt
      [2] http://mailman.alsa-project.org/pipermail/alsa-devel/2015-July/095255.htmlSigned-off-by: NJyri Sarha <jsarha@ti.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      7e567624
    • J
      drm/i2c: tda998x: Improve tda998x_configure_audio() audio related pdata · 95db3b25
      Jyri Sarha 提交于
      Define struct tda998x_audio_params in include/drm/i2c/tda998x.h and
      use it in pdata and for tda998x_configure_audio() parameters. Also
      updates tda998x_write_aif() to take struct hdmi_audio_infoframe *
      directly as a parameter.
      Signed-off-by: NJyri Sarha <jsarha@ti.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      95db3b25
  10. 06 9月, 2016 4 次提交
  11. 01 9月, 2016 3 次提交
  12. 31 8月, 2016 2 次提交
  13. 30 8月, 2016 1 次提交
  14. 29 8月, 2016 5 次提交
    • L
      drm/imx: Add active plane reconfiguration support · c6c1f9bc
      Liu Ying 提交于
      We don't support configuring active plane on-the-fly for imx-drm.
      The relevant CRTC should be disabled before the plane configuration.
      Of course, the plane itself should be disabled as well.
      This patch adds active plane reconfiguration support by forcing CRTC
      mode change and disabling-enabling plane in plane's ->atomic_update
      callback.
      Suggested-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Peter Senna Tschudin <peter.senna@gmail.com>
      Signed-off-by: NLiu Ying <gnuiyl@gmail.com>
      Tested-by: NPeter Senna Tschudin <peter.senna@gmail.com>
      Tested-by: NLucas Stach <l.stach@pengutronix.de>
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      c6c1f9bc
    • C
      drm/i915/dvo: Remove dangling call to drm_encoder_cleanup() · 8a07fed4
      Chris Wilson 提交于
      If we hit the error path, we have never called drm_encoder_init() and so
      have nothing to cleanup. Doing so hits a null dereference:
      
      [   10.066261] BUG: unable to handle kernel NULL pointer dereference at 00000104
      [   10.066273] IP: [<c16054b4>] mutex_lock+0xa/0x15
      [   10.066287] *pde = 00000000
      [   10.066295] Oops: 0002 [#1]
      [   10.066302] Modules linked in: i915(+) video i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm iTCO_wdt iTCO_vendor_support ppdev evdev snd_intel8x0 snd_ac97_codec ac97_bus psmouse snd_pcm snd_timer snd pcspkr uhci_hcd ehci_pci soundcore sr_mod ehci_hcd serio_raw i2c_i801 usbcore i2c_smbus cdrom lpc_ich mfd_core rng_core e100 mii floppy parport_pc parport acpi_cpufreq button processor usb_common eeprom lm85 hwmon_vid autofs4
      [   10.066378] CPU: 0 PID: 132 Comm: systemd-udevd Not tainted 4.8.0-rc3-00013-gef0e1ea8 #34
      [   10.066389] Hardware name: MicroLink                               /D865GLC                        , BIOS BF86510A.86A.0077.P25.0508040031 08/04/2005
      [   10.066401] task: f62db800 task.stack: f5970000
      [   10.066409] EIP: 0060:[<c16054b4>] EFLAGS: 00010286 CPU: 0
      [   10.066417] EIP is at mutex_lock+0xa/0x15
      [   10.066424] EAX: 00000104 EBX: 00000104 ECX: 00000000 EDX: 80000000
      [   10.066432] ESI: 00000000 EDI: 00000104 EBP: f5be8000 ESP: f5971b58
      [   10.066439]  DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
      [   10.066446] CR0: 80050033 CR2: 00000104 CR3: 35945000 CR4: 000006d0
      [   10.066453] Stack:
      [   10.066459]  f503d740 f824dddf 00000000 f61170c0 f61170c0 f82371ae f850f40e 00000001
      [   10.066476]  f61170c0 f5971bcc f5be8000 f9c2d401 00000001 f8236fcc 00000001 00000000
      [   10.066491]  f5144014 f5be8104 00000008 f9c5267c 00000007 f61170c0 f5144400 f9c4ff00
      [   10.066507] Call Trace:
      [   10.066526]  [<f824dddf>] ? drm_modeset_lock_all+0x27/0xb3 [drm]
      [   10.066545]  [<f82371ae>] ? drm_encoder_cleanup+0x1a/0x132 [drm]
      [   10.066559]  [<f850f40e>] ? drm_atomic_helper_connector_reset+0x3f/0x5c [drm_kms_helper]
      [   10.066644]  [<f9c2d401>] ? intel_dvo_init+0x569/0x788 [i915]
      [   10.066663]  [<f8236fcc>] ? drm_encoder_init+0x43/0x20b [drm]
      [   10.066734]  [<f9bf1fce>] ? intel_modeset_init+0x1436/0x17dd [i915]
      [   10.066791]  [<f9b37636>] ? i915_driver_load+0x85a/0x15d3 [i915]
      [   10.066846]  [<f9b3603d>] ? i915_driver_open+0x5/0x5 [i915]
      [   10.066857]  [<c14af4d0>] ? firmware_map_add_entry.part.2+0xc/0xc
      [   10.066868]  [<c1343daf>] ? pci_device_probe+0x8e/0x11c
      [   10.066878]  [<c140cec8>] ? driver_probe_device+0x1db/0x62e
      [   10.066888]  [<c120c010>] ? kernfs_new_node+0x29/0x9c
      [   10.066897]  [<c13438e0>] ? pci_match_device+0xd9/0x161
      [   10.066905]  [<c120c48b>] ? kernfs_create_dir_ns+0x42/0x88
      [   10.066914]  [<c140d401>] ? __driver_attach+0xe6/0x11b
      [   10.066924]  [<c1303b13>] ? kobject_add_internal+0x1bb/0x44f
      [   10.066933]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066941]  [<c140a2d2>] ? bus_for_each_dev+0x46/0x7f
      [   10.066950]  [<c140c502>] ? driver_attach+0x1a/0x34
      [   10.066958]  [<c140d31b>] ? driver_probe_device+0x62e/0x62e
      [   10.066966]  [<c140b758>] ? bus_add_driver+0x217/0x32a
      [   10.066975]  [<f8403000>] ? 0xf8403000
      [   10.066982]  [<c140de27>] ? driver_register+0x5f/0x108
      [   10.066991]  [<c1000493>] ? do_one_initcall+0x49/0x1f6
      [   10.067000]  [<c1082299>] ? pick_next_task_fair+0x14b/0x2a3
      [   10.067008]  [<c1603c8d>] ? __schedule+0x15c/0x4fe
      [   10.067016]  [<c1604104>] ? preempt_schedule_common+0x19/0x3c
      [   10.067027]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067035]  [<c1604139>] ? _cond_resched+0x12/0x1a
      [   10.067044]  [<c116f9aa>] ? kmem_cache_alloc+0x8f/0x11f
      [   10.067052]  [<c11051de>] ? do_init_module+0x17/0x230
      [   10.067060]  [<c11703dd>] ? kfree+0x137/0x203
      [   10.067068]  [<c110523d>] ? do_init_module+0x76/0x230
      [   10.067078]  [<c10cadf3>] ? load_module+0x2a39/0x333f
      [   10.067087]  [<c10cb8b2>] ? SyS_finit_module+0x96/0xd5
      [   10.067096]  [<c1132231>] ? vm_mmap_pgoff+0x79/0xa0
      [   10.067105]  [<c1001e96>] ? do_fast_syscall_32+0xb5/0x1b0
      [   10.067114]  [<c16086a6>] ? sysenter_past_esp+0x47/0x75
      [   10.067121] Code: c8 f7 76 c1 e8 8e cc d2 ff e9 45 fe ff ff 66 90 66 90 66 90 66 90 90 ff 00 7f 05 e8 4e 0c 00 00 c3 53 89 c3 e8 75 ec ff ff 89 d8 <ff> 08 79 05 e8 fa 0a 00 00 5b c3 53 89 c3 85 c0 74 1b 8b 03 83
      [   10.067180] EIP: [<c16054b4>] mutex_lock+0xa/0x15 SS:ESP 0068:f5971b58
      [   10.067190] CR2: 0000000000000104
      [   10.067222] ---[ end trace 049f1f09da45a856 ]---
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Fixes: 580d8ed5 ("drm/i915: Give encoders useful names")
      Reviewed-by: NDavid Weinehall <david.weinehall@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: drm-intel-fixes@lists.freedesktop.org
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20160823092558.14931-1-chris@chris-wilson.co.uk
      (cherry picked from commit 8f76aa0e)
      8a07fed4
    • M
      drm/atomic: Don't potentially reset color_mgmt_changed on successive property updates. · add1fa75
      Mario Kleiner 提交于
      Due to assigning the 'replaced' value instead of or'ing it,
      if drm_atomic_crtc_set_property() gets called multiple times,
      the last call will define the color_mgmt_changed flag, so
      a non-updating call to a property can reset the flag and
      prevent actual hw state updates required by preceding
      property updates.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: <stable@vger.kernel.org> # v4.6+
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      add1fa75
    • R
      drm/msm: protect against faults from copy_from_user() in submit ioctl · d78d383a
      Rob Clark 提交于
      An evil userspace could try to cause deadlock by passing an unfaulted-in
      GEM bo as submit->bos (or submit->cmds) table.  Which will trigger
      msm_gem_fault() while we already hold struct_mutex.  See:
      
      https://github.com/freedreno/msmtest/blob/master/evilsubmittest.c
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      d78d383a
    • R
      drm/msm: fix use of copy_from_user() while holding spinlock · 89f82cbb
      Rob Clark 提交于
      Use instead __copy_from_user_inatomic() and fallback to slow-path where
      we drop and re-aquire the lock in case of fault.
      
      Cc: stable@vger.kernel.org
      Reported-by: NVaishali Thakkar <vaishali.thakkar@oracle.com>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      89f82cbb