2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/gpu/drm/panel
Hugo Villeneuve a8972d5a49 drm: panel: jd9365da-h3: fix reset signal polarity
In jadard_prepare() a reset pulse is generated with the following
statements (delays ommited for clarity):

    gpiod_set_value(jadard->reset, 1); --> Deassert reset
    gpiod_set_value(jadard->reset, 0); --> Assert reset for 10ms
    gpiod_set_value(jadard->reset, 1); --> Deassert reset

However, specifying second argument of "0" to gpiod_set_value() means to
deassert the GPIO, and "1" means to assert it. If the reset signal is
defined as GPIO_ACTIVE_LOW in the DTS, the above statements will
incorrectly generate the reset pulse (inverted) and leave it asserted
(LOW) at the end of jadard_prepare().

Fix reset behavior by inverting gpiod_set_value() second argument
in jadard_prepare(). Also modify second argument to devm_gpiod_get()
in jadard_dsi_probe() to assert the reset when probing.

Do not modify it in jadard_unprepare() as it is already properly
asserted with "1", which seems to be the intended behavior.

Fixes: 6b818c533d ("drm: panel: Add Jadard JD9365DA-H3 DSI panel")
Cc: stable@vger.kernel.org
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240927135306.857617-1-hugo@hugovil.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240927135306.857617-1-hugo@hugovil.com
2025-02-13 17:46:51 +01:00
..
Kconfig drm/panel: samsung-s6e88a0-ams427ap24: Add brightness control 2024-10-31 10:36:35 +01:00
Makefile drm/panel: samsung-s6e88a0-ams427ap24: Add initial driver 2024-10-31 10:36:34 +01:00
panel-abt-y030xx067a.c drm/panel: add missing MODULE_DESCRIPTION() macros 2024-06-10 10:35:00 +02:00
panel-arm-versatile.c
panel-asus-z00t-tm5p5-n35596.c drm/panel: asus-z00t-tm5p5-n35596: transition to mipi_dsi wrapped functions 2024-06-24 10:48:19 +02:00
panel-auo-a030jtn01.c drm/panel: add missing MODULE_DESCRIPTION() macros 2024-06-10 10:35:00 +02:00
panel-boe-bf060y8m-aj0.c drm: panel: boe-bf060y8m-aj0: Enable prepare_prev_first 2024-07-24 09:55:23 +02:00
panel-boe-himax8279d.c drm/panel: boe-himax8279d: Don't call unprepare+disable at shutdown/remove 2024-06-11 09:58:40 +02:00
panel-boe-th101mb31ig002-28a.c drm/panel: boe-th101mb31ig002 : using drm_connector_helper_get_modes_fixed() 2024-07-24 09:55:37 +02:00
panel-boe-tv101wum-ll2.c drm/panel: add BOE tv101wum-ll2 panel driver 2024-08-28 17:14:39 +02:00
panel-boe-tv101wum-nl6.c drm/panel: boe-tv101wum-nl6: Break some CMDS into helper functions 2024-07-25 16:27:21 +02:00
panel-dsi-cm.c
panel-ebbg-ft8719.c
panel-edp.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2024-12-09 16:35:21 +01:00
panel-elida-kd35t133.c drm/panel: elida-kd35t133: transition to mipi_dsi wrapped functions 2024-10-01 14:27:48 -07:00
panel-feixin-k101-im2ba02.c
panel-feiyang-fy07024di26a30d.c
panel-himax-hx8394.c drm/panel: himax-hx8394: Add Support for Microchip AC40T08A MIPI Display Panel 2024-07-09 14:45:54 +02:00
panel-himax-hx83102.c drm/panel: himax-hx83102: Add a check to prevent NULL pointer dereference 2024-12-13 10:51:24 +01:00
panel-himax-hx83112a.c drm/panel: himax-hx83112a: transition to mipi_dsi wrapped functions 2024-09-11 12:59:31 -07:00
panel-ilitek-ili9322.c drm/panel: ili9322: Constify struct regmap_bus 2024-10-19 17:26:32 +03:00
panel-ilitek-ili9341.c drm/panel: ili9341: Remove duplicate code 2024-09-02 11:53:49 +02:00
panel-ilitek-ili9805.c drm/panel: ilitek-ili9805: adjust the includes 2023-12-13 16:19:01 +01:00
panel-ilitek-ili9806e.c drm/panel/panel-ilitek-ili9806e: Add Densitron DMT028VGHMCMI-1D TFT to ILI9806E DSI TCON driver 2024-07-24 09:55:47 +02:00
panel-ilitek-ili9881c.c drm/panel: ilitek-ili9881c: Report subpixel order according to rotation 2024-10-09 09:48:45 +02:00
panel-ilitek-ili9882t.c drm/panel: ilitek-ili9882t: Check for errors on the NOP in prepare() 2024-05-21 10:01:20 +02:00
panel-innolux-ej030na.c drm/panel: add missing MODULE_DESCRIPTION() macros 2024-06-10 10:35:00 +02:00
panel-innolux-p079zca.c drm/panel: innolux-p079zca: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:10 -07:00
panel-jadard-jd9365da-h3.c drm: panel: jd9365da-h3: fix reset signal polarity 2025-02-13 17:46:51 +01:00
panel-jdi-fhd-r63452.c drm/panel: jdi-fhd-r63452: transition to mipi_dsi wrapped functions 2024-08-20 14:18:18 -07:00
panel-jdi-lpm102a188a.c
panel-jdi-lt070me05000.c drm/panel: jdi-lt070me05000: Don't call disable at shutdown/remove 2024-06-11 09:58:44 +02:00
panel-khadas-ts050.c drm/panel: khadas-ts050: make ts050[v2]_panel_data static 2024-09-13 11:05:08 +02:00
panel-kingdisplay-kd097d04.c drm/panel: kingdisplay-kd097d04: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:10 -07:00
panel-leadtek-ltk050h3146w.c drm/panel: leadtek-ltk050h3146w: transition to mipi_dsi wrapped functions 2024-10-31 10:36:55 +01:00
panel-leadtek-ltk500hd1829.c drm/panel: ltk500hd1829: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:11 -07:00
panel-lg-lb035q02.c
panel-lg-lg4573.c
panel-lg-sw43408.c drm-misc-next for 6.11: 2024-06-21 10:30:31 +10:00
panel-lincolntech-lcd197.c drm/panel: add lincolntech lcd197 support 2024-06-26 18:38:30 +02:00
panel-lvds.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
panel-magnachip-d53e6ea8966.c
panel-mantix-mlaf057we51.c drm/panel: mantix-mlaf057we51: write hex in lowercase 2024-08-20 11:27:42 +02:00
panel-nec-nl8048hl11.c
panel-newvision-nv3051d.c drm/panel: nv3051d: Transition to mipi_dsi_dcs_write_seq_multi 2024-08-29 13:02:54 +02:00
panel-newvision-nv3052c.c drm: panel: nv3052c: correct spi_device_id for RG35XX panel 2024-10-20 13:46:02 +03:00
panel-novatek-nt35510.c drm/panel: nt35510: Make new commands optional 2024-09-22 22:16:22 +02:00
panel-novatek-nt35560.c
panel-novatek-nt35950.c drm/panel: novatek-nt35950: fix return value check in nt35950_probe() 2024-12-13 10:51:39 +01:00
panel-novatek-nt36523.c drm: panel: nt36523: use devm_mipi_dsi_* function to register and attach dsi 2024-09-13 11:10:41 +02:00
panel-novatek-nt36672a.c drm/panel: novatek-nt36672a: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:11 -07:00
panel-novatek-nt36672e.c drm/panel: nt36672e: Break some CMDS into helper functions 2024-07-25 16:27:22 +02:00
panel-novatek-nt39016.c drm/panel: add missing MODULE_DESCRIPTION() macros 2024-06-10 10:35:00 +02:00
panel-olimex-lcd-olinuxino.c drm/panel: olimex-lcd-olinuxino: Don't call unprepare+disable at remove 2024-06-11 09:58:41 +02:00
panel-orisetech-ota5601a.c drm/panel: add missing MODULE_DESCRIPTION() macros 2024-06-10 10:35:00 +02:00
panel-orisetech-otm8009a.c drm/panel: panel-orisetech-otm8009a: Include <linux/mod_devicetable.h> 2024-12-13 15:21:02 +01:00
panel-osd-osd101t2587-53ts.c drm/panel: osd-osd101t2587-53ts: Don't call unprepare+disable at shutdown/remove 2024-06-11 09:58:42 +02:00
panel-panasonic-vvx10f034n00.c drm/panel: panasonic-vvx10f034n00: Don't call disable at shutdown/remove 2024-06-11 09:58:45 +02:00
panel-raspberrypi-touchscreen.c gpu: drm: replace of_graph_get_next_endpoint() 2024-11-12 13:05:35 +01:00
panel-raydium-rm692e5.c drm/panel: raydium-rm692e5: transition to mipi_dsi wrapped functions 2024-06-24 10:49:01 +02:00
panel-raydium-rm67191.c drm/panel: raydium-rm67191: Don't call unprepare+disable at shutdown 2024-06-11 09:58:49 +02:00
panel-raydium-rm68200.c
panel-raydium-rm69380.c drm/panel: raydium-rm69380: transition to mipi_dsi wrapped functions 2024-09-16 00:41:24 -07:00
panel-ronbo-rb070d30.c
panel-samsung-ams581vf01.c drm/panel: Add Samsung AMS581VF01 panel driver 2024-10-16 10:15:44 +02:00
panel-samsung-ams639rq08.c drm/panel: Add Samsung AMS639RQ08 panel driver 2024-10-09 09:51:29 +02:00
panel-samsung-atna33xc20.c drm/panel: samsung-atna33xc20: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:11 -07:00
panel-samsung-db7430.c
panel-samsung-ld9040.c
panel-samsung-s6d7aa0.c drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02 2024-01-12 10:26:28 +01:00
panel-samsung-s6d16d0.c
panel-samsung-s6d27a1.c
panel-samsung-s6e3fa7.c drm/panel: samsung-s6e3fa7: transition to mipi_dsi wrapped functions 2024-09-10 14:23:33 -07:00
panel-samsung-s6e3ha2.c drm/panel: panel-samsung-s6e3ha2: Use backlight power constants 2024-08-16 09:27:52 +02:00
panel-samsung-s6e3ha8.c drm/panel: s6e3ha8: add static modifier to supply list 2024-10-23 09:36:29 +02:00
panel-samsung-s6e8aa0.c
panel-samsung-s6e63j0x03.c drm/panel: panel-samsung-s6e3ha2: Include <linux/mod_devicetable.h> 2024-12-13 15:21:02 +01:00
panel-samsung-s6e63m0-dsi.c
panel-samsung-s6e63m0-spi.c
panel-samsung-s6e63m0.c drm/panel: panel-samsung-s6e63m0: Include <linux/property.h> 2024-12-13 15:21:02 +01:00
panel-samsung-s6e63m0.h
panel-samsung-s6e88a0-ams427ap24.c drm/panel: samsung-s6e88a0-ams427ap24: Add flip option 2024-10-31 10:36:36 +01:00
panel-samsung-s6e88a0-ams452ef01.c
panel-samsung-sofef00.c
panel-seiko-43wvf1g.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
panel-sharp-lq101r1sx01.c drm/panel: sharp-lq101r1sx01: Fixed reversed "if" in remove 2024-07-09 08:24:05 -07:00
panel-sharp-ls037v7dw01.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
panel-sharp-ls043t1le01.c drm/panel: sharp-ls043t1le01: Don't call disable at shutdown/remove 2024-06-11 09:58:48 +02:00
panel-sharp-ls060t1sx01.c
panel-simple.c drm: panel-simple: support TOPLAND TIAN G07017 LCD panel 2024-12-20 12:06:40 +01:00
panel-sitronix-st7701.c drm/panel: st7701: Add prepare_prev_first flag to drm_panel 2024-12-13 10:51:56 +01:00
panel-sitronix-st7703.c drm/panel: sitronix-st7703: transition to mipi_dsi wrapped functions 2024-06-26 18:34:27 +02:00
panel-sitronix-st7789v.c drm/panel: sitronix-st7789v: Add check for of_drm_get_panel_orientation 2024-06-03 10:46:36 +02:00
panel-sony-acx565akm.c drm/panel: sony-acx565akm: Use %*ph to print small buffer 2024-09-13 11:11:02 +02:00
panel-sony-td4353-jdi.c
panel-sony-tulip-truly-nt35521.c drm/panel: nt35521: Break some CMDS into helper functions 2024-07-25 16:27:22 +02:00
panel-startek-kd070fhfid015.c drm/panel: startek-kd070fhfid015: transition to mipi_dsi wrapped functions 2024-08-13 11:13:08 -07:00
panel-synaptics-r63353.c drm/panel: synaptics-r63353: Fix regulator unbalance 2024-12-13 10:52:07 +01:00
panel-tdo-tl070wsh30.c drm/panel: tdo-tl070wsh30: Don't call unprepare+disable at shutdown/remove 2024-06-11 09:58:43 +02:00
panel-tpo-td028ttec1.c
panel-tpo-td043mtea1.c
panel-tpo-tpg110.c
panel-truly-nt35597.c drm/panel: truly-nt35597: Don't log an error when DSI host can't be found 2024-04-16 15:19:08 +02:00
panel-visionox-r66451.c drm/panel: visionox-r66451: Set prepare_prev_first flag 2024-02-05 11:03:35 +01:00
panel-visionox-rm69299.c drm/panel: visionox-rm69299: Remove redundant assignments of panel fields 2024-12-06 15:18:40 +08:00
panel-visionox-vtdr6130.c drm/panel: visionox-vtdr6130: switch to devm_regulator_bulk_get_const 2024-08-29 13:00:37 +02:00
panel-widechips-ws2401.c
panel-xinpeng-xpp055c272.c drm/panel: xinpeng-xpp055c272: Don't call unprepare+disable at shutdown/remove 2024-05-28 13:09:12 -07:00