1. 08 Jul, 2019 6 commits
    • james qian wang (Arm Technology China)'s avatar
      drm/komeda: Computing layer_split internally · 1930c112
      For layer_split no need user to enable/disable it, but compute it in
      komeda internally, komeda will enable it if the scaling exceed the
      acceptable range of scaler.
      Signed-off-by: default avatarjames qian wang (Arm Technology China) <james.qian.wang@arm.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190708065923.4887-1-james.qian.wang@arm.com
      1930c112
    • Daniel Vetter's avatar
      MAINTAINERS: maintain drm/arm drivers in drm-misc for now · 75c5bf97
      Daniel Vetter authored
      From discussions with Liviu it sounded like the komeda team would
      benefit a bit from more cross-review with other drivers. To make sure
      komeda is aligned with how similar problems are solved in other
      drivers (in the end everyone ends up with similar ideas on how to
      solve various display engine design issues).
      
      An option would be to use drm-misc as an incubator for a few kernel
      releases, at least until the big design items have been tackled: Aside
      from the four kms properties already landed that we need to take out
      again there's also a pile of new ones proposed already for komeda.
      drm-misc seems to work fairly well at encouraging these kind of
      cross-driver reviews and working on cross-driver infrastructure in drm
      core. Later on we can move all the drivers out to a dedicated arm tree
      again (if that's desired).
      
      Of coures that would mean Lowry and James need drm-misc commit rights
      (all other arm contributors have it already I think).
      
      Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
      Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <maxime.ripard@bootlin.com>
      Cc: Sean Paul <sean@poorly.run>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
      Acked-by: default avatarJames Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190705121006.26085-5-daniel.vetter@ffwll.ch
      75c5bf97
    • Daniel Vetter's avatar
      drm/komeda: Remove layer_split property · c945623c
      Daniel Vetter authored
      Properties are uapi like anything else, with all the usual rules
      regarding review, testcases, open source userspace ... Furthermore
      driver-private kms properties are highly discouraged, over the past
      few years we've realized we need to make a serious effort at better
      standardizing this stuff.
      
      Again this probably needs multiple pieces to solve this properly:
      
      - Instead of expecting userspace to compute this (and duplicating
        modeset code), the kernel driver should compute when it's necessary
        to enable layer_split mode to make a configuration possible. I.e. in
        komeda_plane_atomic_check() first try komeda_build_layer_data_flow()
        and if that fails, try komeda_build_layer_split_data_flow(), and set
        dflow.en_split accordingly. Assuming I understand somewhat correctly
        what this does.
      
      - If this is needed for validation then you want a debugfs file to
        force this one way or the other, or alternatively  use
        ->atomic_print_state to dump such hidden driver-private state.
        Depends upon how you do your validation ofc.
      
      Fixes: a407a650 ("drm/komeda: Add layer split support")
      Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
      Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190705121006.26085-4-daniel.vetter@ffwll.ch
      c945623c
    • Daniel Vetter's avatar
      drm/komeda: remove img_enhancement property · a76f612c
      Daniel Vetter authored
      Properties are uapi like anything else, with all the usual rules
      regarding review, testcases, open source userspace ... Furthermore
      driver-private kms properties are highly discouraged, over the past
      few years we've realized we need to make a serious effort at better
      standardizing this stuff.
      
      Again this probably needs multiple pieces to solve this properly:
      
      - Instead of expecting userspace to compute this (and duplicating
        modeset code), the kernel driver should compute when it's possible
        to enable this better up/downscale mode (assuming I understood
        Liviu correctly on what this does) automatically.
      
      - If this is needed for validation then you want a debugfs file to
        force this one way or the other, or alternatively  use
        ->atomic_print_state to dump such hidden driver-private state.
        Depends upon how you do your validation ofc.
      
      Fixes: 42b6f118 ("drm/komeda: Add image enhancement support")
      Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
      Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190705121006.26085-3-daniel.vetter@ffwll.ch
      a76f612c
    • Daniel Vetter's avatar
      drm/komeda: remove slave_planes property · 8aa0625f
      Daniel Vetter authored
      Properties are uapi like anything else, with all the usual rules
      regarding review, testcases, open source userspace ... Furthermore
      driver-private kms properties are highly discouraged, over the past
      few years we've realized we need to make a serious effort at better
      standardizing this stuff.
      
      Again this probably needs multiple pieces to solve this properly:
      
      - To make plane configuration less surprising to userspace you
        propably need to virtualize planes, and reorder which logical plane
        you map to which physical one dynamically. Instead of exposing a
        komeda-specific limitation to userspace and expecting them to dtrt.
        I think msm and rcar-du do that already (and others), if you need
        people to chat with or example code.
      
      - If this is needed for validation, again ->atomic_print_state and the
        infrastructure around that is your friend.
      
      Fixes: 3b9dfa4e ("drm/komeda: Add slave pipeline support")
      Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
      Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190705121006.26085-2-daniel.vetter@ffwll.ch
      8aa0625f
    • Daniel Vetter's avatar
      drm/komeda: Remove clock ratio property · 505f6cff
      Daniel Vetter authored
      Properties are uapi like anything else, with all the usual rules
      regarding review, testcases, open source userspace ... Furthermore
      driver-private kms properties are highly discouraged, over the past
      few years we've realized we need to make a serious effort at better
      standardizing this stuff.
      
      From the discussion with Liviu the solution for these here needs
      multiple pieces:
      
      - For being able to reliably read the memory clock we need a DT
        property, plus maybe DT override snippets to fix it if it's wrong.
      
      - For exposing plane limitations to userspace there's TEST_ONLY. There
        is a bit a gap in telling userspace better that scaling doesn't work
        due to limits (atm a good strategy is to retry again without scaling
        when adding a plane didn't work the first time around). But that
        needs a more generic solution, not exposing something extremely
        komeda specific.
      
      - If this is needed by validation tools, you can still expose it in
        debugfs. We have an entire nice infrastructure for debug printing of
        kms objects already, see the various atomic_print_state callbacks
        and infrastructure around them.
      
      Fixes: 1f7f9ab7 ("drm/komeda: Add engine clock requirement check for the downscaling")
      Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
      Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Cc: Brian Starkey <brian.starkey@arm.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190705121006.26085-1-daniel.vetter@ffwll.ch
      505f6cff
  2. 02 Jul, 2019 1 commit
  3. 01 Jul, 2019 2 commits
  4. 28 Jun, 2019 1 commit
  5. 26 Jun, 2019 3 commits
  6. 25 Jun, 2019 4 commits
  7. 21 Jun, 2019 5 commits
    • Ayan Halder's avatar
      drm/komeda: Make Komeda interrupts shareable · 2cfb1981
      Ayan Halder authored
      Komeda interrupts may be shared with other hardware blocks.
      One needs to use devm_request_irq() with IRQF_SHARED to create a shared
       interrupt handler.
      As a result of not using drm_irq_install() api, one needs to set
      "(struct drm_device *)->irq_enabled = true/false" to enable/disable
      vblank interrupts.
      
      Changes from v1:-
      1. Squashed the following two patches into one (as the second patch is a
      consequence of the first one):-
         drm/komeda: Avoid using DRIVER_IRQ_SHARED
         drm/komeda: Enable/Disable vblank interrupts
      2. Fixed the commit message (as pointed by Daniel Vetter)
      3. Removed calls to 'drm_irq_uninstall()' as we are no longer using
      drm_irq_install()
      4. Removed the struct member 'komeda_kms_driver.irq_handler' as it is not
      used anywhere.
      Signed-off-by: default avatarAyan Halder <ayan.halder@arm.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      2cfb1981
    • Arnd Bergmann's avatar
      drm/komeda: fix 32-bit komeda_crtc_update_clock_ratio · 0b044a99
      Arnd Bergmann authored
      clang points out a bug in the clock calculation on 32-bit, that leads
      to the clock_ratio always being zero:
      
      drivers/gpu/drm/arm/display/komeda/komeda_crtc.c:31:36: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
              aclk = komeda_calc_aclk(kcrtc_st) << 32;
      
      Move the shift into the division to make it apply on a 64-bit
      variable. Also use the more expensive div64_u64() instead of div_u64()
      to account for pxlclk being a 64-bit integer.
      
      Fixes: 1f7f9ab7 ("drm/komeda: Add engine clock requirement check for the downscaling")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarJames Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      0b044a99
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2019-06-19' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · 417f2544
      Dave Airlie authored
      Features:
      - HDR support (Uma, Ville)
      - Add I2C symlink under HDMI connector similar to DP (Oleg)
      - Add ICL multi-segmented gamma support (Shashank, Uma)
      - Update register whitelist support for new hardware (Robert, John)
      - GuC firmware update with updated ABI interface (Michal, Oscar)
      - Add support for new DMC header versions (Lucas)
      - In-kernel blitter client for selftest use (Matthew)
      - Add Mule Creec Canyon (MCC) PCH support to go with EHL (Matt)
      - EHL platform feature updates (Matt)
      - Use Command Transport Buffers with GuC on all gens (Daniele)
      - New i915.force_probe module parameter to replace i915.alpha_support (Jani)
      
      Refactoring:
      - Better runtime PM code abstraction/encapsulation (Daniele)
      - VBT parsing cleanup and improvements (Jani)
      - Move display code to its own subdirectory (Jani)
      - Header cleanup (Jani, Daniele)
      - Prep work for subsclice mask expansion (Stuart)
      - Use uncore mmio register accessors more, remove unused macro wrappers (Tvrtko)
      - Remove unused atomic property get/set stubs (Maarten)
      - GTT cleanups and improvements (Mika)
      - Pass intel_ types instead of drm_ types in plenty of display code (Ville)
      - Engine reset, hangcheck, fault code cleanups and improvements (Tvrtko)
      - Consider AML variants simply as either KBL or CFL ULX (Ville)
      - State checker cleanups and improvements (Ville)
      - GEM code reorganization to more files under gem subdirectory (Chris)
      - Reducing dependency on a coarse struct_mutex (Chris)
      
      Fixes:
      - Fix use of uninitialized/incorrect error pointers (Colin, Dan)
      - Fix DSI fastboot on some VLV/CHV platforms (Hans)
      - Fix DSI error path (Hans)
      - Add ICL port A combo PHY HW state check (Imre)
      - Fix ICL AUX-B HW not done issue (Imre)
      - Fix perf whitelist on gen10+ (Lionel)
      - Fix PSR exit by forcing manual exit on older gens (José)
      - Match voltage ranges instead of exact values (Lucas)
      - Fix SDVO HDMI audio, with cleanups (Ville)
      - Fix plane state dumps (Ville)
      - Fix driver cleanup code to support driver hot unbind (Janusz)
      - Add checks for ICL memory bandwidth requirements (Ville)
      - Fix toggling between no C8 planes vs. at least one C8 plane (Ville)
      - Improved checks on PLL usage conditions, refactoring (Ville)
      - Avoid clobbering M/N values in fastset fuzzy checks (Ville)
      - Take a runtime pm wakeref for atomic commits (Chris)
      - Do not allow runtime pm autosuspend to remove userspace GGTT mmaps too quickly (Chris)
      - Avoid refcount_inc on known zero count to avoid debug flagging (Chris)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87v9x1lpdh.fsf@intel.com
      417f2544
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2019-06-20' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · 39a207d0
      Dave Airlie authored
      drm-misc-next for v5.3:
      
      UAPI Changes:
      - Give each dma-buf their own inode, add DMA_BUF_SET_NAME ioctl and a show_fdinfo handler.
      
      Cross-subsystem Changes:
      - Pull in the topic/remove-fbcon-notifiers branch:
        * remove fbdev notifier usage for fbcon, as prep work to clean up the fbcon locking
        * assorted locking checks in vt/console code
        * assorted notifier and cleanups in fbdev and backlight code
      
      Core Changes:
      - Make drm_debugfs_create_files() never fail.
      - add debug print to update_vblank_count.
      - Add DP_DPCD_QUIRK_NO_SINK_COUNT quirk.
      - Add todo item for drm_gem_objects.
      - Unexport drm_gem_(un)pin/v(un)map.
      - Document struct drm_cmdline_mode.
      - Rewrite the command handler for mode names, and add support to specify
        rotation, reflection and overscan. With a new selftest! :)
      - Fixes to drm/client for improving rotation support, and fixing variable scope.
      - Small fixes to self refresh helper.
      
      Driver Changes:
      - Add rockchip RK3328 support.
      - Assorted driver fixes to rockchip, vc4, rcar-du, vkms.
      - Expose panfrost performance counters through unstable ioctl's, hidden
        behind a module parameter.
      - Enumerate CRC sources list in vkms.
      - Add a basic kms driver for the Ingenic JZ47xx SoC, which will be expanded
        soon with more advanced features.
      - Suspend/resume fix for stm.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/18e22ec1-adf3-3a75-34a3-9fe09a91eef5@linux.intel.com
      39a207d0
    • Dave Airlie's avatar
      Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next · 031e610a
      Dave Airlie authored
      - The coherent memory changes including mm changes.
      - Some vmwgfx debug fixes.
      - Removal of vmwgfx legacy security checks.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Thomas Hellstrom <VMware> <thomas@shipmail.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190619072531.4026-1-thomas@shipmail.org
      031e610a
  8. 20 Jun, 2019 3 commits
  9. 19 Jun, 2019 15 commits