Andrzej Pietrasiewicz
bb9d681b25
drm/tegra: Provide ddc symlink in output connector sysfs directory
...
Use the ddc pointer provided by the generic connector.
Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200102132300.24309-2-andrzej.p@collabora.com
2020-01-07 20:25:24 +01:00
Boris Brezillon
b18398c16e
drm/bridge: Fix a NULL pointer dereference in drm_atomic_bridge_chain_check()
...
drm_atomic_bridge_chain_check() callers can pass a NULL bridge. Let's
bail out before dereferencing the bridge pointer when that happens.
Reported-by: Chris Wilson <chris@chris-wilson.co.uk >
Fixes: b86d895524 ("drm/bridge: Add an ->atomic_check() hook")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
Link: https://patchwork.freedesktop.org/patch/msgid/20200107113031.435604-1-boris.brezillon@collabora.com
2020-01-07 14:19:54 +01:00
Thomas Zimmermann
3cacb2086e
drm/mgag200: Add module parameter to pin all buffers at offset 0
...
For hardware that does not interpret the startadd field correctly,
add the module parameter 'hw_bug_no_startadd', which enables the
workaround.
v3:
* style and typo fixes
v2:
* ask user for feedback if the option is active
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: John Donnelly <john.p.donnelly@oracle.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191126101950.11989-1-tzimmermann@suse.de
2020-01-07 11:53:19 +01:00
Thomas Zimmermann
0fb5f69e19
drm/vram-helper: Support struct drm_driver.gem_create_object
...
Drivers that what to allocate VRAM GEM objects with additional fields
can now do this by implementing struct drm_driver.gem_create_object.
v3:
* separately check allocation failure in if/else branches
before upcast to gbo
v2:
* only cast to gbo within if branch; set gbo directly
in else branch
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106125745.13797-9-tzimmermann@suse.de
2020-01-07 11:53:19 +01:00
Thomas Zimmermann
a4d46a8e26
drm/vram-helper: Remove BO device from public interface
...
TTM is an implementation detail of the VRAM helpers and therefore
shouldn't be exposed to the callers. There's only one correct value
for the BO device anyway, which is the one stored in the DRM device.
So remove struct ttm_bo_device from the VRAM-helper interface and
use the device's VRAM manager unconditionally. The GEM initializer
function fails if the VRAM manager has not been initialized.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106125745.13797-8-tzimmermann@suse.de
2020-01-07 11:53:19 +01:00
Thomas Zimmermann
ebe9428b3f
drm/vram-helper: Remove interruptible flag from public interface
...
The flag 'interruptible', which is passed to various functions,
is always set to be false. Remove it and hard-code the value.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Suggested-by: Daniel Vetter <daniel@ffwll.ch >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106125745.13797-7-tzimmermann@suse.de
2020-01-07 11:53:19 +01:00
Boris Brezillon
e351e4d5ea
drm/bridge: Add the necessary bits to support bus format negotiation
...
drm_bridge_state is extended to describe the input and output bus
configurations. These bus configurations are exposed through the
drm_bus_cfg struct which encodes the configuration of a physical
bus between two components in an output pipeline, usually between
two bridges, an encoder and a bridge, or a bridge and a connector.
The bus configuration is stored in drm_bridge_state separately for
the input and output buses, as seen from the point of view of each
bridge. The bus configuration of a bridge output is usually identical
to the configuration of the next bridge's input, but may differ if
the signals are modified between the two bridges, for instance by an
inverter on the board. The input and output configurations of a
bridge may differ if the bridge modifies the signals internally,
for instance by performing format conversion, or*modifying signals
polarities.
Bus format negotiation is automated by the core, drivers just have
to implement the ->atomic_get_{output,input}_bus_fmts() hooks if they
want to take part to this negotiation. Negotiation happens in reverse
order, starting from the last element of the chain (the one directly
connected to the display) up to the first element of the chain (the one
connected to the encoder).
During this negotiation all supported formats are tested until we find
one that works, meaning that the formats array should be in decreasing
preference order (assuming the driver has a preference order).
Note that the bus format negotiation works even if some elements in the
chain don't implement the ->atomic_get_{output,input}_bus_fmts() hooks.
In that case, the core advertises only MEDIA_BUS_FMT_FIXED and lets
the previous bridge element decide what to do (most of the time, bridge
drivers will pick a default bus format or extract this piece of
information from somewhere else, like a FW property).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed by: Jernej Skrabec <jernej.skrabec@siol.net >
Tested-by: Jonas Karlman <jonas@kwiboo.se >
[narmstrong: fixed doc in include/drm/drm_bridge.h:69 fmt->format]
Link: https://patchwork.freedesktop.org/patch/msgid/20200106143409.32321-5-narmstrong@baylibre.com
2020-01-07 10:11:34 +01:00
Boris Brezillon
b86d895524
drm/bridge: Add an ->atomic_check() hook
...
So that bridge drivers have a way to check/reject an atomic operation.
The drm_atomic_bridge_chain_check() (which is just a wrapper around
the ->atomic_check() hook) is called in place of
drm_bridge_chain_mode_fixup() (when ->atomic_check() is not implemented,
the core falls back on ->mode_fixup(), so the behavior should stay
the same for existing bridge drivers).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed by: Jernej Skrabec <jernej.skrabec@siol.net >
Tested-by: Jonas Karlman <jonas@kwiboo.se >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106143409.32321-4-narmstrong@baylibre.com
2020-01-07 10:11:15 +01:00
Boris Brezillon
f7619a58ef
drm/bridge: Patch atomic hooks to take a drm_bridge_state
...
This way the drm_bridge_funcs interface is consistent with the rest of
the subsystem.
The only driver implementing those hooks (analogix DP) is patched too.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed by: Jernej Skrabec <jernej.skrabec@siol.net >
Tested-by: Jonas Karlman <jonas@kwiboo.se >
[narmstrong: renamed state as old_bridge_state in rcar_lvds_atomic_disable]
Link: https://patchwork.freedesktop.org/patch/msgid/20200106143409.32321-3-narmstrong@baylibre.com
2020-01-07 10:10:59 +01:00
Boris Brezillon
6ed7e9625f
drm/bridge: Add a drm_bridge_state object
...
One of the last remaining objects to not have its atomic state.
This is being motivated by our attempt to support runtime bus-format
negotiation between elements of the bridge chain.
This patch just paves the road for such a feature by adding a new
drm_bridge_state object inheriting from drm_private_obj so we can
re-use some of the existing state initialization/tracking logic.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed by: Jernej Skrabec <jernej.skrabec@siol.net >
Tested-by: Jonas Karlman <jonas@kwiboo.se >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106143409.32321-2-narmstrong@baylibre.com
2020-01-07 10:10:49 +01:00
Claudiu Beznea
02da7c3d79
Revert "drm: atmel-hlcdc: enable sys_clk during initalization."
...
This reverts commit d2c755e66617620b729041c625a6396c81d1231c
("drm: atmel-hlcdc: enable sys_clk during initalization."). With
commit "drm: atmel-hlcdc: enable clock before configuring timing engine"
there is no need for this patch. Code is also simpler.
Cc: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com >
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1576672109-22707-7-git-send-email-claudiu.beznea@microchip.com
2020-01-06 19:54:27 +01:00
Peter Rosin
51a19d150b
drm: atmel-hlcdc: prefer a lower pixel-clock than requested
...
The intention was to only select a higher pixel-clock rate than the
requested, if a slight overclocking would result in a rate significantly
closer to the requested rate than if the conservative lower pixel-clock
rate is selected. The fixed patch has the logic the other way around and
actually prefers the higher frequency. Fix that.
Signed-off-by: Peter Rosin <peda@axentia.se >
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Fixes: 9946a3a9db ("drm/atmel-hlcdc: allow selecting a higher pixel-clock than requested")
Reported-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Cc: Boris Brezillon <boris.brezillon@bootlin.com >
Cc: <stable@vger.kernel.org > # v4.20+
Link: https://patchwork.freedesktop.org/patch/msgid/1576672109-22707-6-git-send-email-claudiu.beznea@microchip.com
2020-01-06 19:54:27 +01:00
Claudiu Beznea
2c1fb9d86f
drm: atmel-hlcdc: enable clock before configuring timing engine
...
Changing pixel clock source without having this clock source enabled
will block the timing engine and the next operations after (in this case
setting ATMEL_HLCDC_CFG(5) settings in atmel_hlcdc_crtc_mode_set_nofb()
will fail). It is recomended (although in datasheet this is not present)
to actually enabled pixel clock source before doing any changes on timing
enginge (only SAM9X60 datasheet specifies that the peripheral clock and
pixel clock must be enabled before using LCD controller).
Fixes: 1a396789f6 ("drm: add Atmel HLCDC Display Controller support")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Cc: Boris Brezillon <boris.brezillon@free-electrons.com >
Cc: <stable@vger.kernel.org > # v4.0+
Link: https://patchwork.freedesktop.org/patch/msgid/1576672109-22707-3-git-send-email-claudiu.beznea@microchip.com
2020-01-06 19:53:24 +01:00
Claudiu Beznea
07acf4bafe
drm: atmel-hlcdc: use double rate for pixel clock only if supported
...
Doubled system clock should be used as pixel cock source only if this
is supported. This is emphasized by the value of
atmel_hlcdc_crtc::dc::desc::fixed_clksrc.
Fixes: a6eca2abdd ("drm: atmel-hlcdc: add config option for clock selection")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Cc: Boris Brezillon <bbrezillon@kernel.org >
Cc: <stable@vger.kernel.org > # v5.3+
Link: https://patchwork.freedesktop.org/patch/msgid/1576672109-22707-2-git-send-email-claudiu.beznea@microchip.com
2020-01-06 19:52:53 +01:00
Sam Ravnborg
bf04600764
dt-bindings: fix warnings in xinpeng,xpp055c272.yaml
...
The reg property in the example caused following warnings:
xinpeng,xpp055c272.example.dts:20.17-27: Warning (reg_format): /example-0/dsi@ff450000/panel@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
xinpeng,xpp055c272.example.dt.yaml: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
xinpeng,xpp055c272.example.dt.yaml: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
xinpeng,xpp055c272.example.dt.yaml: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
xinpeng,xpp055c272.example.dts:18.21-24.15: Warning (avoid_default_addr_size): /example-0/dsi@ff450000/panel@0: Relying on default #address-cells value
xinpeng,xpp055c272.example.dts:18.21-24.15: Warning (avoid_default_addr_size): /example-0/dsi@ff450000/panel@0: Relying on default #size-cells value
Added #address-cells and #size-cells to silence the warning.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Rob Herring <robh@kernel.org >
Cc: devicetree@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20200106181731.GA24294@ravnborg.org
2020-01-06 19:43:40 +01:00
yu kuai
810c773620
drm/bridge: cdns: remove set but not used variable 'nlanes'
...
Fixes gcc '-Wunused-but-set-variable' warning:
drivers/gpu/drm/bridge/cdns-dsi.c: In function ‘cdns_dsi_mode2cfg’:
drivers/gpu/drm/bridge/cdns-dsi.c:515:11: warning: variable ‘nlanes’
set but not used [-Wunused-but-set-variable]
It is never used, and so can be removed.
Signed-off-by: yu kuai <yukuai3@huawei.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191226121415.39483-1-yukuai3@huawei.com
2020-01-06 16:08:44 +01:00
yu kuai
303e2a3cb1
drm/bridge: cdns: remove set but not used variable 'bpp'
...
Fixes gcc '-Wunused-but-set-variable' warning:
drivers/gpu/drm/bridge/cdns-dsi.c: In function
‘cdns_dsi_bridge_enable’:
drivers/gpu/drm/bridge/cdns-dsi.c:788:6: warning: variable ‘bpp’
set but not used [-Wunused-but-set-variable]
It is never used, and so can be removed.
Signed-off-by: yu kuai <yukuai3@huawei.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191226121207.2099-1-yukuai3@huawei.com
2020-01-06 16:07:21 +01:00
zhengbin
3eaf891224
drm: meson: Remove unneeded semicolon
...
Fixes coccicheck warning:
drivers/gpu/drm/meson/meson_crtc.c:360:3-4: Unneeded semicolon
drivers/gpu/drm/meson/meson_plane.c:181:2-3: Unneeded semicolon
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: zhengbin <zhengbin13@huawei.com >
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1576468701-69717-1-git-send-email-zhengbin13@huawei.com
2020-01-06 15:56:23 +01:00
Julia Lawall
d969ebe922
drm: bridge: dw-hdmi: constify copied structure
...
The dw_hdmi_hw structure is only copied into another structure,
so make it const.
The opportunity for this change was found using Coccinelle.
Fixes: 7ed6c665e1 ("drm: bridge/dw_hdmi-ahb-audio: add audio driver")
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1577864614-5543-16-git-send-email-Julia.Lawall@inria.fr
2020-01-06 15:39:29 +01:00
Thomas Zimmermann
de2318f693
drm/hisilicon/hibmc: Export VRAM MM information to debugfs
...
This change makes information about VRAM consumption available on
debugfs. See
/sys/kernel/debug/dri/0/vram-mm
for an overview of how VRAM is being used.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203083819.6643-6-tzimmermann@suse.de
2020-01-06 13:46:03 +01:00
Thomas Zimmermann
9dddcd279a
drm/hisilicon/hibmc: Implement hibmc_dumb_create() with generic helpers
...
The hibmc driver aligns scanlines to 16 bytes. By using the new pitch_align
argument of drm_gem_vram_fill_create_dumb(), convert hibmc over.
v2:
* move changes to VRAM helpers into separate patch
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203083819.6643-5-tzimmermann@suse.de
2020-01-06 13:46:03 +01:00
Thomas Zimmermann
9870732786
drm/vram: Support scanline alignment for dumb buffers
...
Adding the pitch alignment as an argument to
drm_gem_vram_fill_create_dumb() allows to align scanlines to certain
offsets. A value of 0 disables scanline pitches.
v3:
* only do power-of-2 test if pitch_align given; fails otherwise
* mgag200: call drm_gem_vram_fill_create_dumb() with pitch_align
v2:
* split of patch from related hibmc changes
* test if scanline pitch is power of 2
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203083819.6643-4-tzimmermann@suse.de
2020-01-06 13:46:03 +01:00
Thomas Zimmermann
3e10d2ffd2
drm/hisilicon/hibmc: Replace struct hibmc_framebuffer with generic code
...
The hibmc driver's struct hibmc_framebuffer stores a DRM framebuffer
with an associated GEM object. This functionality is also provided by
generic code. Switch hibmc over.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203083819.6643-3-tzimmermann@suse.de
2020-01-06 13:46:02 +01:00
Thomas Zimmermann
a88248506a
drm/hisilicon/hibmc: Switch to generic fbdev emulation
...
There's nothing special about hibmc's fbdev emulation that is not
provided by the generic implementation. Switch over and remove the
driver's code.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191203083819.6643-2-tzimmermann@suse.de
2020-01-06 13:45:38 +01:00
Nickey Yang
0eee61521d
drm: rockchip: rk3066_hdmi: set edid fifo address
...
Fix edid reading error when edid's block > 2.
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com >
Signed-off-by: Johan Jonker <jbx6244@gmail.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191211203417.19448-1-jbx6244@gmail.com
2020-01-06 12:22:29 +01:00
Miquel Raynal
cca1705c3d
drm/rockchip: lvds: Add PX30 support
...
Introduce PX30 LVDS support. This means adding the relevant helper
functions, a specific probe and also the initialization of a specific
PHY.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-10-miquel.raynal@bootlin.com
2020-01-06 11:56:02 +01:00
Maarten Lankhorst
22164fbe27
Merge drm/drm-next into drm-misc-next
...
Requested, and we need v5.5-rc1 backported as our current branch is still based on v5.4.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
2020-01-06 10:35:33 +01:00
Miquel Raynal
3d0dad869a
drm/rockchip: lvds: move hardware-specific functions together
...
Reorganize a bit the functions order to clarify the driver and separate
hardware independent and specific functions a bit. This change only moves
functions around, there is no functional change.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
[adapted to recent drm_panel_get_modes() param change ]
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-9-miquel.raynal@bootlin.com
2020-01-05 13:21:51 +01:00
Miquel Raynal
2258d53a66
drm/rockchip: lvds: improve error handling in helper functions
...
Return errors instead of returning void from internal helpers. When
these helpers are called, check the returned value and print an error
message in this case and not blindly continue.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-8-miquel.raynal@bootlin.com
2020-01-05 12:43:13 +01:00
Miquel Raynal
9b5cbdbb93
drm/rockchip: lvds: Create an RK3288 specific probe function
...
The probe function is highly adapted to the RK3288 specificities, move
all specific bits into an "rk3288_probe" function, also part of the
platform data.
The goal is to ease the addition of new flavors of Rockchip LVDS IPs.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-7-miquel.raynal@bootlin.com
2020-01-05 12:38:54 +01:00
Miquel Raynal
36839e5788
drm/rockchip: lvds: Change platform data to hold helper_funcs pointer
...
Prepare the introduction of PX30 support by using
drm_encoder_helper_funcs as platform data instead of multiple register
names which are specific to rk3288 and not generic to all Rockchip
IPs. This way adding support for a new flavor of a similar IP will be
a matter of adding the relevant helper funcs.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-6-miquel.raynal@bootlin.com
2020-01-05 12:12:39 +01:00
Miquel Raynal
04bc39adf9
drm/rockchip: lvds: Harmonize function names
...
Prepare the introduction of PX30 support by clarifying the function
prefixes.
We continue to prefix with 'rockchip_lvds_' generic functions that are
not specific to a single hardware. Functions implying hardware
modifications are now prefixed with 'rk3288_lvds_'.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-5-miquel.raynal@bootlin.com
2020-01-05 12:12:05 +01:00
Miquel Raynal
eb503ee2c9
drm/rockchip: lvds: Fix indentation of a #define
...
Fix a #define indentation before adding more lines.
Fixes: 34cc0aa254 ("drm/rockchip: Add support for Rockchip Soc LVDS")
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-4-miquel.raynal@bootlin.com
2020-01-05 12:10:11 +01:00
Miquel Raynal
1e0b0a0cf3
dt-bindings: display: rockchip-lvds: Document PX30 PHY
...
PX30 SoCs use a single PHY shared by two display pipelines: MIPI DSI
and LVDS. In the case of the LVDS IP, document the possibility to fill
a PHY handle.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-3-miquel.raynal@bootlin.com
2020-01-05 12:09:52 +01:00
Miquel Raynal
d1dc01860a
dt-bindings: display: rockchip-lvds: Declare PX30 compatible
...
Document the PX30 LVDS compatible.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224143900.23567-2-miquel.raynal@bootlin.com
2020-01-05 12:09:36 +01:00
Heiko Stuebner
e98910bee6
drm/panel: add panel driver for Leadtek LTK500HD1829
...
The LTK500HD1829 is 5.5" DSI display.
v5:
- Fix some trivial checkpatch warnings while applying (sam)
changes in v4:
- drop error message if backlight not found, no other panel
does that and if needed it should live in drm_panel_of_backlight
changes in v3:
- drop one more overlooked panel->drm access
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112641.30647-3-heiko@sntech.de
2020-01-04 16:46:01 +01:00
Heiko Stuebner
eeb15a55d2
dt-bindings: display: panel: Add binding document for Leadtek LTK500HD1829
...
The LTK500HD1829 is a 5.0" 720x1280 DSI display.
v3:
- fixed example by adding address,size-cells (sam)
changes in v2:
- fix id (Maxime)
- drop port (Maxime)
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Acked-by: Maxime Ripard <mripard@kernel.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112641.30647-2-heiko@sntech.de
2020-01-04 16:44:29 +01:00
Heiko Stuebner
e8d47c471b
dt-bindings: Add vendor prefix for Leadtek Technology
...
Shenzhen Leadtek Technology Co., Ltd. produces for example display
and touch panels.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112641.30647-1-heiko@sntech.de
2020-01-04 16:38:26 +01:00
Heiko Stuebner
d1479d028a
drm/panel: add panel driver for Xinpeng XPP055C272 panels
...
Base on the somewhat similar Rocktech driver but adapted for
panel-specific init of the XPP055C272.
changes in v5:
- drop error message when backlight not found, no other panel
does that and if needed it should live in drm_panel_of_backlight
changes in v4:
none
changes in v3:
- remove wrong negative sync flags from display-mode to fix a display
artifact of the output getting move a tiny bit to the right
changes in v2:
- move to drm-panel-internal backlight handling (Sam)
- adapt to changes that happened to drm_panel structs+functions (Sam)
- sort includes (Sam)
- drop unnecessary DRV_NAME constant (Sam)
- do mipi_dsi_dcs_exit_sleep_mode and mipi_dsi_dcs_set_display_on
in panel prepare (not init_sequence) to keep symmetric (Sam)
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112907.30758-3-heiko@sntech.de
2020-01-04 16:20:31 +01:00
Heiko Stuebner
01d53e327d
dt-bindings: display: panel: Add binding document for Xinpeng XPP055C272
...
The XPP055C272 is a 5.5" 720x1280 DSI display.
changes in v4:
- fix id (Maxime)
- drop port (Maxime)
changes in v2:
- add size info into binding title (Sam)
- add more required properties (Sam)
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Maxime Ripard <mripard@kernel.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112907.30758-2-heiko@sntech.de
2020-01-04 16:20:30 +01:00
Heiko Stuebner
3862c824de
dt-bindings: Add vendor prefix for Xinpeng Technology
...
Shenzhen Xinpeng Technology Co., Ltd produces for example display panels.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191224112907.30758-1-heiko@sntech.de
2020-01-04 16:20:29 +01:00
Andrew F. Davis
80805774fc
omapfb/dss: remove unneeded conversions to bool
...
Found with scripts/coccinelle/misc/boolconv.cocci.
Signed-off-by: Andrew F. Davis <afd@ti.com >
Cc: Jiri Kosina <trivial@kernel.org >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191016180424.23907-1-afd@ti.com
2020-01-03 14:27:51 +01:00
Markus Elfring
7610bca71e
video: pxafb: Use devm_platform_ioremap_resource() in pxafb_probe()
...
Simplify this function implementation by using a known wrapper function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net >
Cc: Daniel Mack <daniel@zonque.org >
Cc: Mauro Carvalho Chehab <mchehab+samsung@kernel.org >
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com >
Cc: Viresh Kumar <viresh.kumar@linaro.org >
Cc: YueHaibing <yuehaibing@huawei.com >
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Cc: Himanshu Jha <himanshujha199640@gmail.com >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/a1b804b1-43c2-327a-d6d1-df49aebec680@web.de
2020-01-03 14:27:50 +01:00
Markus Elfring
bc2e738289
video: ocfb: Use devm_platform_ioremap_resource() in ocfb_probe()
...
Simplify this function implementation by using a known wrapper function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net >
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Cc: Himanshu Jha <himanshujha199640@gmail.com >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/61b75aa6-ff92-e0ed-53f2-50a95d93d1f6@web.de
2020-01-03 14:27:49 +01:00
Gustavo A. R. Silva
4a7001f0f4
video: fbdev: fsl-diu-fb: mark expected switch fall-throughs
...
Mark switch cases where we are expecting to fall through.
Fix the following warnings (Building: mpc512x_defconfig powerpc):
drivers/video/fbdev/fsl-diu-fb.c: In function ‘fsl_diu_ioctl’:
./include/linux/device.h:1750:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
_dev_warn(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/fsl-diu-fb.c:1287:3: note: in expansion of macro ‘dev_warn’
dev_warn(info->dev,
^~~~~~~~
drivers/video/fbdev/fsl-diu-fb.c:1290:2: note: here
case MFB_SET_PIXFMT:
^~~~
In file included from ./include/linux/acpi.h:15:0,
from ./include/linux/i2c.h:13,
from ./include/uapi/linux/fb.h:6,
from ./include/linux/fb.h:6,
from drivers/video/fbdev/fsl-diu-fb.c:20:
./include/linux/device.h:1750:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
_dev_warn(dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/fsl-diu-fb.c:1296:3: note: in expansion of macro ‘dev_warn’
dev_warn(info->dev,
^~~~~~~~
drivers/video/fbdev/fsl-diu-fb.c:1299:2: note: here
case MFB_GET_PIXFMT:
^~~~
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
Cc: Timur Tabi <timur@kernel.org >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190911113604.GA31512@embeddedor
2020-01-03 14:27:48 +01:00
Colin Ian King
776b0aa9a6
fbdev: matrox: make array wtst_xlat static const, makes object smaller
...
Don't populate the array wtst_xlat on the stack but instead make it
static const. Makes the object code smaller by 89 bytes.
Before:
text data bss dec hex filename
14347 840 0 15187 3b53 fbdev/matrox/matroxfb_misc.o
After:
text data bss dec hex filename
14162 936 0 15098 3afa fbdev/matrox/matroxfb_misc.o
(gcc version 9.2.1, amd64)
Signed-off-by: Colin Ian King <colin.king@canonical.com >
[b.zolnierkie: use u8 while at it (suggested by Ville Syrjälä)]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190906181114.31414-1-colin.king@canonical.com
2020-01-03 14:27:47 +01:00
YueHaibing
3149299e10
fbdev/sa1100fb: use devm_platform_ioremap_resource() to simplify code
...
Use devm_platform_ioremap_resource() to simplify the code a bit.
This is detected by coccinelle.
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Viresh Kumar <viresh.kumar@linaro.org >
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904115754.21612-1-yuehaibing@huawei.com
2020-01-03 14:27:46 +01:00
YueHaibing
8d5598f13f
fbdev: s3c-fb: use devm_platform_ioremap_resource() to simplify code
...
Use devm_platform_ioremap_resource() to simplify the code a bit.
This is detected by coccinelle.
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Acked-by: Jingoo Han <jingoohan1@gmail.com >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904115523.25068-1-yuehaibing@huawei.com
2020-01-03 14:27:45 +01:00
YueHaibing
1d47d0bb72
fbdev: omapfb: use devm_platform_ioremap_resource() to simplify code
...
Use devm_platform_ioremap_resource() to simplify the code a bit.
This is detected by coccinelle.
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Alexios Zavras <alexios.zavras@intel.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Allison Randal <allison@lohutok.net >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190904115406.23880-1-yuehaibing@huawei.com
2020-01-03 14:27:44 +01:00
Souptick Joarder
eaa051a0ca
video/fbdev/68328fb: Remove dead code
...
This is dead code since 3.15. If their is no plan to
use it further, these can be removed forever.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com >
Cc: Sabyasachi Gupta <sabyasachi.linux@gmail.com >
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1567428544-8620-1-git-send-email-jrdr.linux@gmail.com
2020-01-03 14:27:43 +01:00