1. 18 7月, 2014 15 次提交
  2. 10 7月, 2014 1 次提交
    • S
      drm/tilcdc: Fix build breakage · 62eb3e20
      Sachin Kamat 提交于
      Commit 34ea3d38 ("drm: add register and unregister functions
      for connectors") probably missed out converting the
      drm_sysfs_connector_remove instances in the following files.
      Without this patch we get the following compilation error:
      ERROR: "drm_sysfs_connector_remove" [drivers/gpu/drm/tilcdc/tilcdc.ko] undefined!
      Signed-off-by: NSachin Kamat <sachin.kamat@samsung.com>
      CC: Thomas Wood <thomas.wood@intel.com>
      CC: David Herrmann <dh.herrmann@gmail.com>
      CC: Daniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      62eb3e20
  3. 09 7月, 2014 3 次提交
    • D
      drm/mst: fix build with debugfs off. · 75bc08ab
      Dave Airlie 提交于
      seq_file.h was being pulled in via drm_mm.h in that case.
      
      Reported-by: Matthew Thode (on irc)
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      75bc08ab
    • D
      drm/tilcdc: oops a Module.symvers snuck in · 1f834c32
      Dave Airlie 提交于
      remove it.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1f834c32
    • D
      Merge tag 'drm-intel-next-2014-06-20' of git://anongit.freedesktop.org/drm-intel into drm-next · ca5a1b9b
      Dave Airlie 提交于
      - Accurate frontbuffer tracking and frontbuffer rendering invalidate, flush and
        flip events. This is prep work for proper PSR support and should also be
        useful for DRRS&fbc.
      - Runtime suspend hardware on system suspend to support the new SOix sleep
        states, from Jesse.
      - PSR updates for broadwell (Rodrigo)
      - Universal plane support for cursors (Matt Roper), including core drm patches.
      - Prefault gtt mappings (Chris)
      - baytrail write-enable pte bit support (Akash Goel)
      - mmio based flips (Sourab Gupta) instead of blitter ring flips
      - interrupt handling race fixes (Oscar Mateo)
      
      And old, not yet merged features from the previous round:
      - rps/turbo support for chv (Deepak)
      - some other straggling chv patches (Ville)
      - proper universal plane conversion for the primary plane (Matt Roper)
      - ppgtt on vlv from Jesse
      - pile of cleanups, little fixes for insane corner cases and improved debug
        support all over
      
      * tag 'drm-intel-next-2014-06-20' of git://anongit.freedesktop.org/drm-intel: (99 commits)
        drm/i915: Update DRIVER_DATE to 20140620
        drivers/i915: Fix unnoticed failure of init_ring_common()
        drm/i915: Track frontbuffer invalidation/flushing
        drm/i915: Use new frontbuffer bits to increase pll clock
        drm/i915: don't take runtime PM reference around freeze/thaw
        drm/i915: use runtime irq suspend/resume in freeze/thaw
        drm/i915: Properly track domain of the fbcon fb
        drm/i915: Print obj->frontbuffer_bits in debugfs output
        drm/i915: Introduce accurate frontbuffer tracking
        drm/i915: Drop schedule_back from psr_exit
        drm/i915: Ditch intel_edp_psr_update
        drm/i915: Drop unecessary complexity from psr_inactivate
        drm/i915: Remove ctx->last_ring
        drm/i915/chv: Ack interrupts before handling them (CHV)
        drm/i915/bdw: Ack interrupts before handling them (GEN8)
        drm/i915/vlv: Ack interrupts before handling them (VLV)
        drm/i915: Ack interrupts before handling them (GEN5 - GEN7)
        drm/i915: Don't BUG_ON in i915_gem_obj_offset
        drm/i915: Grab dev->struct_mutex in i915_gem_pageflip_info
        drm/i915: Add some L3 registers to the parser whitelist
        ...
      
      Conflicts:
      	drivers/gpu/drm/i915/i915_drv.c
      ca5a1b9b
  4. 08 7月, 2014 21 次提交
    • M
      drm: Remove command line guard for universal planes · c7dbc6c9
      Matt Roper 提交于
      Universal planes are ready to leave 'experimental' state so drop the
      kernel command line parameter that we've been hiding them behind.
      Userspace clients that wish to receive universal planes will still need
      to opt-in by setting the appropriate capability bit, so this should have
      no impact on existing userspace.
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c7dbc6c9
    • D
      drm/helper: add Displayport multi-stream helper (v0.6) · ad7f8a1f
      Dave Airlie 提交于
      This is the initial import of the helper for displayport multistream.
      
      It consists of a topology manager, init/destroy/set mst state
      
      It supports DP 1.2 MST sideband msg protocol handler - via hpd irqs
      
      connector detect and edid retrieval interface.
      
      It supports i2c device over DP 1.2 sideband msg protocol (EDID reads only)
      
      bandwidth manager API via vcpi allocation and payload updating,
      along with a helper to check the ACT status.
      
      Objects:
      MST topology manager - one per toplevel MST capable GPU port - not sure if this should be higher level again
      MST branch unit - one instance per plugged branching unit - one at top of hierarchy - others hanging from ports
      MST port - one port per port reported by branching units, can have MST units hanging from them as well.
      
      Changes since initial posting:
      a) add a mutex responsbile for the queues, it locks the sideband and msg slots, and msgs to transmit state
      b) add worker to handle connection state change events, for MST device chaining and hotplug
      c) add a payload spinlock
      d) add path sideband msg support
      e) fixup enum path resources transmit
      f) reduce max dpcd msg to 16, as per DP1.2 spec.
      g) separate tx queue kicking from irq processing and move irq acking back to drivers.
      
      Changes since v0.2:
      a) reorganise code,
      b) drop ACT forcing code
      c) add connector naming interface using path property
      d) add topology dumper helper
      e) proper reference counting and lookup for ports and mstbs.
      f) move tx kicking into a workq
      g) add aux locking - this should be redone
      h) split teardown into two parts
      i) start working on documentation on interface.
      
      Changes since v0.3:
      a) vc payload locking and tracking fixes
      b) add hotplug callback into driver - replaces crazy return 1 scheme
      c) txmsg + mst branch device refcount fixes
      d) don't bail on mst shutdown if device is gone
      e) change irq handler to take all 4 bytes of SINK_COUNT + ESI vectors
      f) make DP payload updates timeout longer - observed on docking station redock
      g) add more info to debugfs dumper
      
      Changes since v0.4:
      a) suspend/resume support
      b) more debugging in debugfs
      
      Changes since v0.5:
      a) use byte * to avoid unnecessary stack usage
      b) fix num_sdp_streams interpretation.
      c) init payload state for unplug events
      d) remove lenovo dock sink count hack
      e) drop aux lock - post rebase
      f) call hotplug on port destroy
      
      TODO:
      misc features
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ad7f8a1f
    • D
      drm: add a path blob property · 43aba7eb
      Dave Airlie 提交于
      This property will be used by the MST code to provide userspace
      with a path to parse so it can recognise connectors around hotplugs.
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      43aba7eb
    • D
      drm/fb_helper: allow adding/removing connectors later · 65c2a89c
      Dave Airlie 提交于
      This is required to get fbcon probing to work on new connectors,
      callers should acquire the mode config lock before calling these.
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      65c2a89c
    • D
      drm/crtc: add interface to reinitialise the legacy mode group · 2390cd11
      Dave Airlie 提交于
      This can be called to update things after dynamic connectors/encoders
      are created/deleted.
      Reviewed-by: NTodd Previte <tprevite@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      2390cd11
    • S
      drm/udl: Implement page_flip ioctl · 40377ef2
      Stéphane Marchesin 提交于
      This is a very crude page_flip implementation for UDL. There are ways
      to make it better (make it asynchronous, make it do actual vsynced
      flips...) but that's for another patch.
      
      [airlied: fixup primary change]
      Signed-off-by: NStéphane Marchesin <marcheu@chromium.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      40377ef2
    • S
      drm/udl: add vblank support · 26507b06
      Stéphane Marchesin 提交于
      This is needed to be able to send page flip completion events.
      Also while I'm at it, fix the error paths on init.
      Signed-off-by: NStéphane Marchesin <marcheu@chromium.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      26507b06
    • T
      drm/tegra: Implement race-free hotplug detection · e2215321
      Thierry Reding 提交于
      A race condition currently exists on Tegra, where it can happen that a
      monitor attached via HDMI isn't detected during the initial FB helper
      setup, but the hotplug event happens too early to be processed by the
      poll helpers because they haven't been initialized yet. This happens
      because on some boards the HDMI driver can control the regulator that
      supplies the +5V pin on the HDMI connector. Therefore depending on the
      timing between the initialization of the HDMI driver and the rest of
      DRM, it's possible that the monitor returns the hotplug signal right
      within the window where we would miss it.
      
      Unfortunately, drm_kms_helper_poll_init() will wreak havoc when called
      before at least some parts of the FB helpers have been set up.
      
      This commit fixes this by splitting out the minimum of initialization
      required to make drm_kms_helper_poll_init() work into a separate
      function that can be called early. It is then safe to move all of the
      poll helper initialization to an earlier point in time (before the
      HDMI output driver has a chance to enable the +5V supply). That way if
      the hotplug signal is returned before the initial FB helper setup, the
      monitor will be forcefully detected at that point, and if the hotplug
      signal is returned after that it will be properly handled by the poll
      helpers.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e2215321
    • T
      drm: Introduce drm_fb_helper_prepare() · 10a23102
      Thierry Reding 提交于
      To implement hotplug detection in a race-free manner, drivers must call
      drm_kms_helper_poll_init() before hotplug events can be triggered. Such
      events can be triggered right after any of the encoders or connectors
      are initialized. At the same time, if the drm_fb_helper_hotplug_event()
      helper is used by a driver, then the poll helper requires some parts of
      the FB helper to be initialized to prevent a crash.
      
      At the same time, drm_fb_helper_init() requires information that is not
      necessarily available at such an early stage (number of CRTCs and
      connectors), so it cannot be used yet.
      
      Add a new helper, drm_fb_helper_prepare(), that initializes the bare
      minimum needed to allow drm_kms_helper_poll_init() to execute and any
      subsequent hotplug events to be processed properly.
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      10a23102
    • T
      drm: Constify struct drm_fb_helper_funcs · 3a493879
      Thierry Reding 提交于
      There's no need for this to be modifiable. Make it const so that it can
      be put into the .rodata section.
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3a493879
    • D
      drm/fb-helper: Fix hpd vs. initial config races · 50c3dc97
      Daniel Vetter 提交于
      Some drivers need to be able to have a perfect race-free fbcon setup.
      Current drivers only enable hotplug processing after the call to
      drm_fb_helper_initial_config which leaves a tiny but important race.
      
      This race is especially noticable on embedded platforms where the
      driver itself enables the voltage for the hdmi output, since only then
      will monitors (after a bit of delay, as usual) respond by asserting
      the hpd pin.
      
      Most of the infrastructure is already there with the split-out
      drm_fb_helper_init. And drm_fb_helper_initial_config already has all
      the required locking to handle concurrent hpd events since
      
      commit 53f1904b
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Mar 20 14:26:35 2014 +0100
      
          drm/fb-helper: improve drm_fb_helper_initial_config locking
      
      The only missing bit is making drm_fb_helper_hotplug_event save
      against concurrent calls of drm_fb_helper_initial_config. The only
      unprotected bit is the check for fb_helper->fb.
      
      With that drivers can first initialize the fb helper, then enabel
      hotplug processing and then set up the initial config all in a
      completely race-free manner. Update kerneldoc and convert i915 as a
      proof of concept.
      
      Feature requested by Thierry since his tegra driver atm reliably boots
      slowly enough to misses the hotplug event for an external hdmi screen,
      but also reliably boots to quickly for the hpd pin to be asserted when
      the fb helper calls into the hdmi ->detect function.
      
      Cc: Thierry Reding <treding@nvidia.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      50c3dc97
    • M
      ttm: use NULL instead of 0 for ttm_bo_reserve()'s pointer arg. · 0eff2a24
      Martin Kepplinger 提交于
      Fix a sparse warning: ttm_bo_reserve()'s last argument is a
      pointer to a struct, so use NULL as nullpointer.
      Signed-off-by: NMartin Kepplinger <martink@posteo.de>
      Reviewed-by: NJingoo Han <jg1.han@samsung.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0eff2a24
    • G
      drm/tilcdc: replace late_initcall with module_init · 2023d84d
      Guido Martínez 提交于
      Use module_init instead of late_initcall, as is the norm for modular
      drivers.
      
      module_init was used until 6e8de0bd
      ("drm/tilcdc: add encoder slave (v2)") changed it to a late_initcall,
      but it does not explain why. Tests show it's working properly with
      module_init.
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      2023d84d
    • G
      drm/tilcdc: remove submodule destroy calls · 7cdcce9f
      Guido Martínez 提交于
      The TI tilcdc driver is designed with a notion of submodules. Currently,
      at unload time, these submodules are iterated and destroyed.
      
      Now that the tilcdc remove order is fixed, this can be handled perfectly
      by the kernel using the device infrastructure, since each submodule
      is a kernel driver itself, and they are only destroy()'ed at unload
      time. Therefore we move the destroy() functionality to each submodule's
      remove().
      
      Also, remove some checks in the unloading process since the new code
      guarantees the resources are allocated and need a release.
      Signed-off-by: NGuido Martínez <guido@vanguardiasur.com.ar>
      Tested-by: NDarren Etheridge <detheridge@ti.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7cdcce9f
    • G
      drm/tilcdc: fix double kfree · c9a3ad25
      Guido Martínez 提交于
      display_timings_release calls kfree on the display_timings object passed
      to it. Calling kfree after it is wrong. SLUB debug showed the following
      warning:
      
          =============================================================================
          BUG kmalloc-64 (Tainted: G        W    ): Object already free
          -----------------------------------------------------------------------------
      
          Disabling lock debugging due to kernel taint
          INFO: Allocated in of_get_display_timings+0x2c/0x214 age=601 cpu=0
          pid=884
           __slab_alloc.constprop.79+0x2e0/0x33c
           kmem_cache_alloc+0xac/0xdc
           of_get_display_timings+0x2c/0x214
           panel_probe+0x7c/0x314 [tilcdc]
           platform_drv_probe+0x18/0x48
           [..snip..]
          INFO: Freed in panel_destroy+0x18/0x3c [tilcdc] age=0 cpu=0 pid=907
           __slab_free+0x34/0x330
           panel_destroy+0x18/0x3c [tilcdc]
           tilcdc_unload+0xd0/0x118 [tilcdc]
           drm_dev_unregister+0x24/0x98
           [..snip..]
      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>
      c9a3ad25
    • G
      drm/tilcdc: fix release order on exit · eb565a2b
      Guido Martínez 提交于
      Unregister resources in the correct order on tilcdc_drm_fini, which is
      the reverse order they were registered during tilcdc_drm_init.
      
      This also means unregistering the driver before releasing its resources.
      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>
      eb565a2b
    • G
      drm/tilcdc: panel: fix leak when unloading the module · 3a490122
      Guido Martínez 提交于
      The driver did not unregister the allocated framebuffer, which caused
      memory leaks (and memory manager WARNs) when unloading. Also, the
      framebuffer device under /dev still existed after unloading.
      
      Add a call to drm_fbdev_cma_fini when unloading the module to prevent
      both issues.
      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>
      3a490122
    • 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