Thomas Zimmermann
39463ef19b
drm/tve200: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Acked-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-21-tzimmermann@suse.de
2023-03-14 17:07:49 +01:00
Thomas Zimmermann
4144334a41
drm/arcpgu: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-20-tzimmermann@suse.de
2023-03-14 17:07:49 +01:00
Thomas Zimmermann
10143427b5
drm/tilcdc: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-19-tzimmermann@suse.de
2023-03-14 17:07:49 +01:00
Thomas Zimmermann
5e85fd0098
drm/tidss: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-18-tzimmermann@suse.de
2023-03-14 17:07:49 +01:00
Thomas Zimmermann
a5b179ac42
drm/sun4i: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-17-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
11ac5e0fce
drm/stm: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-16-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
000a0134cf
drm/sti: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-15-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
5fe96f6a40
drm/mxsfb: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-14-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
55c7cd97c4
drm/mxsfb/lcdif: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-13-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
8a9d46f4f5
drm/meson: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-12-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
5d3f30e033
drm/logicvc: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-11-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
9d8fdb04fb
drm/kmb: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Acked-by: Anitha Chrisanthus <anitha.chrisanthus@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-10-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
254461dd9f
drm/imx: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-9-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
37a0bd3266
drm/imx/dcss: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-8-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
abe06b95aa
drm/fsl-dcu: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-7-tzimmermann@suse.de
2023-03-14 17:07:48 +01:00
Thomas Zimmermann
b3fec11d0d
drm/atmel-hlcdc: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-6-tzimmermann@suse.de
2023-03-14 17:07:47 +01:00
Thomas Zimmermann
74e6a79fe8
drm/aspeed: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-5-tzimmermann@suse.de
2023-03-14 17:07:47 +01:00
Thomas Zimmermann
497cc665ed
arm/malidp: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-4-tzimmermann@suse.de
2023-03-14 17:07:47 +01:00
Thomas Zimmermann
9ff7705fe3
arm/hdlcd: Use GEM DMA fbdev emulation
...
Use the fbdev emulation that is optimized for DMA helpers. Avoids
possible shadow buffering and makes the code simpler.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-3-tzimmermann@suse.de
2023-03-14 17:07:47 +01:00
Thomas Zimmermann
b79fe9abd5
drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers
...
Implement fbdev emulation that is optimized for drivers that use
DMA helpers. The buffers may no tbe moveable, may not require damage
handling and have to be located in system memory. This allows fbdev
emulation to operate directly on the buffer and mmap it to userspace.
Besides those constraints, the emulation works like in the generic
code. As an internal DRM client provides, it receives hotplug, restore
and unregister events. The DRM client is independent from the fbdev
probing, which runs on the first successful hotplug event.
The emulation is part of the DMA helper module and not build unless
DMA helpers and fbdev emulation has been configured.
Tested with vc4.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313155138.20584-2-tzimmermann@suse.de
2023-03-14 17:07:47 +01:00
Uwe Kleine-König
9fcc00eafd
drm: Drop ARCH_MULTIPLATFORM from dependencies
...
Some of these dependencies used to be sensible when only a small part of
the platforms supported by ARCH=arm could be compiled together in a
single kernel image. Nowadays ARCH_MULTIPLATFORM is only used as a guard
for kernel options incompatible with a multiplatform image. See commit
84fc863606 ("ARM: make ARCH_MULTIPLATFORM user-visible") for some more
details.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20221209220555.3631364-1-u.kleine-koenig@pengutronix.de
2023-03-14 12:57:22 +01:00
Marian Cichy
c87e859cde
drm/imx/lcdc: Implement DRM driver for imx25
...
Add support for the LCD Controller found on i.MX21 and i.MX25.
It targets to be a drop in replacement for the imx-fb driver.
[ukl: Rebase to a newer kernel version, various smaller fixes and
improvements]
Signed-off-by: Marian Cichy <m.cichy@pengutronix.de >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Link: https://lore.kernel.org/r/20230306115249.2223042-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20230306115249.2223042-3-u.kleine-koenig@pengutronix.de
2023-03-14 11:43:53 +01:00
Uwe Kleine-König
492054f74a
dt-bindings: display: imx: Describe drm binding for fsl,imx-lcdc
...
Modify the existing (fb-like) binding to support the drm-like binding in
parallel.
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Link: https://lore.kernel.org/r/20230306115249.2223042-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20230306115249.2223042-2-u.kleine-koenig@pengutronix.de
2023-03-14 11:43:53 +01:00
Javier Martinez Canillas
01f05940a9
drm/virtio: Enable fb damage clips property for the primary plane
...
Christian Hergert reports that the driver doesn't enable the property and
that leads to always doing a full plane update, even when the driver does
support damage clipping for the primary plane.
Don't enable it for the cursor plane, because its .atomic_update callback
doesn't handle damage clips.
Reported-by: Christian Hergert <chergert@redhat.com >
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230310125943.912514-1-javierm@redhat.com
2023-03-13 18:22:24 +01:00
Jianhua Lu
0993234a00
drm/panel: Add driver for Novatek NT36523
...
Add a driver for panels using the Novatek NT36523 display driver IC.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313101858.14611-2-lujianhua000@gmail.com
2023-03-13 16:08:36 +01:00
Jianhua Lu
c61093b56a
dt-bindings: display: panel: Add Novatek NT36523 bindings
...
Novatek NT36523 is a display driver IC used to drive DSI panels.
Signed-off-by: Jianhua Lu <lujianhua000@gmail.com >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230313101858.14611-1-lujianhua000@gmail.com
2023-03-13 16:08:18 +01:00
Stanislaw Gruszka
dd61bbd0d1
accel: Build sub-directories based on config options
...
When accel drivers are disabled do not process into
sub-directories and create built-in archives:
AR drivers/accel/habanalabs/built-in.a
AR drivers/accel/ivpu/built-in.a
Fixes: 35b137630f ("accel/ivpu: Introduce a new DRM driver for Intel VPU")
Signed-off-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com >
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com >
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230301162508.3963484-1-stanislaw.gruszka@linux.intel.com
2023-03-13 12:40:41 +01:00
Thomas Zimmermann
f8d221dd97
drm/cirrus: Use VGA macro constants to unblank
...
Set the VGA bit for unblanking with macro constants instead of magic
values. No functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-18-tzimmermann@suse.de
2023-03-13 10:37:09 +01:00
Thomas Zimmermann
de7d09ffd5
drm/cirrus: Store HW format/pitch in primary-plane state
...
The hardware settings for color format and pitch are state of the
primary plane. Store the values in the primary plane's state structure
struct cirrus_primary_plane_state. Adapt all callers.
All fields in struct cirrus_device are now considered immutable after
initialization. Plane updates consider the difference between the old
and the new plane state before updating format or pitch.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-17-tzimmermann@suse.de
2023-03-13 10:37:05 +01:00
Thomas Zimmermann
74b9a444ba
drm/cirrus: Introduce struct cirrus_primary_plane_state
...
The cirrus driver maintains plane state, format and pitch, in it's
device structure. Introduce a plane state for the primary plane to
store the values.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-16-tzimmermann@suse.de
2023-03-13 10:37:02 +01:00
Thomas Zimmermann
6ffdf8865d
drm/cirrus: Inline cirrus_check_size() into primary-plane atomic_check
...
Inline the framebuffer size check into the primary plane's atomic_check
cirrus_primary_plane_atomic_check(). No functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-15-tzimmermann@suse.de
2023-03-13 10:36:59 +01:00
Thomas Zimmermann
f8ad33797a
drm/cirrus: Test mode against video-memory size in device-wide mode_valid
...
Test a display mode against the available amount of video memory in
struct drm_mode_config_funcs.mode_valid, which cirrus implements in
cirrus_mode_config_mode_valid(). This helper tests display modes against
device-wide limits. Remove the now-obsolete per-CRTC test.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-14-tzimmermann@suse.de
2023-03-13 10:36:55 +01:00
Thomas Zimmermann
edc9f16763
drm/cirrus: Remove size test from cirrus_fb_create()
...
The DRM core implements a size check against the mode config's
limits when creating a framebuffer. [1] Remove the unnecessary
test from cirrus_fb_create() and remove the now-empty function.
Create framebuffers with drm_gem_fb_create_with_dirty().
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://elixir.bootlin.com/linux/v6.1/source/drivers/gpu/drm/drm_framebuffer.c#L287 # [1]
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-13-tzimmermann@suse.de
2023-03-13 10:36:40 +01:00
Thomas Zimmermann
91affdf351
drm/cirrus: Remove format test from cirrus_fb_create()
...
The DRM core implements a format check when setting a framebuffer
for a plane. [1] Remove the unnecessary test from cirrus_fb_create().
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://elixir.bootlin.com/linux/v6.1/source/drivers/gpu/drm/drm_atomic.c#L629 # [1]
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-12-tzimmermann@suse.de
2023-03-13 10:36:32 +01:00
Thomas Zimmermann
c94aa5e040
drm/cirrus: Inline cirrus_fb_blit_rect()
...
Inline cirrus_fb_blit_rect into its only caller. While at it, update
the code to use IOSYS_MAP_INIT_OFFSET(), which is the ideomatic way
of initializing struct iosys_map with an offset.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-11-tzimmermann@suse.de
2023-03-13 10:36:28 +01:00
Thomas Zimmermann
03e7ac67e7
drm/cirrus: Enable damage clipping on primary plane
...
Enable damage clipping on the primary plane and iterate over small
areas of reported framebuffer damage. Avoid the overhead of permanent
full-screen updates that cirrus currently implements.
This problem is indicated by the warning
drm_plane_enable_fb_damage_clips() not called
in the kernel's log. Without damage clipping, drivers do full updates
of the screen area. This is costly as many screen updates, such as
cursor movement or command-line input, only change a small portion
of the output. Damage clipping allows renderers to inform drivers about
the changed areas.
With the damage information known, cirrus now iterates over a list of
change areas and only flushes those to the hardware's scanout buffer.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-10-tzimmermann@suse.de
2023-03-13 10:36:24 +01:00
Thomas Zimmermann
d99c028941
drm/cirrus: Convert to regular atomic helpers
...
Replace simple-KMS helpers with DRM's regular helpers for atomic
modesetting. Avoids the mid-layer and the additional wrappers around
GEM's shadow-plane helpers.
Most of the simple-KMS code is just wrappers around regular atomic
helpers. The conversion is therefore equivalent to pulling the
simple-KMS helpers into cirrus and removing all the intermediate
code and data structures between the driver and the atomic helpers.
As the simple-KMS helpers lump primary plan, CRTC and encoder into a
single data structure, the conversion to regular helpers allows to
split modesetting from plane updates and handle each individually.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-9-tzimmermann@suse.de
2023-03-13 10:36:20 +01:00
Thomas Zimmermann
fe57235bc1
drm/cirrus: Move primary-plane format arrays
...
Move the primary plane's format and modifier arrays within the
source file and adapt naming slightly. No functional changes.
Done in preparation of converting cirrus to regular atomic helpers.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-8-tzimmermann@suse.de
2023-03-13 10:36:15 +01:00
Thomas Zimmermann
e049497702
drm/cirrus: Integrate connector into pipeline code
...
Integrate the connector with the rest of the pipeline setup code.
Move some helpers within the file and adapt naming slightly. No
functional changes.
Done in preparation of converting cirrus to regular atomic helpers.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-7-tzimmermann@suse.de
2023-03-13 10:36:10 +01:00
Thomas Zimmermann
d2ff2ef8c0
drm/cirrus: Split cirrus_mode_set() into smaller functions
...
Split cirrus_mode_set() into smaller functions that set the display
mode, color format and scnaline pitch individually. Better reflects
the design of the DRM modesetting pipeline.
Done in preparation of converting cirrus to regular atomic helpers.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-6-tzimmermann@suse.de
2023-03-13 10:36:06 +01:00
Thomas Zimmermann
2fb82d5a42
drm/cirrus: Move drm_dev_{enter, exit}() into DRM helpers
...
Call drm_dev_enter() and drm_dev_exit() immediately after entering
cirrus' DRM helper functions. Remove these calls from other functions.
Each enter/exit block in the DRM helpers covers the full hardware
update. No functional changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-5-tzimmermann@suse.de
2023-03-13 10:36:03 +01:00
Thomas Zimmermann
cc158d0e9b
drm/cirrus: Use drm_fb_blit() to update scanout buffer
...
Cirrus' blit helper reimplements code from the shared blit helper
drm_fb_blit(). Use the helper instead.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-4-tzimmermann@suse.de
2023-03-13 10:36:00 +01:00
Thomas Zimmermann
5635adcb34
drm/cirrus: Replace cpp value with format
...
Using components per pixel to describe a color format is obsolete.
Use the format info and 4CC value instead.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-3-tzimmermann@suse.de
2023-03-13 10:35:57 +01:00
Thomas Zimmermann
d1c0cc8d0d
drm/cirrus: Compute blit destination offset in single location
...
The calculation for the scanout-buffer blit offset is independent
from the color format. In the one case where the current code uses
fb->pitches[0] instead of cirrus->pitch, their values are identical.
Hence merge all into a single line.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230215161517.5113-2-tzimmermann@suse.de
2023-03-13 10:35:47 +01:00
Thomas Zimmermann
a1eccc574f
Merge drm/drm-next into drm-misc-next
...
Backmerging to get v6.3-rc1 and sync with the other DRM trees.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
2023-03-13 09:27:50 +01:00
Javier Martinez Canillas
3e853b9f89
drm/format-helper: Make conversion_buf_size() support sub-byte pixel fmts
...
There are DRM fourcc formats that have pixels smaller than a byte, but the
conversion_buf_size() function assumes that pixels are a multiple of bytes
and use the struct drm_format_info .cpp field to calculate the dst_pitch.
Instead, calculate it by using the bits per pixel (bpp) and divide it by 8
to account for formats that have sub-byte pixels.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com >
Reviewed-by: Arthur Grillo <arthurgrillo@riseup.net >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230307215039.346863-1-javierm@redhat.com
2023-03-10 12:40:56 +01:00
Uwe Kleine-König
96c25b0314
drm/tests: helpers: Drop empty platform remove function
...
A remove callback just returning 0 is equivalent to no remove callback
at all. So drop the useless function.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Reviewed-by: Maíra Canal <mcanal@igalia.com >
Signed-off-by: Maíra Canal <mairacanal@riseup.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20230224221417.1712368-1-u.kleine-koenig@pengutronix.de
2023-03-09 11:17:08 -03:00
Thomas Hellström
8ab3b0663e
drm/ttm: Don't print error message if eviction was interrupted
...
Avoid printing an error message if eviction was interrupted by,
for example, the user pressing CTRL-C. That may happen if eviction
is waiting for something, like for example a free batch-buffer.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230307144621.10748-6-thomas.hellstrom@linux.intel.com
2023-03-09 14:18:53 +01:00
Thomas Hellström
8d746ec4ab
drm/ttm: Unexport ttm_global_swapout()
...
Unexport ttm_global_swapout() since it is not used outside of TTM.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230307144621.10748-5-thomas.hellstrom@linux.intel.com
2023-03-09 14:18:53 +01:00
Thomas Hellström
95f8138d66
drm/ttm: Use the BIT macro for the TTM_TT_FLAGs
...
New code is recommended to use the BIT macro instead of the explicit
shifts. Change the older defines so that we can keep the style consistent
with upcoming changes.
v2:
- Also change the value of the _PRIV_POPULATED bit (Christian König)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230307144621.10748-4-thomas.hellstrom@linux.intel.com
2023-03-09 14:18:53 +01:00