Sam Ravnborg
5fd14f2879
drm/panel: kingdisplay-kd097d04: use drm_panel backlight support
...
Use the backlight support in drm_panel to simplify the driver
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-12-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
16793e00a3
drm/panel: innolux-p079zca: use drm_panel backlight support
...
Use the backlight support in drm_panel to simplify the driver
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-11-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
2b33e19195
drm/panel: ilitek-ili9881c: use drm_panel backlight support
...
Use the backlight support in drm_panel to simplify the driver
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-10-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
e3e4944faa
drm/panel: feiyang-fy07024di26a30d: use drm_panel backlight support
...
Use the backlight support in drm_panel to simplify the driver
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Jagan Teki <jagan@amarulasolutions.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-9-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
aa6c43644b
drm/panel: drop drm_device from drm_panel
...
The panel drivers used drm_panel.drm for two purposes:
1) Argument to drm_mode_duplicate()
2) drm->dev was used in error messages
The first usage is replaced with drm_connector.dev
- drm_connector is already connected to a drm_device
and we have a valid connector
The second usage is replaced with drm_panel.dev
- this makes drivers more consistent in their dev argument
used for dev_err() and friends
With these replacements there are no more uses of drm_panel.drm,
so it is removed from struct drm_panel.
With this change drm_panel_attach() and drm_panel_detach()
no longer have any use as they are empty functions.
v2:
- editorial correction in changelog (Laurent)
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com >
Cc: Sam Ravnborg <sam@ravnborg.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 >
Cc: Linus Walleij <linus.walleij@linaro.org >
Cc: Jagan Teki <jagan@amarulasolutions.com >
Cc: Stefan Mavrodiev <stefan@olimex.com >
Cc: Robert Chiras <robert.chiras@nxp.com >
Cc: "Guido Günther" <agx@sigxcpu.org >
Cc: Purism Kernel Team <kernel@puri.sm >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-8-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
0ce8ddd8e0
drm/panel: add drm_connector argument to get_modes()
...
Today the bridge creates the drm_connector, but that is planned
to be moved to the display drivers.
To facilitate this, update drm_panel_funcs.get_modes() to
take drm_connector as an argument.
All panel drivers implementing get_modes() are updated.
v2:
- drop accidental change (Laurent)
- update docs for get_modes (Laurent)
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
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: Linus Walleij <linus.walleij@linaro.org >
Cc: Jagan Teki <jagan@amarulasolutions.com >
Cc: Stefan Mavrodiev <stefan@olimex.com >
Cc: Robert Chiras <robert.chiras@nxp.com >
Cc: "Guido Günther" <agx@sigxcpu.org >
Cc: Purism Kernel Team <kernel@puri.sm >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-6-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Sam Ravnborg
0fe1564bd6
drm/panel: simple: use drm_panel backlight support
...
Use drm_panel infrastructure for backlight.
Replace direct calls with drm_panel_*() calls
to utilize the drm_panel support.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-4-sam@ravnborg.org
2019-12-09 22:57:26 +01:00
Linus Walleij
99a375519e
drm/panel: rpi: Drop unused GPIO includes
...
The Rpi panel driver doesn't use any symbols from these
GPIO includes so just drop them.
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203152655.159281-1-linus.walleij@linaro.org
2019-12-03 18:41:22 +01:00
Colin Ian King
9c49282ac8
drm/panel: clean up indentation issue
...
There is a continue statement that is indented one level too deeply,
remove the extraneous tab.
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190925120357.10408-1-colin.king@canonical.com
2019-12-01 10:02:18 +01:00
Adam Ford
0d35408afb
drm/panel: simple: Add Logic PD Type 28 display support
...
Previously, there was an omap panel-dpi driver that would
read generic timings from the device tree and set the display
timing accordingly. This driver was removed so the screen
no longer functions. This patch modifies the panel-simple
file to setup the timings to the same values previously used.
Fixes: 8bf4b16211
("drm/omap: Remove panel-dpi driver")
Signed-off-by: Adam Ford <aford173@gmail.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191016135147.7743-1-aford173@gmail.com
2019-11-30 23:03:24 +01:00
Daniel Vetter
2e79e22e09
Merge v5.4-rc4 into drm-next
...
Thierry needs fd70c7755b
("drm/bridge: tc358767: fix max_tu_symbol
value") to be able to merge his dp_link patch series.
Some adjacent changes conflicts, plus some clashes in i915 due to
cherry-picking and git trying to be helpful and leaving both versions
in.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2019-10-23 12:10:05 +02:00
Laurent Pinchart
cc635be34e
drm/panel: tpo-td043mtea1: Fix SPI alias
...
The panel-tpo-td043mtea1 driver incorrectly includes the OF vendor
prefix in its SPI alias. Fix it, and move the manual alias to an SPI
module device table.
Fixes: dc2e1e5b27
("drm/panel: Add driver for the Toppoly TD043MTEA1 panel")
Reported-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191007170801.27647-6-laurent.pinchart@ideasonboard.com
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Tested-by: H. Nikolaus Schaller <hns@goldelico.com >
2019-10-08 08:02:20 +03:00
Laurent Pinchart
692a5424b5
drm/panel: tpo-td028ttec1: Fix SPI alias
...
The panel-tpo-td028ttec1 driver incorrectly includes the OF vendor
prefix in its SPI alias. Fix it.
Fixes: 415b8dd087
("drm/panel: Add driver for the Toppoly TD028TTEC1 panel")
Reported-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191007170801.27647-5-laurent.pinchart@ideasonboard.com
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
Tested-by: H. Nikolaus Schaller <hns@goldelico.com >
Tested-by: Andreas Kemnade <andreas@kemnade.info >
2019-10-08 08:01:50 +03:00
Laurent Pinchart
d82a6ac300
drm/panel: sony-acx565akm: Fix SPI alias
...
The panel-sony-acx565akm driver incorrectly includes the OF vendor
prefix in its SPI alias. Fix it, and move the manual alias to an SPI
module device table.
Fixes: 1c8fc3f0c5
("drm/panel: Add driver for the Sony ACX565AKM panel")
Reported-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191007170801.27647-4-laurent.pinchart@ideasonboard.com
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
2019-10-08 08:01:45 +03:00
Laurent Pinchart
cf0c4eb15e
drm/panel: nec-nl8048hl11: Fix SPI alias
...
The panel-nec-nl8048hl11 driver incorrectly includes the OF vendor
prefix in its SPI alias. Fix it, and move the manual alias to an SPI
module device table.
Fixes: df439abe65
("drm/panel: Add driver for the NEC NL8048HL11 panel")
Reported-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191007170801.27647-3-laurent.pinchart@ideasonboard.com
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
2019-10-08 08:01:34 +03:00
Laurent Pinchart
19305134ad
drm/panel: lg-lb035q02: Fix SPI alias
...
The panel-lg-lb035q02 driver incorrectly includes the OF vendor prefix
in its SPI alias. Fix it, and move the manual alias to an SPI module
device table.
Fixes: f5b0c65424
("drm/panel: Add driver for the LG Philips LB035Q02 panel")
Reported-by: H. Nikolaus Schaller <hns@goldelico.com >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191007170801.27647-2-laurent.pinchart@ideasonboard.com
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com >
2019-10-08 08:00:55 +03:00
Dan Carpenter
fb2ee9bf08
drm: panel-lvds: Potential Oops in probe error handling
...
The "lvds->backlight" pointer could be NULL in situations where
of_parse_phandle() returns NULL. This code is cleaner if we use the
managed devm_of_find_backlight() so the clean up is automatic.
Fixes: 7c9dff5bd6
("drm: panels: Add LVDS panel driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911104928.GA15930@mwanda
2019-09-21 20:48:09 +02:00
Laurent Pinchart
a793f0eeb7
drm/panel: panel-simple: Set OSD070T1718 panel type
...
The OSD070T1718 is a DPI panel, set its type accordingly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904133723.30418-1-laurent.pinchart@ideasonboard.com
2019-09-08 19:04:23 +02:00
Laurent Pinchart
9a2654c0f6
drm/panel: Add and fill drm_panel type field
...
Add a type field to the drm_panel structure to report the panel type,
using DRM_MODE_CONNECTOR_* macros (the values that make sense are LVDS,
eDP, DSI and DPI). This will be used to initialise the corresponding
connector type.
Update all panel drivers accordingly. The panel-simple driver only
specifies the type for the known to be LVDS panels, while all other
panels are left as unknown and will be converted on a case-by-case
basis as they all need to be carefully reviewed.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904132804.29680-2-laurent.pinchart@ideasonboard.com
2019-09-08 19:04:01 +02:00
Laurent Pinchart
6dbe0c4b0f
drm/panel: Initialise panel dev and funcs through drm_panel_init()
...
Instead of requiring all drivers to set the dev and funcs fields of
drm_panel manually after calling drm_panel_init(), pass the data as
arguments to the function. This simplifies the panel drivers, and will
help future refactoring when adding new arguments to drm_panel_init().
The panel drivers have been updated with the following Coccinelle
semantic patch, with manual inspection to verify that no call to
drm_panel_init() with a single argument still exists.
@@
expression panel;
expression device;
identifier ops;
@@
drm_panel_init(&panel
+ , device, &ops
);
...
(
-panel.dev = device;
-panel.funcs = &ops;
|
-panel.funcs = &ops;
-panel.dev = device;
)
Suggested-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190823193245.23876-3-laurent.pinchart@ideasonboard.com
2019-08-24 10:42:48 +02:00
Laurent Pinchart
65abbda8ed
drm/panel: Add missing drm_panel_init() in panel drivers
...
Panels must be initialised with drm_panel_init(). Add the missing
function call in the panel-raspberrypi-touchscreen.c and
panel-sitronix-st7789v.c drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190823193245.23876-2-laurent.pinchart@ideasonboard.com
2019-08-24 10:42:47 +02:00
Colin Ian King
b0baf85bb2
drm/panel: tpo-td043mtea1: remove redundant assignment
...
Variable val is initialized to a value in a for-loop that is
never read and hence it is redundant. Remove it.
Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190817122124.29650-1-colin.king@canonical.com
2019-08-17 16:53:55 +02:00
Laurent Pinchart
dc2e1e5b27
drm/panel: Add driver for the Toppoly TD043MTEA1 panel
...
This panel is used on the OMAP3 Pandora.
The code is based on the omapdrm-specific panel-tpo-td043mtea1 driver.
v2:
- fix checkpatch warnings
o (lcd == NULL) => (!lcd) (sam)
o alignment to open '(' (sam)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-10-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:11 +02:00
Laurent Pinchart
415b8dd087
drm/panel: Add driver for the Toppoly TD028TTEC1 panel
...
This panel is used on the OpenMoko Neo FreeRunner and Neo 1973.
The code is based on the omapdrm-specific panel-tpo-td028ttec1 driver.
v2:
- fix checkpatch warnings:
o (lcd == NULL) => (!lcd) (sam)
o (1 << X) => BIT(X) (sam)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-9-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:11 +02:00
Laurent Pinchart
1c8fc3f0c5
drm/panel: Add driver for the Sony ACX565AKM panel
...
This panel is used on the Nokia N900.
The code is based on the omapdrm-specific panel-sony-acx565akm driver.
The hardware-related logic has been changed as little as possible to
avoid regressions as hardware availability is lacking to test the
changes. Follow-up patches should address the items listed in the TODO
list.
v2:
- fix checkpatch warning (lcd == NULL) => (!lcd) (sam)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-8-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:11 +02:00
Laurent Pinchart
c9cf4c2a3b
drm/panel: Add driver for the Sharp LS037V7DW01 panel
...
This panel is used on the TI SDP3430 board.
The code is based on the omapdrm-specific panel-sharp-ls037v7dw01
driver.
v2:
- fix checkpatch warning (lcd == NULL) => (!lcd) (sam)
- drop __exit_p() from remove. It caused a build warning.
And no other panel drivers needs this (sam)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-7-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:10 +02:00
Laurent Pinchart
df439abe65
drm/panel: Add driver for the NEC NL8048HL11 panel
...
This panel is used on the Zoom2/3/3630 SDP boards.
The code is based on the omapdrm-specific panel-nec-nl8048hl11 driver
v2:
- fix checkpatch warning (lcd == NULL) => (!lcd) (sam)
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-6-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:10 +02:00
Laurent Pinchart
f5b0c65424
drm/panel: Add driver for the LG Philips LB035Q02 panel
...
This panel is used on the Gumstix Overo Palo35.
The code is based on the omapdrm-specific panel-lgphilips-lb035q02
driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190813201101.30980-5-laurent.pinchart@ideasonboard.com
2019-08-14 22:23:10 +02:00
Sam Ravnborg
9d027b8e5a
drm/panel: ili9322: move bus_flags to get_modes()
...
To prepare the driver to receive drm_connector only in the get_modes()
callback, move bus_flags handling to ili9322_get_modes().
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-11-sam@ravnborg.org
2019-08-10 15:41:48 +02:00
Linus Walleij
d8a0d6a3b7
drm/panel: simple: Support TI nspire panels
...
This adds support for the TI nspire panels to the simple panel
roster. This code is based on arch/arm/mach-nspire/clcd.c.
This includes likely the first grayscale panel supported.
These panels will be used with the PL11x DRM driver.
Cc: Daniel Tang <dt.tangr@gmail.com >
Cc: Fabian Vogt <fabian@ritter-vogt.de >
Tested-by: Fabian Vogt <fabian@ritter-vogt.de >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190805085847.25554-4-linus.walleij@linaro.org
2019-08-09 09:17:09 +02:00
Guido Günther
82b78cad0c
drm/panel: jh057n00900: Use drm_panel_{unprepare, disable} consistently
...
We were already using the generic functions in our debugfs code, do the
same in jh057n_shutdown. This was suggested by Sam Ravnborg.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/a37dd5083462064f437ff62fd84e6576d8a7c8dc.1564146727.git.agx@sigxcpu.org
2019-07-26 20:40:05 +02:00
Guido Günther
04eedeb46f
drm/panel: jh057n00900: Print error code on all DRM_DEV_ERROR()s
...
Most of them had these already but two mere missing. This eases
debugging.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/6b237a570cb368dc4471fb8feb3a0441813cd576.1564146727.git.agx@sigxcpu.org
2019-07-26 20:39:34 +02:00
Guido Günther
6a6fc457b3
drm/panel: jh057n00900: Move mipi_dsi_dcs_set_display_off to disable()
...
This makes it symmetric with the panel init happening in enable().
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/e2c31d34ce1f917065d590297e5115a4ca954874.1564146727.git.agx@sigxcpu.org
2019-07-26 20:39:34 +02:00
Guido Günther
66a4e0ef43
drm/panel: jh057n00900: Move panel DSI init to enable()
...
If the panel is wrapped in a panel_bridge it gets prepar()ed before the
upstream DSI bridge which can cause hangs (e.g. with imx-nwl since clocks
are not enabled yet). To avoid this move the panel's first DSI access to
enable() so the upstream bridge can prepare the DSI host controller in
it's pre_enable().
This is also in line with other panel drivers.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/12c3495b234952aafe11980a9e06cfd246134660.1564146727.git.agx@sigxcpu.org
2019-07-26 20:39:33 +02:00
Douglas Anderson
c2d7e47ad1
drm: panel-lvds: Spout an error if of_get_display_timing() gives an error
...
In the patch ("video: of: display_timing: Don't yell if no timing node
is present") we'll stop spouting an error directly in
of_get_display_timing() if no node is present. Presumably panel-lvds
should take charge of spouting its own error now.
NOTE: we'll print two errors if the node was present but there were
problems parsing the timing node (one in of_parse_display_timing() and
this new one). Since this is a fatal error for the driver's probe
(and presumably someone will be debugging), this should be OK.
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190722182439.44844-4-dianders@chromium.org
2019-07-26 16:32:27 +02:00
Jeffrey Hugo
cd5e1cbe1f
drm/panel: simple: Add support for Sharp LD-D5116Z01B panel
...
The Sharp LD-D5116Z01B is a 12.3" eDP panel with a 1920X1280 resolution.
Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190708165811.46370-1-jeffrey.l.hugo@gmail.com
2019-07-26 14:16:48 +02:00
Navid Emamdoost
afd6d4f5a5
drm/panel: check failure cases in the probe func
...
The following function calls may fail and return NULL, so the null check
is added.
of_graph_get_next_endpoint
of_graph_get_remote_port_parent
of_graph_get_remote_port
Update: Thanks to Sam Ravnborg, for suggession on the use of goto to avoid
leaking endpoint.
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190724195534.9303-1-navid.emamdoost@gmail.com
2019-07-26 13:44:42 +02:00
Maxime Ripard
03b0f2ce73
Merge v5.3-rc1 into drm-misc-next
...
Noralf needs some SPI patches in 5.3 to merge some work on tinydrm.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2019-07-22 21:24:10 +02:00
Douglas Anderson
e362cc6a24
drm/panel: simple: document panel_desc; rename a few functions
...
This attempts to address outstanding review feedback from
commit b8a2948fa2
("drm/panel: simple: Add ability to override typical timing")
Specifically:
* It was requested that I document (in the structure definition) that
the device tree override had no effect if 'struct drm_display_mode'
was used in the panel description. I have provided full Doxygen
comments for 'struct panel_desc' to accomplish that.
* panel_simple_get_fixed_modes() was thought to be a confusing name,
so it has been renamed to panel_simple_get_display_modes().
* panel_simple_parse_override_mode() was thought to be better named as
panel_simple_parse_panel_timing_node().
Suggested-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190712163333.231884-1-dianders@chromium.org
2019-07-17 19:27:33 +02:00
Linus Torvalds
be8454afc5
Merge tag 'drm-next-2019-07-16' of git://anongit.freedesktop.org/drm/drm
...
Pull drm updates from Dave Airlie:
"The biggest thing in this is the AMD Navi GPU support, this again
contains a bunch of header files that are large. These are the new AMD
RX5700 GPUs that just recently became available.
New drivers:
- ST-Ericsson MCDE driver
- Ingenic JZ47xx SoC
UAPI change:
- HDR source metadata property
Core:
- HDR inforframes and EDID parsing
- drm hdmi infoframe unpacking
- remove prime sg_table caching into dma-buf
- New gem vram helpers to reduce driver code
- Lots of drmP.h removal
- reservation fencing fix
- documentation updates
- drm_fb_helper_connector removed
- mode name command handler rewrite
fbcon:
- Remove the fbcon notifiers
ttm:
- forward progress fixes
dma-buf:
- make mmap call optional
- debugfs refcount fixes
- dma-fence free with pending signals fix
- each dma-buf gets an inode
Panels:
- Lots of additional panel bindings
amdgpu:
- initial navi10 support
- avoid hw reset
- HDR metadata support
- new thermal sensors for vega asics
- RAS fixes
- use HMM rather than MMU notifier
- xgmi topology via kfd
- SR-IOV fixes
- driver reload fixes
- DC use a core bpc attribute
- Aux fixes for DC
- Bandwidth calc updates for DC
- Clock handling refactor
- kfd VEGAM support
vmwgfx:
- Coherent memory support changes
i915:
- HDR Support
- HDMI i2c link
- Icelake multi-segmented gamma support
- GuC firmware update
- Mule Creek Canyon PCH support for EHL
- EHL platform updtes
- move i915.alpha_support to i915.force_probe
- runtime PM refactoring
- VBT parsing refactoring
- DSI fixes
- struct mutex dependency reduction
- GEM code reorg
mali-dp:
- Komeda driver features
msm:
- dsi vs EPROBE_DEFER fixes
- msm8998 snapdragon 835 support
- a540 gpu support
- mdp5 and dpu interconnect support
exynos:
- drmP.h removal
tegra:
- misc fixes
tda998x:
- audio support improvements
- pixel repeated mode support
- quantisation range handling corrections
- HDMI vendor info fix
armada:
- interlace support fix
- overlay/video plane register handling refactor
- add gamma support
rockchip:
- RX3328 support
panfrost:
- expose perf counters via hidden ioctls
vkms:
- enumerate CRC sources list
ast:
- rework BO handling
mgag200:
- rework BO handling
dw-hdmi:
- suspend/resume support
rcar-du:
- R8A774A1 Soc Support
- LVDS dual-link mode support
- Additional formats
- Misc fixes
omapdrm:
- DSI command mode display support
stm
- fb modifier support
- runtime PM support
sun4i:
- use vmap ops
vc4:
- binner bo binding rework
v3d:
- compute shader support
- resync/sync fixes
- job management refactoring
lima:
- NULL pointer in irq handler fix
- scheduler default timeout
virtio:
- fence seqno support
- trace events
bochs:
- misc fixes
tc458767:
- IRQ/HDP handling
sii902x:
- HDMI audio support
atmel-hlcdc:
- misc fixes
meson:
- zpos support"
* tag 'drm-next-2019-07-16' of git://anongit.freedesktop.org/drm/drm: (1815 commits)
Revert "Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next"
Revert "mm: adjust apply_to_pfn_range interface for dropped token."
mm: adjust apply_to_pfn_range interface for dropped token.
drm/amdgpu/navi10: add uclk activity sensor
drm/amdgpu: properly guard the generic discovery code
drm/amdgpu: add missing documentation on new module parameters
drm/amdgpu: don't invalidate caches in RELEASE_MEM, only do the writeback
drm/amd/display: avoid 64-bit division
drm/amdgpu/psp11: simplify the ucode register logic
drm/amdgpu: properly guard DC support in navi code
drm/amd/powerplay: vega20: fix uninitialized variable use
drm/amd/display: dcn20: include linux/delay.h
amdgpu: make pmu support optional
drm/amd/powerplay: Zero initialize current_rpm in vega20_get_fan_speed_percent
drm/amd/powerplay: Zero initialize freq in smu_v11_0_get_current_clk_freq
drm/amd/powerplay: Use memset to initialize metrics structs
drm/amdgpu/mes10.1: Fix header guard
drm/amd/powerplay: add temperature sensor support for navi10
drm/amdgpu: fix scheduler timeout calc
drm/amdgpu: Prepare for hmm_range_register API change (v2)
...
2019-07-15 19:04:27 -07:00
Lucas Stach
f8c6bfc612
drm/panel: simple: fix AUO g185han01 horizontal blanking
...
The horizontal blanking periods are too short, as the values are
specified for a single LVDS channel. Since this panel is dual LVDS
they need to be doubled. With this change the panel reaches its
nominal vrefresh rate of 60Fps, instead of the 64Fps with the
current wrong blanking.
Philipp Zabel added:
The datasheet specifies 960 active clocks + 40/128/160 clocks blanking
on each of the two LVDS channels (min/typical/max), so doubled this is
now correct.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1562764060.23869.12.camel@pengutronix.de
2019-07-12 18:13:26 +02:00
Douglas Anderson
374bf825e7
drm/panel: simple: Use display_timing for AUO b101ean01
...
Convert the AUO b101ean01 from using a fixed mode to specifying a
display timing with min/typ/max values.
The AUO b101ean01's datasheet says:
* Vertical blanking min is 12
* Horizontal blanking min is 60
* Pixel clock is between 65.3 MHz and 75 MHz
The goal here is to be able to specify the proper timing in device
tree to use on rk3288-veyron-minnie to match what the downstream
kernel is using so that it can used the fixed PLL.
Changes in v4:
- display_timing for AUO b101ean01 new for v4.
Changes in v6:
- Rebased to drm-misc next
- Added tags
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Acked-by: Thierry Reding <thierry.reding@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-4-dianders@chromium.org
2019-07-12 07:55:47 +02:00
Douglas Anderson
d719cbe9a5
drm/panel: simple: Use display_timing for Innolux n116bge
...
Convert the Innolux n116bge from using a fixed mode to specifying a
display timing with min/typ/max values.
Note that the n116bge's datasheet doesn't fit too well into DRM's way
of specifying things. Specifically the panel's datasheet just
specifies the vertical blanking period and horizontal blanking period
and doesn't break things out. For now we'll leave everything as a
fixed value but just allow adjusting the pixel clock. I've added a
comment on what the datasheet claims so someone could later expand
things to fit their needs if they wanted to test other blanking
periods.
The goal here is to be able to specify the panel timings in the device
tree for several rk3288 Chromebooks (like rk3288-veryon-jerry). These
Chromebooks have all been running in the downstream kernel with the
standard porches and sync lengths but just with a slightly slower
pixel clock because the 76.42 MHz clock is not achievable from the
fixed PLL that was available. These Chromebooks only achieve a
refresh rate of ~58 Hz. While it's probable that we could adjust the
timings to achieve 60 Hz it's probably wisest to match what's been
running on these devices all these years.
I'll note that though the upstream kernel has always tried to achieve
76.42 MHz, it has actually been running at 74.25 MHz also since the
video processor is parented off the same fixed PLL.
Changes in v4:
- display_timing for Innolux n116bge new for v4.
Changes in v5:
- Added Heiko's Tested-by
Changes in v6:
- Rebased to drm-misc next
- Added tags
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Acked-by: Thierry Reding <thierry.reding@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-3-dianders@chromium.org
2019-07-12 07:55:47 +02:00
Sean Paul
b8a2948fa2
drm/panel: simple: Add ability to override typical timing
...
This patch adds the ability to override the typical display timing for a
given panel. This is useful for devices which have timing constraints
that do not apply across the entire display driver (eg: to avoid
crosstalk between panel and digitizer on certain laptops). The rules are
as follows:
- panel must not specify fixed mode (since the override mode will
either be the same as the fixed mode, or we'll be unable to
check the bounds of the overried)
- panel must specify at least one display_timing range which will be
used to ensure the override mode fits within its bounds
Changes in v2:
- Parse the full display-timings node (using the native-mode) (Rob)
Changes in v3:
- No longer parse display-timings subnode, use panel-timing (Rob)
Changes in v4:
- Don't add mode from timing if override was specified (Thierry)
- Add warning if timing and fixed mode was specified (Thierry)
- Don't add fixed mode if timing was specified (Thierry)
- Refactor/rename a bit to avoid extra indentation from "if" tests
- i should be unsigned (Thierry)
- Add annoying WARN_ONs for some cases (Thierry)
- Simplify 'No display_timing found' handling (Thierry)
- Rename to panel_simple_parse_override_mode() (Thierry)
Changes in v5:
- Added Heiko's Tested-by
Changes in v6:
- Rebased to drm-misc next
- Added tags
Cc: Doug Anderson <dianders@chromium.org >
Cc: Eric Anholt <eric@anholt.net >
Cc: Heiko Stuebner <heiko@sntech.de >
Cc: Jeffy Chen <jeffy.chen@rock-chips.com >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Stéphane Marchesin <marcheu@chromium.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: devicetree@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Acked-by: Thierry Reding <thierry.reding@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-2-dianders@chromium.org
2019-07-12 07:55:46 +02:00
Guido Günther
1a14e0c256
drm/panel: jh057n00900: Add regulator support
...
Allow to specify regulators for vcc and iovcc. According to the data
sheet the panel wants vcc (2.8V) and iovcc (1.8V) and there's no startup
dependency between the two.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/f78611fb26329e50ec1533810fbb76562f2f4e48.1561542477.git.agx@sigxcpu.org
2019-06-26 14:39:25 +02:00
Guido Günther
428733c72d
drm/panel: jh057n00900: Don't use magic constant
...
0xBF isn't in any ST7703 data sheet so mark it as unknown. This avoids
confusion on whether there is a missing command in that
dsi_generic_write_seq() call.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/7f50fa6de2ae029111f158f8ea7fd69a0903eb97.1561542477.git.agx@sigxcpu.org
2019-06-26 14:37:23 +02:00
Robert Chiras
f63df31d2d
drm/panel: Add support for Raydium RM67191 panel driver
...
This patch adds Raydium RM67191 TFT LCD panel driver (MIPI-DSI
protocol).
Signed-off-by: Robert Chiras <robert.chiras@nxp.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Fabio Estevam <festevam@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1561550907-9733-3-git-send-email-robert.chiras@nxp.com
2019-06-26 14:34:54 +02:00
Paul Cercueil
f1bd37f300
drm/panel: simple: Add Sharp LS020B1DD01D panel support
...
The Sharp LS020B1DD01D is a simple 2.0" 240x160 16-bit TFT panel.
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Tested-by: Artur Rojek <contact@artur-rojek.eu >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190603153120.23947-3-paul@crapouillou.net
2019-06-26 13:38:16 +02:00
Paul Cercueil
ecdcbbb7ce
drm/panel: Add Novatek NT39016 panel support
...
Add support for display panels built around the Novatek NT39016 display
controller, as found on e.g. the King Display KD035G6-54NT 24-bit
320x240 3.5" LCD panel which equips the GCW Zero open-source handheld
gaming console.
Signed-off-by: Paul Cercueil <paul@crapouillou.net >
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20190603152555.23527-2-paul@crapouillou.net
2019-06-26 13:36:02 +02:00
H. Nikolaus Schaller
9c31dcb6dd
drm/panel: simple: Add Ortustech COM37H3M panel support
...
The change adds support for the Ortustech COM37H3M05DTC/99DTC 3.7" TFT LCD panel.
Tested on Letux3704.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/43b47034b618cff26cea0484591c6deafb7f0685.1559905870.git.hns@goldelico.com
2019-06-26 08:36:08 +02:00