1. 08 Jul, 2019 4 commits
    • 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 17 commits