Skip to content
Snippets Groups Projects
  1. Sep 20, 2023
  2. Sep 06, 2023
  3. Aug 14, 2023
  4. Mar 13, 2023
  5. Feb 07, 2023
  6. Jan 05, 2023
  7. Jan 02, 2023
  8. Dec 08, 2022
  9. Jul 13, 2022
  10. Jun 21, 2022
  11. Apr 19, 2022
  12. Mar 31, 2022
    • Jagan Teki's avatar
      drm: bridge: panel: Reset the connector state pointer · 934aef88
      Jagan Teki authored
      
      Trigger hotplug event with drm_kms_helper_hotplug_event might fail if the
      connector state pointer is NULL.
      
      BUG observed in exynos dsi driver where drm_bridge_attach is trying to
      register a connector in panel_bridge before the hotplug event is triggered.
      
      WARNING: CPU: 1 PID: 1 at drivers/gpu/drm/drm_atomic_state_helper.c:494 drm_atomic_helper_connector_duplicate_state+0x94/0x9c
      Modules linked in:
      CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 5.16.0-rc1-00009-g704b1dbfa4c2 #11058
      Hardware name: Samsung Exynos (Flattened Device Tree)
      [<c0110b30>] (unwind_backtrace) from [<c010c618>] (show_stack+0x10/0x14)
      [<c010c618>] (show_stack) from [<c0b657d4>] (dump_stack_lvl+0x58/0x70)
      [<c0b657d4>] (dump_stack_lvl) from [<c01261dc>] (__warn+0xd0/0x134)
      [<c01261dc>] (__warn) from [<c0b5f628>] (warn_slowpath_fmt+0x5c/0xb4)
      [<c0b5f628>] (warn_slowpath_fmt) from [<c064bce4>] (drm_atomic_helper_connector_duplicate_state+0x94/0x9c)
      [<c064bce4>] (drm_atomic_helper_connector_duplicate_state) from [<c0666b64>] (drm_atomic_get_connector_state+0xd4/0x190)
      [<c0666b64>] (drm_atomic_get_connector_state) from [<c0667928>] (__drm_atomic_helper_set_config+0x314/0x368)
      [<c0667928>] (__drm_atomic_helper_set_config) from [<c067e628>] (drm_client_modeset_commit_atomic+0x170/0x278)
      [<c067e628>] (drm_client_modeset_commit_atomic) from [<c067e800>] (drm_client_modeset_commit_locked+0x60/0x1c8)
      [<c067e800>] (drm_client_modeset_commit_locked) from [<c067e98c>] (drm_client_modeset_commit+0x24/0x40)
      [<c067e98c>] (drm_client_modeset_commit) from [<c06509c0>] (drm_fb_helper_set_par+0xb8/0xf8)
      [<c06509c0>] (drm_fb_helper_set_par) from [<c05b86d0>] (fbcon_init+0x2c0/0x518)
      [<c05b86d0>] (fbcon_init) from [<c060636c>] (visual_init+0xc0/0x108)
      [<c060636c>] (visual_init) from [<c06085e4>] (do_bind_con_driver+0x1b8/0x3a4)
      [<c06085e4>] (do_bind_con_driver) from [<c0608b40>] (do_take_over_console+0x13c/0x1e8)
      [<c0608b40>] (do_take_over_console) from [<c05b6854>] (do_fbcon_takeover+0x78/0xd8)
      [<c05b6854>] (do_fbcon_takeover) from [<c05b1154>] (register_framebuffer+0x208/0x2e0)
      [<c05b1154>] (register_framebuffer) from [<c064ead0>] (__drm_fb_helper_initial_config_and_unlock+0x400/0x63c)
      [<c064ead0>] (__drm_fb_helper_initial_config_and_unlock) from [<c063a718>] (drm_kms_helper_hotplug_event+0x24/0x30)
      [<c063a718>] (drm_kms_helper_hotplug_event) from [<c068f668>] (exynos_dsi_host_attach+0x174/0x1fc)
      [<c068f668>] (exynos_dsi_host_attach) from [<c0699354>] (s6e8aa0_probe+0x1b4/0x218)
      
      So reset the atomic state for a given connector by freeing the state pointer
      and allocate a new empty state object. This can be done using connector
      funcs->reset helper and has to be done before the hotplug even calls.
      
      This patch calls the connector->funcs->reset in panel_bridge_attach.
      
      Signed-off-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      Acked-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarRobert Foss <robert.foss@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220303163654.3381470-3-jagan@amarulasolutions.com
      934aef88
  13. Feb 15, 2022
  14. Sep 22, 2021
  15. Mar 29, 2021
  16. Aug 08, 2020
    • Joe Perches's avatar
      drm: Remove unnecessary drm_panel_attach and drm_panel_detach · 87154ff8
      Joe Perches authored
      
      These functions are now empty and no longer
      useful so remove the functions and their uses.
      
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Bernard Zhao <bernard@vivo.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>,
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Icenowy Zheng <icenowy@aosc.io>,
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Robert Chiras <robert.chiras@nxp.com>
      Cc: dri-devel@lists.freedesktop.org,
      Cc: linux-kernel@vger.kernel.org
      Cc: opensource.kernel@vivo.com
      Signed-off-by: Sam Ravnborg <sam@ravnborg.org> # Fixed build and a few warnings
      Link: https://patchwork.freedesktop.org/patch/msgid/9e13761020750b1ce2f1fabee23ef6e2a2942882.camel@perches.com
      87154ff8
  17. Apr 25, 2020
  18. Apr 05, 2020
  19. Feb 26, 2020
  20. Feb 25, 2020
  21. Feb 10, 2020
  22. Dec 10, 2019
  23. Dec 09, 2019
    • Sam Ravnborg's avatar
      drm/panel: decouple connector from drm_panel · 06c4a9c2
      Sam Ravnborg authored
      
      To facilitate moving connector creation to display drivers,
      decouple the drm_connector from drm_panel.
      
      This patch adds a connector argument to drm_panel_get_modes().
      
      All users of drm_panel_get_modes() already had the connector
      available, so updating users was trivial.
      
      With this patch drm_panel no longer keeps a reference to the drm_connector.
      
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarJeffrey Hugo <jeffrey.l.hugo@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Jonas Karlman <jonas@kwiboo.se>
      Cc: Jernej Skrabec <jernej.skrabec@siol.net>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Joonyoung Shim <jy0922.shim@samsung.com>
      Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Stefan Agner <stefan@agner.ch>
      Cc: Alison Wang <alison.wang@nxp.com>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: CK Hu <ck.hu@mediatek.com>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
      Cc: Sandy Huang <hjc@rock-chips.com>
      Cc: "Heiko Stübner" <heiko@sntech.de>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Torsten Duwe <duwe@lst.de>
      Cc: Vasily Khoruzhick <anarsoul@gmail.com>
      Cc: Icenowy Zheng <icenowy@aosc.io>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Boris Brezillon <boris.brezillon@collabora.com>
      Cc: Hariprasad Kelam <hariprasad.kelam@gmail.com>
      Cc: Alexios Zavras <alexios.zavras@intel.com>
      Cc: Brian Masney <masneyb@onstation.org>
      Cc: Rob Clark <robdclark@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Allison Randal <allison@lohutok.net>
      Cc: Shayenne Moura <shayenneluzmoura@gmail.com>
      Cc: Abhinav Kumar <abhinavk@codeaurora.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: linux-mediatek@lists.infradead.org
      Cc: linux-renesas-soc@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Cc: linux-tegra@vger.kernel.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-7-sam@ravnborg.org
      06c4a9c2
    • Sam Ravnborg's avatar
      drm: get drm_bridge_panel connector via helper · d383fb5f
      Sam Ravnborg authored
      
      The drm_connector created by drm_panel_bridge was accessed
      via drm_panel.connector.
      Avoid the detour around drm_panel by providing a simple get method.
      This avoids direct access to the connector field in drm_panel in
      the two users.
      
      The change is done in preparation for removal of drm_panel.connector.
      
      Update pl111 and tve200 to use the new helper.
      
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
      Cc: Jonas Karlman <jonas@kwiboo.se>
      Cc: Jernej Skrabec <jernej.skrabec@siol.net>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Maxime Ripard <mripard@kernel.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-5-sam@ravnborg.org
      d383fb5f
  24. Sep 08, 2019
    • Laurent Pinchart's avatar
      drm/bridge: panel: Infer connector type from panel by default · 89958b7c
      Laurent Pinchart authored
      
      The drm panel bridge creates a connector using a connector type
      explicitly passed by the display controller or bridge driver that
      instantiates the panel bridge. Now that drm_panel reports its connector
      type, we can use it to avoid passing an explicit (and often incorrect)
      connector type to drm_panel_bridge_add() and
      devm_drm_panel_bridge_add().
      
      Several drivers report incorrect or unknown connector types to
      userspace. Reporting a different type may result in a breakage. For that
      reason, rename (devm_)drm_panel_bridge_add() to
      (devm_)drm_panel_bridge_add_typed(), and add new
      (devm_)drm_panel_bridge_add() functions that use the panel connector
      type. Update all callers of (devm_)drm_panel_bridge_add() to the _typed
      function, they will be converted one by one after testing.
      
      The panel drivers have been updated with the following Coccinelle
      semantic patch, with manual inspection and fixes to indentation.
      
      @@
      expression bridge;
      expression dev;
      expression panel;
      identifier type;
      @@
      (
      -bridge = drm_panel_bridge_add(panel, type);
      +bridge = drm_panel_bridge_add_typed(panel, type);
      |
      -bridge = devm_drm_panel_bridge_add(dev, panel, type);
      +bridge = devm_drm_panel_bridge_add_typed(dev, panel, type);
      )
      
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Reviewed-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190904132804.29680-3-laurent.pinchart@ideasonboard.com
      89958b7c
  25. Aug 28, 2019
  26. May 30, 2019
  27. May 26, 2019
  28. May 20, 2019
  29. Jan 24, 2019
  30. Jan 12, 2019
  31. Jul 13, 2018
  32. Oct 10, 2017
  33. Aug 08, 2017
    • Simona Vetter's avatar
      drm: Nuke drm_atomic_helper_connector_dpms · 7d902c05
      Simona Vetter authored
      
      It's dead code, the core handles all this directly now.
      
      The only special case is nouveau and tda988x which used one function
      for both legacy modeset code and -nv50 atomic world instead of 2
      vtables. But amounts to exactly the same.
      
      v2: Rebase over the panel/brideg refactorings in stm/ltdc.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Archit Taneja <architt@codeaurora.org>
      Cc: Andrzej Hajda <a.hajda@samsung.com>
      Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
      Cc: Peter Senna Tschudin <peter.senna@collabora.com>
      Cc: Martin Donnelly <martin.donnelly@ge.com>
      Cc: Martyn Welch <martyn.welch@collabora.co.uk>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Inki Dae <inki.dae@samsung.com>
      Cc: Joonyoung Shim <jy0922.shim@samsung.com>
      Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Stefan Agner <stefan@agner.ch>
      Cc: Alison Wang <alison.wang@freescale.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Philipp Zabel <p.zabel@pengutronix.de>
      Cc: CK Hu <ck.hu@mediatek.com>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Carlo Caione <carlo@caione.org>
      Cc: Kevin Hilman <khilman@baylibre.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Mark Yao <mark.yao@rock-chips.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
      Cc: Vincent Abriou <vincent.abriou@st.com>
      Cc: Yannick Fertre <yannick.fertre@st.com>
      Cc: Philippe Cornu <philippe.cornu@st.com>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: Chen-Yu Tsai <wens@csie.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Cc: Jyri Sarha <jsarha@ti.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
      Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
      Cc: Yakir Yang <kuankuan.y@gmail.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Jose Abreu <Jose.Abreu@synopsys.com>
      Cc: Romain Perier <romain.perier@collabora.com>
      Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
      Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
      Cc: Alexey Brodkin <abrodkin@synopsys.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Rongrong Zou <zourongrong@gmail.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Hai Li <hali@codeaurora.org>
      Cc: "Noralf Trønnes" <noralf@tronnes.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: intel-gfx@lists.freedesktop.org
      Cc: linux-mediatek@lists.infradead.org
      Cc: linux-amlogic@lists.infradead.org
      Cc: nouveau@lists.freedesktop.org
      Cc: linux-renesas-soc@vger.kernel.org
      Cc: linux-rockchip@lists.infradead.org
      Cc: linux-tegra@vger.kernel.org
      Cc: virtualization@lists.linux-foundation.org
      Cc: zain wang <wzz@rock-chips.com>
      Cc: Baoyou Xie <baoyou.xie@linaro.org>
      Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
      Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20170725080122.20548-8-daniel.vetter@ffwll.ch
      
      
      Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Reviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Acked-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Acked-by: default avatarArchit Taneja <architt@codeaurora.org>
      Tested-by: Philippe Cornu <philippe.cornu@st.com> (on stm)
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
      Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
      Acked-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      Acked-by: default avatarVincent Abriou <vincent.abriou@st.com>
      7d902c05
  34. Jul 26, 2017
  35. Jul 06, 2017
  36. Jun 21, 2017
Loading