Skip to content
Permalink
Neil-Armstrong…
Switch branches/tags

Commits on Jan 20, 2022

  1. drm/meson: add support for MIPI-DSI transceiver

    The Amlogic G12A/G12B/SM1 SoCs embeds a Synopsys DW-MIPI-DSI transceiver (ver 1.21a),
    with a custom glue managing the IP resets, clock and data input similar to the DW-HDMI
    Glue on other Amlogic SoCs.
    
    This adds support for the Glue managing the transceiver, mimicing the init flow provided
    by Amlogic to setup the ENCL encoder, the glue, the transceiver, the digital D-PHY and the
    Analog PHY in the proper way.
    
    An optional "MEAS" clock can be enabled to measure the delay between each vsync feeding the
    DW-MIPI-DSI transceiver.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022
  2. drm/meson: add DSI encoder

    This adds an encoder bridge designed to drive a MIPI-DSI display
    by using the ENCL encoder through the internal MIPI DSI transceiver
    connected to the output of the ENCL pixel encoder.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022
  3. drm/meson: vclk: add DSI clock config

    The DSI path used the ENCL pixel encoder, thus this adds a clock
    config using the HDMI PLL in order to feed the ENCL encoder via the
    VCLK2 path and the CTS_ENCL clock output.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022
  4. drm/meson: venc: add ENCL encoder setup for MIPI-DSI output

    This adds supports for the ENCL encoder connected to a MIPI-DSI transceiver on the
    Amlogic AXG, G12A, G12B & SM1 SoCs.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022
  5. dt-bindings: display: meson-vpu: add third DPI output port

    Add third port corresponding to the ENCL DPI encoder used to connect
    to DSI or LVDS transceivers.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022
  6. dt-bindings: display: add Amlogic MIPI DSI Host Controller bindings

    The Amlogic G12A, G12B & SM1 SoCs embeds a Synopsys DW-MIPI-DSI transceiver (ver 1.21a),
    with a custom glue managing the IP resets, clock and data input similar to the DW-HDMI Glue
    on the same Amlogic SoCs.
    
    Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    superna9999 authored and intel-lab-lkp committed Jan 20, 2022

Commits on Jan 19, 2022

  1. Merge remote-tracking branch 'drm_intel_push/drm-intel-gt-next' into …

    …drm-tip
    
    # Conflicts:
    #	drivers/gpu/drm/i915/i915_drv.h
    vsyrjala committed Jan 19, 2022
  2. Merge remote-tracking branch 'drm_intel_push/drm-intel-next' into drm…

    …-tip
    
    # Conflicts:
    #	drivers/gpu/drm/i915/i915_reg.h
    #	drivers/gpu/drm/i915/intel_pm.c
    vsyrjala committed Jan 19, 2022
  3. Merge remote-tracking branch 'drm_misc_push/drm-misc-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/i915/display/intel_display_types.h
    #	drivers/gpu/drm/msm/edp/edp.h
    #	drivers/gpu/drm/msm/edp/edp_ctrl.c
    vsyrjala committed Jan 19, 2022
  4. Merge remote-tracking branch 'drm/drm-next' into drm-tip

    # Conflicts:
    #	drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
    #	drivers/gpu/drm/amd/display/dc/core/dc_link.c
    #	drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
    vsyrjala committed Jan 19, 2022
  5. drm/i915/hdmi: Ignore DP++ TMDS clock limit for native HDMI ports

    Lots of machines these days seem to have a crappy type1 DP dual
    mode adaptor chip slapped onto the motherboard. Based on the
    DP dual mode spec we currently limit those to 165MHz max TMDS
    clock.
    
    Windows OTOH ignores DP dual mode adaptors when the VBT
    indicates that the port is not actually DP++, so we can
    perhaps assume that the vendors did intend that the 165MHz
    clock limit doesn't apply here. Though it would be much
    nicer if they actually declared an explicit limit through
    VBT, but that doesn't seem to be happening either.
    
    So in order to match Windows behaviour let's ignore the
    DP dual mode adaptor's TMDS clock limit for ports that
    don't look like DP++ in VBT.
    
    Unfortunately many older VBTs misdelcare their DP++ ports
    as just HDMI (eg. ILK Dell Latitude E5410) or DP (eg. SNB
    Lenovo ThinkPad X220). So we can't really do this universally
    without risking black screens. I suppose a sensible cutoff
    is HSW+ since that's when 4k became a thing and one might
    assume that the machines have been tested to work with higher
    TMDS clock rates.
    
    v2: s/IS_BROADWELL/IS_HASWELL/
    
    Acked-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222161738.12478-1-ville.syrjala@linux.intel.com
    vsyrjala committed Jan 19, 2022
  6. drm/i915/bios: Nuke DEVICE_TYPE_DP_DUAL_MODE_BITS

    Replace the DEVICE_TYPE_DP_DUAL_MODE_BITS stuff with just
    a DP+HDMI check. The rest of the bits shouldn't really
    matter anyway.
    
    The slight change in behaviour here is that now we do look at
    the DEVICE_TYPE_NOT_HDMI_OUTPUT bit (via
    intel_bios_encoder_supports_hdmi()) when we previously ignored it.
    The one platform we know that has problems with that bit is VLV.
    But IIRC the problem was always that buggy VBTs basically never
    set that bit. So that should be OK since all it would do is make
    all DVI ports look like HDMI ports instead. Also can't imagine
    there are many VLV machines with actual DVI ports in existence.
    
    We still keep the rest of the dvo_port/aux_ch checks as we
    can't trust that DP+HDMI device type equals DP++ due to
    buggy VBTs.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-6-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  7. drm/i915/bios: Throw out the !has_ddi_port_info() codepaths

    Now that we parse the DDI port info from the VBT on all g4x+ platforms
    we can throw out all the old codepaths in intel_bios_is_port_present(),
    intel_bios_is_port_edp() and intel_bios_is_port_dp_dual_mode(). None
    of these should be called on pre-g4x platforms.
    
    For good measure throw in a WARN into intel_bios_is_port_present()
    should someone get the urge to call it on older platforms. The
    other two functions are specific to HDMI and DP so should not need
    any protection as those encoder types don't even exist on older
    platforms.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-5-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  8. drm/i915/bios: Use i915->vbt.ports[] for all g4x+

    Extend the vbt.ports[] stuff for all g4x+ platforms. We do need
    to drop the version check as some elk/ctg machines may have VBTs
    older than that. The oldest I know is an elk with version 142.
    But the child device stuff has had the correct size since at
    least version 125 (observed on my sdg), so from that angle this
    should be totally safe.
    
    This does couple of things:
    - Start using the aux_ch/ddc_pin from VBT instead of just the
      hardcoded defaults. Hopefully there are no VBTs with entirely
      bogus information here.
    - Start using i915->vbt.ports[] for intel_bios_is_port_dp_dual_mode().
      Should be fine as the logic doesn't actually change.
    - Start using i915->vbt.ports[] for intel_bios_is_port_edp().
      The old codepath only looks at the DP DVO ports, the new codepath
      looks at both DP and HDMI DVO ports. In principle that should not
      matter. We also stop looking at some of the other device type bits
      (eg. LVDS,MIPI,ANALOG,etc.). Hopefully no VBT is broken enough that
      it sets up totally conflicting device type bits (eg. LVDS+eDP at the
      same time). We also lose the "g4x->no eDP ever" hardcoding (shouldn't
      be hard to re-introduce that into eg. sanitize_device_type() if needed).
    
    Lightly smoke tested on a set of machines (one of ctg,ilk,snb,ivb each)
    with both DP and HDMI (DP++). Everything still worked as it should.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-4-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  9. drm/i915/bios: Use i915->vbt.ports[] on CHV

    CHV is currently straddling the divide by using parse_ddi_ports() stuff
    for aux_ch/ddc_pin but going through all old codepaths for the rest
    (intel_bios_is_port_present(), intel_bios_is_port_edp(),
    intel_bios_is_port_dp_dual_mode()). Let's switch over full and use
    i915->vbt.ports[] for the rest of the stuff.
    
    dvo_port_to_port() doesn't know about DSI so we won't get into
    any kind of "is port B HDMI or DSI or both?" conundrum, which
    could otherwise happen on VLV/CHV due to DSI ports living in a
    separate world from the other digital ports.
    
    Including Jani's detailed analysis here for posterity:
    "We stop checking for port A for CHV in intel_bios_is_port_present(), but
     it's a warn and I don't recall any bug reports, so probably fine. We
     could add a check in parse_ddi_port(), but meh.
    
     Ditto for intel_bios_is_port_dp_dual_mode(), except it doesn't have a
     warn.
    
     The eDP check in intel_bios_is_port_edp() becomes slightly more
     relaxed. Both the old and new check require these to be set:
    
     - DEVICE_TYPE_DISPLAYPORT_OUTPUT
     - DEVICE_TYPE_INTERNAL_CONNECTOR.
    
     The old code also required these to be unset:
    
     - DEVICE_TYPE_MIPI_OUTPUT
     - DEVICE_TYPE_COMPOSITE_OUTPUT
     - DEVICE_TYPE_DUAL_CHANNEL
     - DEVICE_TYPE_LVDS_SIGNALING
     - DEVICE_TYPE_TMDS_DVI_SIGNALING
     - DEVICE_TYPE_VIDEO_SIGNALING
     - DEVICE_TYPE_ANALOG_OUTPUT
    
     It's possible we've added these just as a sanity check for broken VBTs
     more than anything. I guess I'd see if actual problems arise.
    
     Bottom line, I think the functional changes matter only for VBTs with
     bogus data."
    
    I agree that it should work assuming the VBT isn't totally insane.
    Modern windows drivers also don't seem to check any of those
    additional device type bits, which may or may not matter for older
    devices (no idea what some old driver versions are checking).
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-3-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  10. drm/i915/bios: Introduce has_ddi_port_info()

    Pull the "do we want to use i915->vbt.ports[]?" check into
    a central place.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211217155403.31477-2-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  11. drm/malidp: Replace module initialization with DRM helpers

    Replace module_platform_driver() with drm_module_platform_driver(). The
    DRM macro respects drm_firmware_drivers_only() and fails if the flag has
    been set.
    
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-11-javierm@redhat.com
    martinezjavier committed Jan 19, 2022
  12. drm/arm/hdlcd: Replace module initialization with DRM helpers

    Replace module_platform_driver() with drm_module_platform_driver(). The
    DRM macro respects drm_firmware_drivers_only() and fails if the flag has
    been set.
    
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-10-javierm@redhat.com
    martinezjavier committed Jan 19, 2022
  13. drm/komeda: Replace module initialization with DRM helpers

    Replace module_platform_driver() with drm_module_platform_driver(). The
    DRM macro respects drm_firmware_drivers_only() and fails if the flag has
    been set.
    
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-9-javierm@redhat.com
    martinezjavier committed Jan 19, 2022
  14. drm/imx/dcss: Replace module initialization with DRM helpers

    Replace module_platform_driver() with drm_module_platform_driver(). The
    DRM macro respects drm_firmware_drivers_only() and fails if the flag has
    been set.
    
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-8-javierm@redhat.com
    martinezjavier committed Jan 19, 2022
  15. drm: Provide platform module-init macro

    Provide a helper macro to register platform DRM drivers. The new
    macro behaves like module_platform_driver() with an additional
    test if DRM modesetting has been enabled.
    
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-7-javierm@redhat.com
    martinezjavier committed Jan 19, 2022
  16. drm/hisilicon/hibmc: Replace module initialization with DRM helpers

    Replace module_pci_driver() with drm_module_pci_driver(). The DRM macro
    respects drm_firmware_drivers_only() and fails if the flag has been set.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-6-javierm@redhat.com
    Thomas Zimmermann authored and martinezjavier committed Jan 19, 2022
  17. drm/cirrus: Replace module-init boiler-plate code with DRM helpers

    Remove custom cirrus_init() and cirrus_exit() functions and initialize
    the module with DRM module helpers.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-5-javierm@redhat.com
    Thomas Zimmermann authored and martinezjavier committed Jan 19, 2022
  18. drm/bochs: Replace module-init boiler-plate code with DRM helpers

    Remove custom bochs_init() and bochs_exit() functions and initialize
    the module with DRM module helpers.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-4-javierm@redhat.com
    Thomas Zimmermann authored and martinezjavier committed Jan 19, 2022
  19. drm/ast: Replace module-init boiler-plate code with DRM helpers

    Remove custom ast_init() and ast_exit() functions and initialize the
    module with DRM module helpers.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-3-javierm@redhat.com
    Thomas Zimmermann authored and martinezjavier committed Jan 19, 2022
  20. drm: Provide PCI module-init macros

    Provide helper macros to register PCI-based DRM drivers. The new
    macros behave like module_pci_driver() with an additional test if
    DRM modesetting has been enabled.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211222082831.196562-2-javierm@redhat.com
    Thomas Zimmermann authored and martinezjavier committed Jan 19, 2022
  21. drm/i915: Remove zombie async flip vt-d w/a

    This async flip vt-d w/a was moved to a different place in
    commit 7d396ca ("drm/i195: Make the async flip VT-d workaround
    dynamic") but the drm-intel-fixes cherry-pick commit b2d73de
    ("drm/i915: Extend the async flip VT-d w/a to skl/bxt") resurrected
    the original code as well. So now we have this w/a in two places.
    Remove the resurrected zombie code.
    
    Not done as a revert to hopefully prevent any kind of
    automagic stable backport.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211208150050.17230-1-ville.syrjala@linux.intel.com
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    vsyrjala committed Jan 19, 2022
  22. drm: panel-orientation-quirks: Add quirk for the 1Netbook OneXPlayer

    The 1Netbook OneXPlayer uses a panel which has been mounted
    90 degrees rotated. Add a quirk for this.
    
    Signed-off-by: Raymond Jay Golo <rjgolo@gmail.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220113000619.90988-1-rjgolo@gmail.com
    intersectRaven authored and danvet committed Jan 19, 2022
  23. drm/selftests/test-drm_dp_mst_helper: Fix memory leak in sideband_msg…

    …_req_encode_decode
    
    Avoid leaking the "out" variable if it is not possible to allocate
    the "txmsg" variable.
    
    Fixes: 09234b8 ("drm/selftests/test-drm_dp_mst_helper: Move 'sideband_msg_req_encode_decode' onto the heap")
    Addresses-Coverity-ID: 1475685 ("Resource leak")
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220108165812.46797-1-jose.exposito89@gmail.com
    JoseExposito authored and danvet committed Jan 19, 2022
Older