Stephen Boyd
c913cd5489
drm/panel: boe-tv101wum-nl6: Ensure DSI writes succeed during disable
...
The unprepare sequence has started to fail after moving to panel bridge
code in the msm drm driver (commit 007ac0262b ("drm/msm/dsi: switch to
DRM_PANEL_BRIDGE")). You'll see messages like this in the kernel logs:
panel-boe-tv101wum-nl6 ae94000.dsi.0: failed to set panel off: -22
This is because boe_panel_enter_sleep_mode() needs an operating DSI link
to set the panel into sleep mode. Performing those writes in the
unprepare phase of bridge ops is too late, because the link has already
been torn down by the DSI controller in post_disable, i.e. the PHY has
been disabled, etc. See dsi_mgr_bridge_post_disable() for more details
on the DSI .
Split the unprepare function into a disable part and an unprepare part.
For now, just the DSI writes to enter sleep mode are put in the disable
function. This fixes the panel off routine and keeps the panel happy.
My Wormdingler has an integrated touchscreen that stops responding to
touch if the panel is only half disabled too. This patch fixes it. And
finally, this saves power when the screen is off because without this
fix the regulators for the panel are left enabled when nothing is being
displayed on the screen.
Fixes: 007ac0262b ("drm/msm/dsi: switch to DRM_PANEL_BRIDGE")
Fixes: a869b9db7a ("drm/panel: support for boe tv101wum-nl6 wuxga dsi video mode panel")
Cc: yangcong <yangcong5@huaqin.corp-partner.google.com >
Cc: Douglas Anderson <dianders@chromium.org >
Cc: Jitao Shi <jitao.shi@mediatek.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Rob Clark <robdclark@chromium.org >
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Signed-off-by: Stephen Boyd <swboyd@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230106030108.2542081-1-swboyd@chromium.org
2023-01-31 13:23:38 -08:00
Chris Morgan
249a4f5e66
drm/panel: Add Magnachip D53E6EA8966 Panel Driver
...
Support Magnachip D53E6EA8966 based panels such as the Samsung
AMS495QA01 panel as found on the Anbernic RG503. Note this driver
supports only the AMS495QA01 today which receives video signals via DSI,
however it receives commands via 3-wire SPI using DBI.
Co-developed-by: Maya Matuszczyk <maccraft123mc@gmail.com >
Signed-off-by: Maya Matuszczyk <maccraft123mc@gmail.com >
Signed-off-by: Chris Morgan <macromorgan@hotmail.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230123154603.1315112-4-macroalpha82@gmail.com
2023-01-27 09:42:30 +01:00
Jagan Teki
413ebc4803
drm: panel: jd9365da-h3: Add Radxa Display 8HD
...
Radxa Display 8HD is a family of DSI panels from Radxa that
uses jd9365da-h3 IC.
Add support for it.
Co-developed-by: Stephen Chen <stephen@radxa.com >
Signed-off-by: Stephen Chen <stephen@radxa.com >
Signed-off-by: Jagan Teki <jagan@edgeble.ai >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230123183312.436573-4-jagan@edgeble.ai
2023-01-27 08:55:00 +01:00
Jagan Teki
18d2f6d956
drm: panel: jd9365da-h3: Add Radxa Display 10HD
...
Radxa Display 10HD is a family of DSI panels from Radxa that
uses jd9365da-h3 IC.
Add panel support for it.
Signed-off-by: Jagan Teki <jagan@edgeble.ai >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230123183312.436573-2-jagan@edgeble.ai
2023-01-27 08:54:55 +01:00
Christophe Branchereau
6febdb2491
drm/panel: Add driver for the AUO A030JTN01 TFT LCD
...
Add driver for the AUO A030JTN01 panel, which is a 320x480 3.0" 4:3
24-bit TFT LCD panel with non-square pixels and a delta-RGB 8-bit
interface.
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com >
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230121162419.284523-3-cbranchereau@gmail.com
2023-01-22 11:25:06 +00:00
Jagan Teki
996e1defca
drm: exynos: dsi: Fix MIPI_DSI*_NO_* mode flags
...
HFP/HBP/HSA/EOT_PACKET modes in Exynos DSI host specifies
0 = Enable and 1 = Disable.
The logic for checking these mode flags was correct before
the MIPI_DSI*_NO_* mode flag conversion.
This patch is trying to fix this MIPI_DSI*_NO_* mode flags handling
Exynos DSI host and update the mode_flags in relevant panel drivers.
Fixes: 0f3b68b66a ("drm/dsi: Add _NO_ to MIPI_DSI_* flags disabling features")
Reviewed-by: Marek Vasut <marex@denx.de >
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org >
Reported-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com >
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com >
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de >
Signed-off-by: Marek Vasut <marex@denx.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20221212145745.15387-1-jagan@amarulasolutions.com
2023-01-20 16:04:34 +01:00
Neil Armstrong
ebd05c0e12
drm/panel: vtdr6130: fix unused ret in visionox_vtdr6130_bl_update_status
...
Fix the following warning:
panel-visionox-vtdr6130.c:249:12: warning: 'ret' is used uninitialized [-Wuninitialized]
Fixes: 9402cde934 ("drm/panel: vtdr6130: Use 16-bit brightness function")
Reported-by: Daniel Vetter <daniel@ffwll.ch >
Reported-by: kernel test robot <lkp@intel.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230119-topic-sm8550-vtdr6130-fixup-v1-1-82c4fb008138@linaro.org
2023-01-19 15:32:11 +01:00
Richard Acayan
9402cde934
drm/panel: vtdr6130: Use 16-bit brightness function
...
This panel communicates brightness in big endian. This is not a quirk of
the panels themselves, but rather, a part of the MIPI standard. Use the
new mipi_dsi_dcs_set_display_brightness_large() function that properly
handles 16-bit brightness instead of bypassing the brightness functions
entirely.
Signed-off-by: Richard Acayan <mailingradian@gmail.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Tested-by: Neil Armstrong <neil.armstrong@linaro.org > # on SM8550-MTP
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230116224909.23884-4-mailingradian@gmail.com
2023-01-19 08:21:57 +01:00
Richard Acayan
fd40749a4f
drm/panel: sofef00: Use 16-bit brightness function
...
These panels communicate brightness in big endian. This is not a quirk
of the panels themselves, but rather, a part of the MIPI standard. Use
the new mipi_dsi_dcs_set_display_brightness_large() function that
properly handles 16-bit brightness instead of doing special processing
of the brightness values.
Signed-off-by: Richard Acayan <mailingradian@gmail.com >
Tested-by: Caleb Connolly <caleb@connolly.tech >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230116224909.23884-3-mailingradian@gmail.com
2023-01-19 08:21:57 +01:00
Arnd Bergmann
499631d5ae
drm: panel: visionox: add backlight dependency
...
The newly added driver uses the backlight subsystem but is missing the
corresponding Kconfig dependency:
arm-linux-gnueabi-ld: drivers/gpu/drm/panel/panel-visionox-vtdr6130.o: in function `visionox_vtdr6130_probe':
panel-visionox-vtdr6130.c:(.text+0xdee): undefined reference to `devm_backlight_device_register'
Fixes: 65dc9360f7 ("drm: panel: Add Himax HX8394 panel controller driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230117165522.2104380-1-arnd@kernel.org
2023-01-17 19:21:03 +01:00
Thomas Zimmermann
489fbf3eab
drm/panel: Do not include <linux/fb.h>
...
Remove unnecessary include statements for <linux/fb.h>. No functional
changes. Include <linux/of.h> where the driver got the header file via
<linux/fb.h>.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Maxime Ripard <maxime@cerno.tech >
Link: https://patchwork.freedesktop.org/patch/msgid/20230111130206.29974-6-tzimmermann@suse.de
2023-01-13 13:19:13 +01:00
Thomas Zimmermann
fb28b3f0ec
drm: Include <linux/of.h> where needed
...
Include <linux/of.h> in source files that need it. Some of DRM's
source code gets OF header via drm_crtc_helper.h and <linux/fb.h>,
which can leed to unnecessary recompilation.
In drm_modes.c, add a comment on the reason for still including
<linux/fb.h>. The header file is required to get KHZ2PICOS(). The
macro is part of the UAPI headers, so it cannot be moved to a less
prominent location.
v2:
* include <linux/of.h> in komeda_drv.c (kernel test robot)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Liviu Dudau <liviu.dudau@arm.com > # komeda
Acked-by: Maxime Ripard <maxime@cerno.tech >
Link: https://patchwork.freedesktop.org/patch/msgid/20230111130206.29974-3-tzimmermann@suse.de
2023-01-13 13:18:35 +01:00
Javier Martinez Canillas
1a4cf05847
drm/panel-xinpeng-xpp055c272: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-14-javierm@redhat.com
2023-01-11 18:50:57 +01:00
Javier Martinez Canillas
7b00536a20
drm/panel-sony-tulip-truly-nt35521: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-13-javierm@redhat.com
2023-01-11 18:50:56 +01:00
Javier Martinez Canillas
2ba1f9b713
drm/panel-mantix-mlaf057we51: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-12-javierm@redhat.com
2023-01-11 18:50:55 +01:00
Javier Martinez Canillas
56c46827fc
drm/panel-sharp-ls060t1sx01: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-11-javierm@redhat.com
2023-01-11 18:50:54 +01:00
Javier Martinez Canillas
5040d554be
drm/panel-samsung-sofef00: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-10-javierm@redhat.com
2023-01-11 18:50:53 +01:00
Javier Martinez Canillas
956c5ff20b
drm/panel-samsung-s6e88a0-ams452ef01: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-9-javierm@redhat.com
2023-01-11 18:50:52 +01:00
Javier Martinez Canillas
1b633553f8
drm/panel-jdi-fhd-r63452: Drop custom DSI write macros
...
There are macros for these already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macros defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-8-javierm@redhat.com
2023-01-11 18:50:51 +01:00
Javier Martinez Canillas
b541a6d569
drm/panel-novatek-nt35950: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-7-javierm@redhat.com
2023-01-11 18:50:50 +01:00
Javier Martinez Canillas
0676f2401d
drm/panel-boe-bf060y8m-aj0: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-6-javierm@redhat.com
2023-01-11 18:50:49 +01:00
Javier Martinez Canillas
187b4bd458
drm/panel-elida-kd35t133: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-5-javierm@redhat.com
2023-01-11 18:50:48 +01:00
Javier Martinez Canillas
6497ca7069
drm/panel-leadtek-ltk050h3146w: Drop custom DSI write macro
...
There is a macro for this already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macro defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-4-javierm@redhat.com
2023-01-11 18:50:47 +01:00
Javier Martinez Canillas
8f821edcb3
drm/panel-sitronix-st7703: Drop custom DSI write macros
...
There are macros for these already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macros defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Guido Günther <agx@sigxcpu.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-3-javierm@redhat.com
2023-01-11 18:50:46 +01:00
Javier Martinez Canillas
65815d1fdc
drm/panel-asus-z00t-tm5p5-n35596: Drop custom DSI write macros
...
There are macros for these already in the <drm/drm_mipi_dsi.h> header, use
that instead and delete the custom DSI write macros defined in the driver.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230107191822.3787147-2-javierm@redhat.com
2023-01-11 18:50:45 +01:00
Abel Vesa
e22391454e
drm/panel-edp: add IVO M133NW4J panel entry
...
Add an eDP panel entry for IVO M133NW4J.
Due to lack of documentation, use the delay_200_500_p2e100 timings like
some other IVO entries for now.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org >
Reviewed-by: Johan Hovold <johan+linaro@kernel.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221231142721.338643-2-abel.vesa@linaro.org
2023-01-10 16:52:40 -08:00
Abel Vesa
9cce08cadc
drm/panel-edp: fix name for IVO product id 854b
...
The actual name is R133NW4K-R0.
Fixes: 0f9fa5f58c ("drm/panel-edp: add IVO M133NW4J-R3 panel entry")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org >
Reviewed-by: Johan Hovold <johan+linaro@kernel.org >
Tested-by: Steev Klimaszewski <steev@kali.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221231142721.338643-1-abel.vesa@linaro.org
2023-01-10 16:50:35 -08:00
Kamil Trzciński
65dc9360f7
drm: panel: Add Himax HX8394 panel controller driver
...
The driver is for panels based on the Himax HX8394 controller, such as the
HannStar HSD060BHW4 720x1440 TFT LCD panel that uses a MIPI-DSI interface.
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu >
Co-developed-by: Ondrej Jirman <megi@xff.cz >
Signed-off-by: Ondrej Jirman <megi@xff.cz >
Co-developed-by: Javier Martinez Canillas <javierm@redhat.com >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Tested-by: Tom Fitzhenry <tom@tom-fitzhenry.me.uk >
Tested-by: Peter Robinson <pbrobinson@gmail.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230102230733.3506624-3-javierm@redhat.com
2023-01-10 13:28:35 +01:00
Uwe Kleine-König
0e4dcffd33
drm/panel: raspberrypi-touchscreen: Convert to i2c's .probe_new()
...
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.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/20221118224540.619276-44-uwe@kleine-koenig.org
2023-01-10 11:04:58 +01:00
Uwe Kleine-König
446757576a
drm/panel: olimex-lcd-olinuxino: Convert to i2c's .probe_new()
...
The probe function doesn't make use of the i2c_device_id * parameter so it
can be trivially converted.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.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/20221118224540.619276-43-uwe@kleine-koenig.org
2023-01-10 11:04:58 +01:00
Neil Armstrong
2349183d32
drm/panel: add visionox vtdr6130 DSI panel driver
...
Add support for the 1080x2400 Visionox VTDR6130 AMOLED DSI panel
found on the Qualcomm SM8550 MTP board.
By default the the panel is configured to work with DSI compressed
streams, but can work in uncompressed video mode since 1080x2400 in
RGB888 fits in the 4 DSI lanes bandwidth.
While display compression is preferred for performance and power
reasons, let's start with the uncompressed video mode support and
add the DSC support later on.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
[narmstrong: moved drm/display/ include file before drm/drm_]
Link: https://patchwork.freedesktop.org/patch/msgid/20230103-topic-sm8550-upstream-vtdr6130-panel-v2-2-dd6200f47a76@linaro.org
2023-01-09 20:30:03 +01:00
Christophe Branchereau
cd6d41281e
drm/panel: add the orisetech ota5601a
...
Add the orisetech ota5601a ic driver
For now it only supports the focaltech gpt3 3" 640x480 ips panel
found in the ylm rg300x handheld.
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221219195233.375637-2-cbranchereau@gmail.com
2022-12-29 22:05:03 +01:00
Thomas Zimmermann
63aa5ec6cf
drm/mipi-dbi: Initialize default driver functions with macro
...
Introduce DRM_MIPI_DBI_SIMPLE_DISPLAY_PIPE_FUNCS to initialize MIPI-DBI
helpers to default values and convert drivers. The prepare_fb function
set by some drivers is called implicitly by simple-kms helpers, so leave
it out.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Tested-by: Javier Martinez Canillas <javierm@redhat.com >
Tested-by: Noralf Trønnes <noralf@tronnes.org > # drm/tiny/mi0283qt
Link: https://patchwork.freedesktop.org/patch/msgid/20221202125644.7917-5-tzimmermann@suse.de
2022-12-05 13:36:16 +01:00
Thomas Zimmermann
00b5497d64
drm/simple-kms: Remove drm_gem_simple_display_pipe_prepare_fb()
...
The helper drm_gem_simple_display_pipe_prepare_fb() is simple-KMS'
default implementation for prepare_fb. Remove the call from drivers
that set it explicitly. Then inline the helper into the only caller
within simple-kms helpers. No functional changes.
Simple-KMS drivers that implement the prepare_fb callback should call
drm_gem_plane_helper_prepare_fb() directly.
v2:
* fix typo in commit message
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221202125644.7917-2-tzimmermann@suse.de
2022-12-05 13:35:37 +01:00
Drew Davenport
8d5d063fd6
drm/panel-samsung-atna33xc20: Extend autosuspend delay
...
Avoid the panel oscillating on and off during boot. In some cases it
will be more than 1000ms between powering the panel to read the EDID early
during boot, and enabling the panel for display. Extending the
autosuspend delay avoids autosuspending during this interval.
Signed-off-by: Drew Davenport <ddavenport@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221117133655.5.I96ce2a565ff893eddcbee70174c991179311a3ae@changeid
2022-11-29 14:25:19 -08:00
Drew Davenport
7e682946db
drm/panel-simple: Use ktime_get_boottime for delays
...
ktime_get_boottime continues while the device is suspended. This change
ensures that the resume path will not be delayed if the power off delay
has already been met while the device is suspended
Signed-off-by: Drew Davenport <ddavenport@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221117133655.3.Iebd9f79aba0a62015fd2383fe6986c2d6fe12cfd@changeid
2022-11-29 14:24:22 -08:00
Drew Davenport
62e43673ca
drm/panel-samsung-atna33xc20: Use ktime_get_boottime for delays
...
ktime_get_boottime continues while the device is suspended. This change
ensures that the resume path will not be delayed if the power off delay
has already been met while the device is suspended
Signed-off-by: Drew Davenport <ddavenport@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221117133655.2.Iebd9f79aba0a62015fd2383fe6986c2d6fe12cfd@changeid
2022-11-29 14:23:36 -08:00
Drew Davenport
fa8e91b126
drm/panel-edp: Use ktime_get_boottime for delays
...
ktime_get is based on CLOCK_MONOTONIC which stops on suspend. On
suspend, the time that the panel was powerd off is recorded with
ktime_get, and on resume this time is compared to the current ktime_get
time to determine if the driver should wait for the panel to power down
completely before re-enabling it.
Because we're using ktime_get, this delay doesn't account for the time
that the device is suspended, during which the power down delay may have
already elapsed.
Change to use ktime_get_boottime throughout, which uses CLOCK_BOOTTIME
which does not stop when suspended. This ensures that the resume path
will not be delayed if the power off delay has already been met while
the device is suspended.
Signed-off-by: Drew Davenport <ddavenport@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221117133655.1.I51639dc112bbbe27259df6bdad56dbabd655d91a@changeid
2022-11-29 14:23:05 -08:00
Dave Airlie
d47f958083
Backmerge tag 'v6.1-rc6' into drm-next
...
Linux 6.1-rc6
This is needed for drm-misc-next and tegra.
Signed-off-by: Dave Airlie <airlied@redhat.com >
2022-11-24 11:05:43 +10:00
Chris Morgan
b1d39f0f42
drm/panel: Add NewVision NV3051D MIPI-DSI LCD panel
...
Support NewVision NV3051D panels as found on the Anbernic RG353P and
RG353V. The underlying LCD part number for the RG353x devices is
unknown, so the device name and a fallback for the driver IC is
used instead.
Signed-off-by: Chris Morgan <macromorgan@hotmail.com >
[Fixed checkpatch moan about parens]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221111203130.9615-4-macroalpha82@gmail.com
2022-11-14 12:44:46 +01:00
Aishwarya Kothari
876153ab06
drm/panel: simple: set bpc field for logic technologies displays
...
In case bpc is not set for a panel it then throws a WARN(). Add bpc to
the panels logictechno_lt170410_2whc and logictechno_lt161010_2nh.
Fixes: 5728fe7fa5 ("drm/panel: simple: add display timings for logic technologies displays")
Signed-off-by: Aishwarya Kothari <aishwarya.kothari@toradex.com >
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20220831141622.39605-1-francesco.dolcini@toradex.com
2022-11-10 07:29:45 -08:00
Jagan Teki
6b818c533d
drm: panel: Add Jadard JD9365DA-H3 DSI panel
...
Jadard JD9365DA-H3 is WXGA MIPI DSI panel and it support TFT
dot matrix LCD with 800RGBx1280 dots at maximum.
Add support for it.
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Jagan Teki <jagan@edgeble.ai >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221108173120.618312-4-jagan@edgeble.ai
2022-11-09 10:40:56 +01:00
Thomas Zimmermann
8ab59da26b
drm/fb-helper: Move generic fbdev emulation into separate source file
...
Move the generic fbdev implementation into its own source and header
file. Adapt drivers. No functional changes, but some of the internal
helpers have been renamed to fit into the drm_fbdev_ naming scheme.
v3:
* rename drm_fbdev.{c,h} to drm_fbdev_generic.{c,h}
* rebase onto vmwgfx changes
* rebase onto xlnx changes
* fix include statements in amdgpu
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221103151446.2638-22-tzimmermann@suse.de
2022-11-05 17:12:04 +01:00
Thomas Zimmermann
eff0553db3
drm/panel-ili9341: Include <linux/backlight.h>
...
Include <linux/backlight.h> for devm_of_find_backlight().
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221103151446.2638-10-tzimmermann@suse.de
2022-11-05 17:05:54 +01:00
Marek Vasut
c62102165d
drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure
...
In case mipi_dsi_attach() fails, call drm_panel_remove() to
avoid memory leak.
Fixes: 849b2e3ff9 ("drm/panel: Add Sitronix ST7701 panel driver")
Signed-off-by: Marek Vasut <marex@denx.de >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221014231106.468063-1-marex@denx.de
2022-11-01 23:12:06 +01:00
Marek Vasut
49ee766b36
drm/panel/panel-sitronix-st7701: Clean up CMDnBKx selection
...
There are two command register files, CMD1 and CMD2, where only the CMD2
contains additional register sub-files BK0..3 . Pull the register file
selection call into separate function instead of duplicating it all over
the driver. The CMD2BK2 file is undocumented in datasheet, and is used
for BIST. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221014231042.468033-1-marex@denx.de
2022-11-01 23:10:23 +01:00
Marek Vasut
c1cdee9b68
drm/panel/panel-sitronix-st7701: Fix RTNI calculation
...
The RTNI field is multiplied by 16 and incremented by 512 before being
used as the minimum number of pixel clock per horizontal line, hence
it is necessary to subtract those 512 bytes from htotal and then divide
the result by 16 before writing the value into the RTNI field. Fix the
calculation.
Fixes: de2b491784 ("drm/panel/panel-sitronix-st7701: Infer horizontal pixel count from TFT mode")
Signed-off-by: Marek Vasut <marex@denx.de >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221012221159.88397-1-marex@denx.de
2022-11-01 18:34:08 +01:00
Sean Hong
3facae0649
drm/panel-edp: Add INX N116BGE-EA2 (HW: C4)
...
Add support for the INX - N116BGE-EA2 (HW: C4) panel.
Signed-off-by: Sean Hong <sean.hong@quanta.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221021031024.2899082-1-sean.hong@quanta.corp-partner.google.com
2022-10-21 07:32:00 -07:00
Sean Hong
4ab5953f0a
drm/panel-edp: Add INX N116BGE-EA2 (HW: C2)
...
Add support for the INX - N116BGE-EA2 (HW: C2) panel.
Signed-off-by: Sean Hong <sean.hong@quanta.corp-partner.google.com >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20221021025801.2898500-1-sean.hong@quanta.corp-partner.google.com
2022-10-21 07:31:37 -07:00
Maxime Ripard
a140a6a2d5
Merge drm/drm-next into drm-misc-next
...
Let's kick-off this release cycle.
Signed-off-by: Maxime Ripard <maxime@cerno.tech >
2022-10-18 15:00:03 +02:00