20 Sep, 2019

2 commits

  • Pixel blend modes represent the alpha blending equation
    selection, describing how the pixels from the current
    plane are composited with the background.

    Adds a pixel_blend_mode to drm_plane_state and a
    blend_mode_property to drm_plane, and related support
    functions.

    Defines three blend modes in drm_blend.h.

    Changes since v1:
    - Moves the blending equation into the DOC comment
    - Refines the comments of drm_plane_create_blend_mode_property to not
    enumerate the #defines, but instead the string values
    - Uses fg.* instead of pixel.* and plane_alpha instead of plane.alpha
    Changes since v2:
    - Refines the comments of drm_plane_create_blend_mode_property:
    1) Puts the descriptions (after the ":") on a new line
    2) Adds explaining why @supported_modes need PREMUL as default
    Changes since v3:
    - Refines drm_plane_create_blend_mode_property(). drm_property_add_enum()
    can calculate the index itself just fine, so no point in having the
    caller pass it in.
    - Since the current DRM assumption is that alpha is premultiplied
    as default, define DRM_MODE_BLEND_PREMULTI as 0 will be better.
    - Refines some comments.
    Changes since v4:
    - Adds comments in drm_blend.h.
    - Removes setting default value in drm_plane_create_blend_mode_property()
    as it is already in __drm_atomic_helper_plane_reset().
    - Fixes to use state->pixel_blend_mode instead of using
    plane->state->pixel_blend_mode in reset function.
    - Rebases on drm-misc-next.

    Reviewed-by: Liviu Dudau
    Signed-off-by: Lowry Li
    Signed-off-by: Ayan Kumar Halder
    Reviewed-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/245734/
    (cherry picked from commit a5ec8332d4280500544e316f76c04a7adc02ce03)
    (cherry picked from commit 468dba6432ca97eedc2b8d6e6cc8905cd1e1f34e)

    Lowry Li
     
  • There are a lot of drivers that subclass drm_plane_state, all of them
    duplicate the code that links together the plane with plane_state.

    On top of that, drivers that enable core properties also have to
    duplicate the code for initializing the properties to their default
    values, which in all cases are the same as the defaults from core.

    Change since v1:
    - Make it consistent with the other helpers and require that both
    plane and state not be NULL, suggested by Boris Brezillon and
    Philipp Zabel.

    Reviewed-by: Laurent Pinchart
    Signed-off-by: Alexandru Gheorghe
    Reviewed-by: Philipp Zabel
    Link: https://patchwork.freedesktop.org/patch/msgid/20180804161530.12275-2-alexandru-cosmin.gheorghe@arm.com
    (cherry picked from commit 7f4de521001f4ea705d505c9f91f58d0f56a0e6d)
    (cherry picked from commit f09b192bf1316f0e65fa2dbb5ba4c82a558867ae)

    Alexandru Gheorghe
     

18 Apr, 2019

16 commits

  • A component master may have both OF based and non-OF based components to be
    bound with. This patch adds a helper drm_of_component_probe_with_match()
    similar to drm_of_component_probe() so that the new helper may get an
    additional provided match pointer(contains match entries for non-OF based
    components) to support this case.

    Tested-by: Meng Mingming
    Signed-off-by: Liu Ying
    (cherry picked from commit c3cad7223488638ab56c20b2c29345487857bc5f)

    Liu Ying
     
  • Signed-off-by: Laurentiu Palcu

    Laurentiu Palcu
     
  • Enable Dynamic Range and Mastering Infoframe for HDR
    content, which is defined in CEA 861.3 spec.

    The metadata will be computed based on blending
    policy in userspace compositors and passed as a connector
    property blob to driver. The same will be sent as infoframe
    to panel which support HDR.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • EA 861.3 spec adds colorimetry data block for HDMI.
    Parsing the block to get the colorimetry data from
    panel.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • Hardware may have HDR capability on certain plane
    engines. Enabling the same in drm plane structure
    so that this can be communicated to user space.

    Each drm driver should set this flag to true for planes
    which support HDR.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • This patch adds a blob property to get HDR metadata
    information from userspace. This will be send as part
    of AVI Infoframe to panel.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • A fixed PLL PMS setting for attached panel is obviously not
    enough for any other mipi panel which needs a different PLL
    output clock frequency, and besides, for the CEA-861 standard
    display modes, the 'pll_pms' table also can not cover all the
    modes requirements. So a general way is created to solve this
    problem which can provide an optimum solution to output a PLL
    bit clock to match the request frequency in a maximum degree
    and also satisfy the input clock and intermediate clocks limit
    according to the PLL specification.

    Signed-off-by: Fancy Fang
    (cherry picked from commit a73fdd5e48fe0df47685cfc197fe66edc1e28405)

    Fancy Fang
     
  • In the macro 'DSIM_DPHY_TIMING' definition, the field
    'clk_trail' assignment to 'ctrail' is missing which
    certainly needs to be added.

    Signed-off-by: Fancy Fang
    (cherry picked from commit f2818410d3d8d3b09002a85b593cee192d60bb06)
    (cherry picked from commit 4cda22c138913af72f4eddf9ce53c98d96c69379)

    Fancy Fang
     
  • The SEC provides a table to guide the DPHY TIMINGS config based
    on the PLL output bit clock frequency for DSIM. So create the
    table which is used by SEC LN14LPP DPHY with HS Timing v1.2 and
    this table will be used by the SEC DSIM Bridge driver to help to
    config the corresponding DPHY Timings correctly for each display
    mode. Along with the table, a DPHY TIMING table entry 'compare'
    method is implemented for the binary search when lookup the
    suitable DPHY TIMING entry.

    Signed-off-by: Fancy Fang
    (cherry picked from commit eb899b434be6127db26c370bf200d8072eaf01c4)
    (cherry picked from commit 3b23233dafd65d6ea8c1fa12e8992c58ebc412bc)
    (cherry picked from commit f83d7cac521cb4d20ac2f9093354f55055189ff7)

    Fancy Fang
     
  • Defer the PLL output check to the SEC DSIM Encoder's atomic check
    from SEC DSIM Bridge's mode_fixup(), since in the attached DSI
    device Bridge's mode_fixup(), it may change the data lanes number,
    and this change is done after the SEC DSIM Bridge's mode_fixup().
    And the DSIM Encoder's atomic check is the ideal place to do this
    PLL check, since it happens after all the Bridges' mode_fixup()
    done.

    Signed-off-by: Fancy Fang
    (cherry picked from commit c9bce66fed982383dde189c428d4c2ee2c2fc623)
    (cherry picked from commit ead3666313e552296da7e7b5094579b47dbdc364)
    (cherry picked from commit 6a8fa239b31eca24f32b350e3c7e3118684b7323)

    Fancy Fang
     
  • This is the abstracted bridge driver for Samsung MIPI DSIM
    controller. This driver only foucses on the DSIM controller
    itself configurations and never care about any config about
    the platforms. So it can be shared by different platforms
    without any modifications.

    Signed-off-by: Fancy Fang
    (cherry picked from commit beb9d163c755fe7ae960b79d85c0c1436a8dc057)

    Fancy Fang
     
  • This patch removes the exported function nwl_dsi_get_bit_clock that was
    used by nwl_dsi-imx driver in order to configure the phy driver speed
    and move this configuration directly into the nwl-dsi driver.
    This function is now used directly by nwl-dsi to verify which mode can or
    cannot be supported by the DSI PHY.
    Also, in nwl-dsi, add support for mode_valid and add each supported mode
    into a list kept internally so that it can apply the needed
    configuration (phyref rate, dsi lanes, bit-clock) later when the mode is
    used.

    Signed-off-by: Robert Chiras
    Reviewed-by: Laurentiu Palcu

    Robert Chiras
     
  • Since the drm_bridge_attach function now supports chained bridges, there
    is no need for nwl_dsi_add_bridge and nwl_dsi_del_bridge functions, so
    remove them.
    Now, we can pass the existent bridge to drm_bridge_attach.

    This fixes a bug created during kernel 4.14 rebase process.

    Signed-off-by: Robert Chiras

    Robert Chiras
     
  • Use the bus format that was established by CRTC in
    crtc->mode.private_flags.
    This will be available during enable phase.

    The DSI host will be configured via interface_color_coding
    and pixel_format (DPI-2 interface ports).
    Previously the interface_color_coding was hardcoded to 24-bit.

    Set the DSI pixel format before it is necessary in
    nwl_dsi_get_bit_clock, during imx_nwl_dsi_enable.

    Signed-off-by: Mirela Rabulea

    Mirela Rabulea
     
  • Currently, the Northwest Logic MIPI-DSI controller host specific code
    resides under drm/bridge, but is not a real drm_bridge. It creates a
    drm_bridge and adds itself to the drm_encoder that handles this file,
    but this is wrong, since it does not implement the drm_bridge_funcs.

    The correct way to implement a drm_bridge is to add the drm_bridge and
    let other components (another bridge or a drm_encoder) to attach to this
    bridge.
    Since we are doing this, a new compatible strings can be used for this
    driver: "nwl,mipi-dsi".

    Since this was used by nwl_dsi-imx.c, update that driver to use this
    bridge correctly.

    This is needed in order to add support for MIPI-DSI on 8MQ. The IMX_NWL
    driver will either add a DSI encoder to DRM, or a DSI bridge.
    The encoder will be used by imx-drm-core driver, while the bridge
    will be used by MXSFB driver (which creates a simple display pipe).

    Signed-off-by: Robert Chiras

    Robert Chiras
     
  • Add support for the NorthWest Logit MIPI-DSI controller found in mx8
    platforms: i.MX8qm, i.MX8qxp and i.MX8mq.
    The NWL MIPI-DSI driver is implemented as a DRM bridge.
    The MIPI-DSI encoder will contain the platform specific changes and will
    use this bridge.

    Signed-off-by: Robert Chiras

    Robert Chiras
     

14 Mar, 2019

1 commit

  • [ Upstream commit e02f5c1bb2283cfcee68f2f0feddcc06150f13aa ]

    The DRM driver stack is designed to work with cache coherent devices
    only, but permits an optimization to be enabled in some cases, where
    for some buffers, both the CPU and the GPU use uncached mappings,
    removing the need for DMA snooping and allocation in the CPU caches.

    The use of uncached GPU mappings relies on the correct implementation
    of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
    will use cached mappings nonetheless. On x86 platforms, this does not
    seem to matter, as uncached CPU mappings will snoop the caches in any
    case. However, on ARM and arm64, enabling this optimization on a
    platform where NoSnoop is ignored results in loss of coherency, which
    breaks correct operation of the device. Since we have no way of
    detecting whether NoSnoop works or not, just disable this
    optimization entirely for ARM and arm64.

    Cc: Christian Koenig
    Cc: Alex Deucher
    Cc: David Zhou
    Cc: Huang Rui
    Cc: Junwei Zhang
    Cc: Michel Daenzer
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Will Deacon
    Cc: Christoph Hellwig
    Cc: Robin Murphy
    Cc: amd-gfx list
    Cc: dri-devel
    Reported-by: Carsten Haitzler
    Signed-off-by: Ard Biesheuvel
    Reviewed-by: Christian König
    Reviewed-by: Alex Deucher
    Link: https://patchwork.kernel.org/patch/10778815/
    Signed-off-by: Christian König
    Signed-off-by: Sasha Levin

    Ard Biesheuvel
     

19 Oct, 2018

1 commit

  • This fixes a general protection fault, caused by accessing the contents
    of a flip_done completion object that has already been freed. It occurs
    due to the preemption of a non-blocking commit worker thread W by
    another commit thread X. X continues to clear its atomic state at the
    end, destroying the CRTC commit object that W still needs. Switching
    back to W and accessing the commit objects then leads to bad results.

    Worker W becomes preemptable when waiting for flip_done to complete. At
    this point, a frequently occurring commit thread X can take over. Here's
    an example where W is a worker thread that flips on both CRTCs, and X
    does a legacy cursor update on both CRTCs:

    ...
    1. W does flip work
    2. W runs commit_hw_done()
    3. W waits for flip_done on CRTC 1
    4. > flip_done for CRTC 1 completes
    5. W finishes waiting for CRTC 1
    6. W waits for flip_done on CRTC 2

    7. > Preempted by X
    8. > flip_done for CRTC 2 completes
    9. X atomic_check: hw_done and flip_done are complete on all CRTCs
    10. X updates cursor on both CRTCs
    11. X destroys atomic state
    12. X done

    13. > Switch back to W
    14. W waits for flip_done on CRTC 2
    15. W raises general protection fault

    The error looks like so:

    general protection fault: 0000 [#1] PREEMPT SMP PTI
    **snip**
    Call Trace:
    lock_acquire+0xa2/0x1b0
    _raw_spin_lock_irq+0x39/0x70
    wait_for_completion_timeout+0x31/0x130
    drm_atomic_helper_wait_for_flip_done+0x64/0x90 [drm_kms_helper]
    amdgpu_dm_atomic_commit_tail+0xcae/0xdd0 [amdgpu]
    commit_tail+0x3d/0x70 [drm_kms_helper]
    process_one_work+0x212/0x650
    worker_thread+0x49/0x420
    kthread+0xfb/0x130
    ret_from_fork+0x3a/0x50
    Modules linked in: x86_pkg_temp_thermal amdgpu(O) chash(O)
    gpu_sched(O) drm_kms_helper(O) syscopyarea sysfillrect sysimgblt
    fb_sys_fops ttm(O) drm(O)

    Note that i915 has this issue masked, since hw_done is signaled after
    waiting for flip_done. Doing so will block the cursor update from
    happening until hw_done is signaled, preventing the cursor commit from
    destroying the state.

    v2: The reference on the commit object needs to be obtained before
    hw_done() is signaled, since that's the point where another commit
    is allowed to modify the state. Assuming that the
    new_crtc_state->commit object still exists within flip_done() is
    incorrect.

    Fix by getting a reference in setup_commit(), and releasing it
    during default_clear().

    Signed-off-by: Leo Li
    Reviewed-by: Daniel Vetter
    Signed-off-by: Harry Wentland
    Link: https://patchwork.freedesktop.org/patch/msgid/1539611200-6184-1-git-send-email-sunpeng.li@amd.com

    Leo Li
     

16 Oct, 2018

1 commit

  • HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
    definitions in the header for the mask to work correctly.

    Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
    Cc: # v4.14+
    Signed-off-by: Clint Taylor
    Reviewed-by: Jani Nikula
    Reviewed-by: Shashank Sharma
    Signed-off-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/msgid/1538776335-12569-1-git-send-email-clinton.a.taylor@intel.com

    Clint Taylor
     

02 Oct, 2018

1 commit

  • Sergey Suloev reported a crash happening in drm_client_dev_hotplug()
    when fbdev had failed to register.

    [ 9.124598] vc4_hdmi 3f902000.hdmi: ASoC: Failed to create component debugfs directory
    [ 9.147667] vc4_hdmi 3f902000.hdmi: vc4-hdmi-hifi 3f902000.hdmi mapping ok
    [ 9.155184] vc4_hdmi 3f902000.hdmi: ASoC: no DMI vendor name!
    [ 9.166544] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
    [ 9.173840] vc4-drm soc:gpu: bound 3f806000.vec (ops vc4_vec_ops [vc4])
    [ 9.181029] vc4-drm soc:gpu: bound 3f004000.txp (ops vc4_txp_ops [vc4])
    [ 9.188519] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
    [ 9.195690] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops vc4_crtc_ops [vc4])
    [ 9.203523] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops vc4_crtc_ops [vc4])
    [ 9.215032] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops vc4_crtc_ops [vc4])
    [ 9.274785] vc4-drm soc:gpu: bound 3fc00000.v3d (ops vc4_v3d_ops [vc4])
    [ 9.290246] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 0
    [ 9.297464] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 9.304600] [drm] Driver supports precise vblank timestamp query.
    [ 9.382856] vc4-drm soc:gpu: [drm:drm_fb_helper_fbdev_setup [drm_kms_helper]] *ERROR* Failed to set fbdev configuration
    [ 10.404937] Unable to handle kernel paging request at virtual address 00330a656369768a
    [ 10.441620] [00330a656369768a] address between user and kernel address ranges
    [ 10.449087] Internal error: Oops: 96000004 [#1] PREEMPT SMP
    [ 10.454762] Modules linked in: brcmfmac vc4 drm_kms_helper cfg80211 drm rfkill smsc95xx brcmutil usbnet drm_panel_orientation_quirks raspberrypi_hwmon bcm2835_dma crc32_ce pwm_bcm2835 bcm2835_rng virt_dma rng_core i2c_bcm2835 ip_tables x_tables ipv6
    [ 10.477296] CPU: 2 PID: 45 Comm: kworker/2:1 Not tainted 4.19.0-rc5 #3
    [ 10.483934] Hardware name: Raspberry Pi 3 Model B Rev 1.2 (DT)
    [ 10.489966] Workqueue: events output_poll_execute [drm_kms_helper]
    [ 10.596515] Process kworker/2:1 (pid: 45, stack limit = 0x000000007e8924dc)
    [ 10.603590] Call trace:
    [ 10.606259] drm_client_dev_hotplug+0x5c/0xb0 [drm]
    [ 10.611303] drm_kms_helper_hotplug_event+0x30/0x40 [drm_kms_helper]
    [ 10.617849] output_poll_execute+0xc4/0x1e0 [drm_kms_helper]
    [ 10.623616] process_one_work+0x1c8/0x318
    [ 10.627695] worker_thread+0x48/0x428
    [ 10.631420] kthread+0xf8/0x128
    [ 10.634615] ret_from_fork+0x10/0x18
    [ 10.638255] Code: 54000220 f9401261 aa1303e0 b4000141 (f9400c21)
    [ 10.644456] ---[ end trace c75b4a4b0e141908 ]---

    The reason for this is that drm_fbdev_cma_init() removes the drm_client
    when fbdev registration fails, but it doesn't remove the client from the
    drm_device client list. So the client list now has a pointer that points
    into the unknown and we have a 'use after free' situation.

    Split drm_client_new() into drm_client_init() and drm_client_add() to fix
    removal in the error path.

    Fixes: 894a677f4b3e ("drm/cma-helper: Use the generic fbdev emulation")
    Reported-by: Sergey Suloev
    Cc: Stefan Wahren
    Cc: Eric Anholt
    Cc: Daniel Vetter
    Signed-off-by: Noralf Trønnes
    Reviewed-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20181001194536.57756-1-noralf@tronnes.org

    Noralf Trønnes
     

27 Sep, 2018

1 commit

  • This reverts commit 0c08754b59da5557532d946599854e6df28edc22.

    commit 0c08754b59da
    ("drm/panel: Add device_link from panel device to DRM device")
    creates a circular dependency under these circumstances:

    1. The panel depends on dsi-host because it is MIPI-DSI child
    device.
    2. dsi-host depends on the drm parent device (connector->dev->dev)
    this should be allowed.
    3. drm parent dev (connector->dev->dev) depends on the panel
    after this patch.

    This makes the dependency circular and while it appears it
    does not affect any in-tree drivers (they do not seem to have
    dsi hosts depending on the same parent device) this does not
    seem right.

    As noted in a response from Andrzej Hajda, the intent is
    likely to make the panel dependent on the DRM device
    (connector->dev) not its parent. But we have no way of
    doing that since the DRM device doesn't contain any
    struct device on its own (arguably it should).

    Revert this until a proper approach is figured out.

    Cc: Jyri Sarha
    Cc: Eric Anholt
    Cc: Andrzej Hajda
    Signed-off-by: Linus Walleij
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20180927124130.9102-1-linus.walleij@linaro.org

    Linus Walleij
     

18 Sep, 2018

1 commit


16 Aug, 2018

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main drm pull request for 4.19.

    Rob has some new hardware support for new qualcomm hw that I'll send
    along separately. This has the display part of it, the remaining pull
    is for the acceleration engine.

    This also contains a wound-wait/wait-die mutex rework, Peter has acked
    it for merging via my tree.

    Otherwise mostly the usual level of activity. Summary:

    core:
    - Wound-wait/wait-die mutex rework
    - Add writeback connector type
    - Add "content type" property for HDMI
    - Move GEM bo to drm_framebuffer
    - Initial gpu scheduler documentation
    - GPU scheduler fixes for dying processes
    - Console deferred fbcon takeover support
    - Displayport support for CEC tunneling over AUX

    panel:
    - otm8009a panel driver fixes
    - Innolux TV123WAM and G070Y2-L01 panel driver
    - Ilitek ILI9881c panel driver
    - Rocktech RK070ER9427 LCD
    - EDT ETM0700G0EDH6 and EDT ETM0700G0BDH6
    - DLC DLC0700YZG-1
    - BOE HV070WSA-100
    - newhaven, nhd-4.3-480272ef-atxl LCD
    - DataImage SCF0700C48GGU18
    - Sharp LQ035Q7DB03
    - p079zca: Refactor to support multiple panels

    tinydrm:
    - ILI9341 display panel

    New driver:
    - vkms - virtual kms driver to testing.

    i915:
    - Icelake:
    Display enablement
    DSI support
    IRQ support
    Powerwell support
    - GPU reset fixes and improvements
    - Full ppgtt support refactoring
    - PSR fixes and improvements
    - Execlist improvments
    - GuC related fixes

    amdgpu:
    - Initial amdgpu documentation
    - JPEG engine support on VCN
    - CIK uses powerplay by default
    - Move to using core PCIE functionality for gens/lanes
    - DC/Powerplay interface rework
    - Stutter mode support for RV
    - Vega12 Powerplay updates
    - GFXOFF fixes
    - GPUVM fault debugging
    - Vega12 GFXOFF
    - DC improvements
    - DC i2c/aux changes
    - UVD 7.2 fixes
    - Powerplay fixes for Polaris12, CZ/ST
    - command submission bo_list fixes

    amdkfd:
    - Raven support
    - Power management fixes

    udl:
    - Cleanups and fixes

    nouveau:
    - misc fixes and cleanups.

    msm:
    - DPU1 support display controller in sdm845
    - GPU coredump support.

    vmwgfx:
    - Atomic modesetting validation fixes
    - Support for multisample surfaces

    armada:
    - Atomic modesetting support completed.

    exynos:
    - IPPv2 fixes
    - Move g2d to component framework
    - Suspend/resume support cleanups
    - Driver cleanups

    imx:
    - CSI configuration improvements
    - Driver cleanups
    - Use atomic suspend/resume helpers
    - ipu-v3 V4L2 XRGB32/XBGR32 support

    pl111:
    - Add Nomadik LCDC variant

    v3d:
    - GPU scheduler jobs management

    sun4i:
    - R40 display engine support
    - TCON TOP driver

    mediatek:
    - MT2712 SoC support

    rockchip:
    - vop fixes

    omapdrm:
    - Workaround for DRA7 errata i932
    - Fix mm_list locking

    mali-dp:
    - Writeback implementation
    PM improvements
    - Internal error reporting debugfs

    tilcdc:
    - Single fix for deferred probing

    hdlcd:
    - Teardown fixes

    tda998x:
    - Converted to a bridge driver.

    etnaviv:
    - Misc fixes"

    * tag 'drm-next-2018-08-15' of git://anongit.freedesktop.org/drm/drm: (1506 commits)
    drm/amdgpu/sriov: give 8s for recover vram under RUNTIME
    drm/scheduler: fix param documentation
    drm/i2c: tda998x: correct PLL divider calculation
    drm/i2c: tda998x: get rid of private fill_modes function
    drm/i2c: tda998x: move mode_valid() to bridge
    drm/i2c: tda998x: register bridge outside of component helper
    drm/i2c: tda998x: cleanup from previous changes
    drm/i2c: tda998x: allocate tda998x_priv inside tda998x_create()
    drm/i2c: tda998x: convert to bridge driver
    drm/scheduler: fix timeout worker setup for out of order job completions
    drm/amd/display: display connected to dp-1 does not light up
    drm/amd/display: update clk for various HDMI color depths
    drm/amd/display: program display clock on cache match
    drm/amd/display: Add NULL check for enabling dp ss
    drm/amd/display: add vbios table check for enabling dp ss
    drm/amd/display: Don't share clk source between DP and HDMI
    drm/amd/display: Fix DP HBR2 Eye Diagram Pattern on Carrizo
    drm/amd/display: Use calculated disp_clk_khz value for dce110
    drm/amd/display: Implement custom degamma lut on dcn
    drm/amd/display: Destroy aux_engines only once
    ...

    Linus Torvalds
     

08 Aug, 2018

1 commit

  • Fixes for 4.19:
    - Fix UVD 7.2 instance handling
    - Fix UVD 7.2 harvesting
    - GPU scheduler fix for when a process is killed
    - TTM cleanups
    - amdgpu CS bo_list fixes
    - Powerplay fixes for polaris12 and CZ/ST
    - DC fixes for link training certain HMDs
    - DC fix for vega10 blank screen in certain cases

    From: Alex Deucher
    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180801222906.1016-1-alexander.deucher@amd.com

    Dave Airlie
     

02 Aug, 2018

1 commit


01 Aug, 2018

2 commits

  • A bit larger this time around, due to introduction of "dpu1" support
    for the display controller in sdm845 and beyond. This has been on
    list and undergoing refactoring since Feb (going from ~110kloc to
    ~30kloc), and all my review complaints have been addressed, so I'd be
    happy to see this upstream so further feature work can procede on top
    of upstream.

    Also includes the gpu coredump support, which should be useful for
    debugging gpu crashes. And various other misc fixes and such.

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGv-8y3zguY0Mj1vh=o+vrv_bJ8AwZ96wBXYPvMeQT2XcA@mail.gmail.com

    Dave Airlie
     
  • Note which task is using the entity and only kill it if the last user of
    the entity is killed. This should prevent problems when entities are leaked to
    child processes.

    v2: add missing kernel doc

    Signed-off-by: Christian König
    Reviewed-by: Andrey Grodzovsky
    Acked-by: Nayan Deshmukh
    Signed-off-by: Alex Deucher

    Christian König
     

30 Jul, 2018

4 commits

  • Add a puts function for the coredump printer to bypass printf()
    for constant strings for a speed boost. Reorganize the
    coredump printf callback to share as much code as possible.

    v2: Try to reuse code between print and puts as suggested by
    Chris Wilson

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • Add a puts() function to use seq_puts() to help speed up
    up print time for constant strings.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • Add drm_puts() for a much faster path to print constant strings
    into a drm_printer object with memcpy and friends. This can
    have seconds off of really large outputs such as GPU dumps.

    If the drm_printer object supports a custom puts function then
    use that otherwise fall back to the slower legacy printf call.

    v2: Add documentation for drm_puts() per Daniel Vetter

    Reviewed-by: Daniel Vetter
    Signed-off-by: Jordan Crouse
    [robclark fix minor htmldocs warning]
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • Add a drm printer suitable for use with the read callback for
    devcoredump or other suitable buffer based output format that
    isn't otherwise covered by seq_file.

    v2: Add improved documentation per Daniel Vetter

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     

28 Jul, 2018

1 commit

  • This patch moves all non-x86 abstraction to the ttm_set_memory header.
    It is to make function calling more clearly.

    (v2): add ttm_ prefix.

    Suggested-by: Christian König
    Signed-off-by: Huang Rui
    Reviewed-by: Bas Nieuwenhuizen
    Reviewed-by: Christian König
    Signed-off-by: Alex Deucher

    Huang Rui
     

26 Jul, 2018

2 commits


20 Jul, 2018

3 commits

  • More features for 4.19:
    - Map processes to vmids for debugging GPUVM faults
    - Raven gfxoff fixes
    - Initial gfxoff support for vega12
    - Use defines for interrupt sources rather than magic numbers
    - DC aux fixes
    - Finish DC logging TODO
    - Add more DC debugfs interfaces for conformance testing
    - Add CRC support for DCN
    - Scheduler rework in preparation for load balancing
    - Unify common smu9 code
    - Clean up UVD instancing support
    - ttm cleanups
    - Misc fixes and cleanups

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180719194001.3488-1-alexander.deucher@amd.com

    Dave Airlie
     
  • On GEM side:

    - GuC related fixes (Chris, Michal)
    - GTT read-only pages support (Jon, Chris)
    - More selftests fixes (Chris)
    - More GPU reset improvements (Chris)
    - Flush caches after GGTT writes (Chris)
    - Handle recursive shrinker for vma->last_active allocation (Chris)
    - Other execlists fixes (Chris)

    On Display side:

    - GLK HDMI fix (Clint)
    - Rework and cleanup around HPD pin (Ville)
    - Preparation work for Display Stream Compression support coming on ICL (Anusha)
    - Nuke LVDS lid notification (Ville)
    - Assume eDP is always connected (Ville)
    - Kill intel panel detection (Ville)

    Signed-off-by: Dave Airlie

    # gpg: Signature made Fri 20 Jul 2018 01:51:45 AM AEST
    # gpg: using RSA key FA625F640EEB13CA
    # gpg: Good signature from "Rodrigo Vivi "
    # gpg: aka "Rodrigo Vivi "
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg: There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 6D20 7068 EEDD 6509 1C2C E2A3 FA62 5F64 0EEB 13CA

    # Conflicts:
    # drivers/gpu/drm/i915/intel_lrc.c
    Link: https://patchwork.freedesktop.org/patch/msgid/20180719171257.GA12199@intel.com

    Dave Airlie
     
  • drm-misc-next for 4.19:

    Core Changes:
    - add support for DisplayPort CEC-Tunneling-over-AUX (Hans Verkuil)
    - more doc updates (Daniel Vetter)
    - fourcc: Add is_yuv field to drm_format_info (Ayan Kumar Halder)
    - dma-buf: correctly place BUG_ON (Michel Dänzer)

    Driver Changes:
    - more vkms support(Rodrigo Siqueira)
    - many fixes and small improments to all drivers

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180718200826.GA20165@juma

    Dave Airlie
     

19 Jul, 2018

1 commit

  • drm-misc-next for 4.19:

    Cross-subsystem Changes:
    - many dt-bindings Doc changes

    Core Changes:
    - Encoder clean ups (Ville Syrjälä)
    - Connector Writeback improvements(Boris Brezillon)
    - Fake vblank support (Boris Brezillon)
    - API for in-kernel clients (Noralf Trønnes)
    - improvements to the path of finding panels(Boris Brezillon)

    Driver Changes:
    - initial support for the virtual display driver - vkms(Haneen Mohammed and Rodrigo Siqueira)
    - panel: add Rocktech RK070ER9427 LCD support (Jagan Teki)
    - panel: add support for the EDT ETM0700G0EDH6 and EDT ETM0700G0BDH6(Jan Tuerk)
    - panel: add DLC DLC0700YZG-1 (Philipp Zabel)
    - panel: add support for BOE HV070WSA-100 (Andrzej Hajda)
    - panel: add newhaven, nhd-4.3-480272ef-atxl LCD (Tomi Valkeinen)
    - panel: add support for Innolux G070Y2-L01 (Christoph Fritz)
    - panel: add support for DataImage SCF0700C48GGU18 (Michal Vokáč)
    - panel: add support for Sharp LQ035Q7DB03 (Vladimir Zapolskiy)
    - panel: p079zca: Refactor panel driver to support multiple panels (Lin Huang)
    - sun4i: Add R40 display engine compatible(Jernej Skrabec)

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180712011137.GA26620@juma

    Dave Airlie