Thomas Zimmermann [Mon, 16 Jan 2023 13:12:24 +0000 (14:12 +0100)]
drm/kmb: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:23 +0000 (14:12 +0100)]
drm/ingenic: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:22 +0000 (14:12 +0100)]
drm/i2c/ch7006: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:21 +0000 (14:12 +0100)]
drm/gma500: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Directly include required headers and drop drm_crtc_helper.h where
possible.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:20 +0000 (14:12 +0100)]
drm/bridge: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:19 +0000 (14:12 +0100)]
drm/ast: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:18 +0000 (14:12 +0100)]
drm/aspeed: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:17 +0000 (14:12 +0100)]
drm/arm/komeda: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:16 +0000 (14:12 +0100)]
drm/amdgpu: Remove unnecessary include statements for drm_crtc_helper.h
Several source files include drm_crtc_helper.h without needing it or
only to get its transitive include statements; leading to unnecessary
compile-time dependencies.
Directly include required headers and drop drm_crtc_helper.h where
possible.
v2:
* keep includes sorted in amdgpu_device.c (Sam)
Thomas Zimmermann [Mon, 16 Jan 2023 13:12:15 +0000 (14:12 +0100)]
drm: Remove unnecessary include statements for drm_crtc_helper.h
Several DRM core and helper source files include drm_crtc_helper.h
without needing it or only to get its transitive include statements;
leading to unnecessary compile-time dependencies.
Directly include required headers and drop drm_crtc_helper.h where
possible. The header file, drm_fixed.h, includes <linux/kernel.h>
for lower_32_bits().
v2:
* include drm_crtc_helper.h in drm_crtc_helper.c (Sam)
Arnd Bergmann [Tue, 17 Jan 2023 16:54:50 +0000 (17:54 +0100)]
drm: panel: visionox: add backlight dependency
The newly added driver uses the backlight subsystem but is missing the
corresponding Kconfig dependency:
arm-linux-gnueabi-ld: drivers/gpu/drm/panel/panel-visionox-vtdr6130.o: in function `visionox_vtdr6130_probe':
panel-visionox-vtdr6130.c:(.text+0xdee): undefined reference to `devm_backlight_device_register'
As shown above DPI2 output of DSS is connected to DPI0 input of DSI
Wrapper, DSI wrapper gives control wheather to enable/disable DPI0
input. In j721e above is the only configuration supported
Signed-off-by: Rahul T R <r-ravikumar@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-6-r-ravikumar@ti.com
Rahul T R [Tue, 3 Jan 2023 10:19:50 +0000 (15:49 +0530)]
drm/bridge: cdns-dsi: Create a header file
Create a header file for cdns dsi and move structure definations to
prepare for adding j721e wrapper support
Signed-off-by: Rahul T R <r-ravikumar@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-5-r-ravikumar@ti.com
Rahul T R [Tue, 3 Jan 2023 10:19:49 +0000 (15:49 +0530)]
drm/bridge: cdns-dsi: Move to drm/bridge/cadence
Move the cadence dsi bridge under drm/bridge/cadence directory, to
prepare for adding j721e wrapper support
Signed-off-by: Rahul T R <r-ravikumar@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-4-r-ravikumar@ti.com
Rahul T R [Tue, 3 Jan 2023 10:19:48 +0000 (15:49 +0530)]
dt-bindings: display: bridge: cdns,dsi: Add compatible for dsi on j721e
Add compatible to support dsi bridge on j721e
Signed-off-by: Rahul T R <r-ravikumar@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-3-r-ravikumar@ti.com
Rahul T R [Tue, 3 Jan 2023 10:19:47 +0000 (15:49 +0530)]
dt-bindings: display: bridge: Convert cdns,dsi.txt to yaml
Convert cdns,dsi.txt binding to yaml format
Signed-off-by: Rahul T R <r-ravikumar@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103101951.10963-2-r-ravikumar@ti.com
Thomas Zimmermann [Mon, 16 Jan 2023 12:10:23 +0000 (13:10 +0100)]
drm/ttm: Include <linux/vmalloc.h> to fix MIPS build
On MIPS, vmap() and vunmap() are undeclared in ttm_bo_util.c. An
error message is shown below.
CC drivers/gpu/drm/ttm/ttm_bo_util.o
../drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_bo_kmap_ttm':
../drivers/gpu/drm/ttm/ttm_bo_util.c:364:32: error: implicit declaration of function 'vmap'; did you mean 'kmap'? [-Werror=implicit-function-declaration]
364 | map->virtual = vmap(ttm->pages + start_page, num_pages,
| ^~~~
| kmap
../drivers/gpu/drm/ttm/ttm_bo_util.c:364:30: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
364 | map->virtual = vmap(ttm->pages + start_page, num_pages,
| ^
../drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_bo_kunmap':
../drivers/gpu/drm/ttm/ttm_bo_util.c:429:17: error: implicit declaration of function 'vunmap'; did you mean 'kunmap'? [-Werror=implicit-function-declaration]
429 | vunmap(map->virtual);
| ^~~~~~
| kunmap
../drivers/gpu/drm/ttm/ttm_bo_util.c: In function 'ttm_bo_vmap':
../drivers/gpu/drm/ttm/ttm_bo_util.c:509:23: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
509 | vaddr = vmap(ttm->pages, ttm->num_pages, 0, prot);
| ^
Kees Cook [Tue, 3 Jan 2023 23:48:36 +0000 (15:48 -0800)]
drm/nouveau/fb/ga102: Replace zero-length array of trailing structs with flex-array
Zero-length arrays are deprecated[1] and are being replaced with
flexible array members in support of the ongoing efforts to tighten the
FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
Replace zero-length array with flexible-array member.
This results in no differences in binary output.
[1] https://github.com/KSPP/linux/issues/78
Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Karol Herbst <kherbst@redhat.com> Cc: Lyude Paul <lyude@redhat.com> Cc: David Airlie <airlied@gmail.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Gourav Samaiya <gsamaiya@nvidia.com> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org> Cc: dri-devel@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Karol Herbst <kherbst@redhat.com> Signed-off-by: Karol Herbst <kherbst@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103234835.never.378-kees@kernel.org
Marek Vasut [Sun, 16 Oct 2022 00:35:56 +0000 (02:35 +0200)]
drm/bridge: tc358767: Set default CLRSIPO count
The current CLRSIPO count is still marginal and does not work with high
DSI clock rates in burst mode. Increase it further to allow the DSI link
to work at up to 1Gbps lane speed. This returns the counts to defaults
as provided by datasheet.
Thomas Zimmermann [Wed, 11 Jan 2023 13:02:02 +0000 (14:02 +0100)]
drm: Define enum mode_set_atomic in drm_modeset_helper_tables.h
Define enum mode_set_atomic next to the only interface that uses
the type. This will allow for removing several include statements
for drm_fb_helper.h. No functional changes.
Thomas Zimmermann [Wed, 11 Jan 2023 13:02:01 +0000 (14:02 +0100)]
drm/panel: Do not include <linux/fb.h>
Remove unnecessary include statements for <linux/fb.h>. No functional
changes. Include <linux/of.h> where the driver got the header file via
<linux/fb.h>.
Thomas Zimmermann [Wed, 11 Jan 2023 13:01:58 +0000 (14:01 +0100)]
drm: Include <linux/of.h> where needed
Include <linux/of.h> in source files that need it. Some of DRM's
source code gets OF header via drm_crtc_helper.h and <linux/fb.h>,
which can leed to unnecessary recompilation.
In drm_modes.c, add a comment on the reason for still including
<linux/fb.h>. The header file is required to get KHZ2PICOS(). The
macro is part of the UAPI headers, so it cannot be moved to a less
prominent location.
v2:
* include <linux/of.h> in komeda_drv.c (kernel test robot)
Thomas Zimmermann [Wed, 11 Jan 2023 13:01:57 +0000 (14:01 +0100)]
drm: Include <linux/backlight.h> where needed
Include <linux/backlight.h> in source files that need it. Some of
DRM's source code gets the backlight header via drm_crtc_helper.h
and <linux/fb.h>, which can leed to unnecessary recompilation. If
possible, do not include drm_crtc_helper.h any longer.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:16 +0000 (17:05 +0100)]
drm/fbdev: Remove aperture handling and FBINFO_MISC_FIRMWARE
There are no users left of struct fb_info.apertures and the flag
FBINFO_MISC_FIRMWARE. Remove both and the aperture-ownership code
in the fbdev core. All code for aperture ownership is now located
in the fbdev drivers.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:15 +0000 (17:05 +0100)]
fbdev/vga16fb: Do not use struct fb_info.apertures
Acquire ownership of the firmware scanout buffer by calling Linux'
aperture helpers. Remove the use of struct fb_info.apertures and do
not set FBINFO_MISC_FIRMWARE; both of which previously configured
buffer ownership.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:14 +0000 (17:05 +0100)]
fbdev/vesafb: Do not use struct fb_info.apertures
Acquire ownership of the firmware scanout buffer by calling Linux'
aperture helpers. Remove the use of struct fb_info.apertures and do
not set FBINFO_MISC_FIRMWARE; both of which previously configured
buffer ownership.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:12 +0000 (17:05 +0100)]
fbdev/simplefb: Do not use struct fb_info.apertures
Acquire ownership of the firmware scanout buffer by calling Linux'
aperture helpers. Remove the use of struct fb_info.apertures and do
not set FBINFO_MISC_FIRMWARE; both of which previously configured
buffer ownership.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:11 +0000 (17:05 +0100)]
fbdev/offb: Do not use struct fb_info.apertures
Acquire ownership of the firmware scanout buffer by calling Linux'
aperture helpers. Remove the use of struct fb_info.apertures and do
not set FBINFO_MISC_FIRMWARE; both of which previously configured
buffer ownership.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:09 +0000 (17:05 +0100)]
fbdev/efifb: Do not use struct fb_info.apertures
Acquire ownership of the firmware scanout buffer by calling Linux'
aperture helpers. Remove the use of struct fb_info.apertures and do
not set FBINFO_MISC_FIRMWARE; both of which previously configured
buffer ownership.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:07 +0000 (17:05 +0100)]
vfio-mdev/mdpy-fb: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in mdpy-fb.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:06 +0000 (17:05 +0100)]
fbdev/hyperv-fb: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in hyperv-fb.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:05 +0000 (17:05 +0100)]
fbdev/clps711x-fb: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in clps711x-fb.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:03 +0000 (17:05 +0100)]
drm/radeon: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in radeon.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:02 +0000 (17:05 +0100)]
drm/i915: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in i915.
Thomas Zimmermann [Mon, 19 Dec 2022 16:05:01 +0000 (17:05 +0100)]
drm/gma500: Do not set struct fb_info.apertures
Generic fbdev drivers use the apertures field in struct fb_info to
control ownership of the framebuffer memory and graphics device. Do
not set the values in gma500.
Always free the console font when deinitializing the framebuffer
console. Subsequent framebuffer consoles will then use the default
font. Rely on userspace to load any user-configured font for these
consoles.
Commit ae1287865f53 ("fbcon: don't lose the console font across
generic->chip driver switch") was introduced to work around losing
the font during graphics-device handover. [1][2] It kept a dangling
pointer with the font data between loading the two consoles, which is
fairly adventurous hack. It also never covered cases when the other
consoles, such as VGA text mode, where involved.
The problem has meanwhile been solved in userspace. Systemd comes
with a udev rule that re-installs the configured font when a console
comes up. [3] So the kernel workaround can be removed.
This also removes one of the two special cases triggered by setting
FBINFO_MISC_FIRMWARE in an fbdev driver.
Tested during device handover from efifb and simpledrm to radeon. Udev
reloads the configured console font for the new driver's terminal.
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked these drivers obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
3dfx Glide-->driver/gpu/drm/tdfx
Matrox-->driver/gpu/drm/mga
Intel i810-->driver/gpu/drm/i810
S3 Savage-->drivers/gpu/drm/savage
ATI Rage 128->drivers/gpu/drm/r128
Silicon Integrated Systems->drivers/gpu/drm/sis
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked these drivers obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
3dfx Glide-->driver/gpu/drm/tdfx
Matrox-->driver/gpu/drm/mga
Intel i810-->driver/gpu/drm/i810
S3 Savage-->drivers/gpu/drm/savage
ATI Rage 128->drivers/gpu/drm/r128
Silicon Integrated Systems->drivers/gpu/drm/sis
VIA Unichrome->drivers/gpu/drm/via
Cai Huoqing [Sat, 3 Dec 2022 10:22:58 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-via
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked via driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
VIA Unichrome->drivers/gpu/drm/via
Cai Huoqing [Sat, 3 Dec 2022 10:22:57 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-tdfx
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked tdfx driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
3dfx Glide-->driver/gpu/drm/tdfx
Cai Huoqing [Sat, 3 Dec 2022 10:22:56 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-sis
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked sis driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
Silicon Integrated Systems->drivers/gpu/drm/sis
Cai Huoqing [Sat, 3 Dec 2022 10:22:55 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-savage
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked savage driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
S3 Savage-->drivers/gpu/drm/savage
Cai Huoqing [Sat, 3 Dec 2022 10:22:54 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-r128
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked r128 driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
ATI Rage 128->drivers/gpu/drm/r128
Cai Huoqing [Sat, 3 Dec 2022 10:22:53 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-mga
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked mga driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
Matrox-->driver/gpu/drm/mga
Cai Huoqing [Sat, 3 Dec 2022 10:22:52 +0000 (18:22 +0800)]
drm: Remove the obsolete driver-i810
Commit 399516ab0fee ("MAINTAINERS: Add a bunch of legacy (UMS) DRM drivers")
marked i810 driver obsolete 7 years ago.
And the mesa UMD of this drm driver already in deprecated list link: https://docs.mesa3d.org/systems.html
Intel i810-->driver/gpu/drm/i810
Thomas Zimmermann [Thu, 12 Jan 2023 13:38:58 +0000 (14:38 +0100)]
drm/nouveau: Remove support for legacy contexts/buffers
Remove nouveau's support for legacy contexts and buffers. It was
required by libdrm earlier than 2.4.33, released in March 2012. A
previous attempt in 2013 to remove the functionality [1] had to be
reverted [2] as there were still users left. Libdrm 2.4.33 is now
almost 11 years old and it is time for userspace to move on.
With the nouveau code gone, we can also remove the driver-feature
bit DRIVER_KMS_LEGACY_CONTEXT.
Maíra Canal [Wed, 11 Jan 2023 13:13:05 +0000 (10:13 -0300)]
drm/vkms: reintroduce prepare_fb and cleanup_fb functions
With commit 359c6649cd9a ("drm/gem: Implement shadow-plane {begin,
end}_fb_access with vmap"), the behavior of the shadow-plane helpers
changed and the vunmap is now performed at the end of
the current pageflip, instead of the end of the following pageflip.
By performing the vunmap at the end of the current pageflip, invalid
memory is accessed by the vkms during the plane composition, as the data
is being unmapped before being used, as reported by the following
warning:
Therefore, introduce again prepare_fb and cleanup_fb functions to the
vkms, which were previously removed on commit b43e2ec03b0d ("drm/vkms:
Let shadow-plane helpers prepare the plane's FB").
Fixes: 359c6649cd9a ("drm/gem: Implement shadow-plane {begin, end}_fb_access with vmap") Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Maíra Canal <mcanal@igalia.com> Signed-off-by: Melissa Wen <melissa.srw@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230111131304.106039-1-mcanal@igalia.com
Daniel Vetter [Mon, 9 Jan 2023 16:46:04 +0000 (17:46 +0100)]
drm: document better that drivers shouldn't use drm_minor directly
The documentation for struct drm_minor already states this, but that's
not always that easy to find.
Also due to historical reasons we still have the minor-centric
interfaces (like drm_debugfs_create_files), but since this is now
getting fixed we can put a few more pointers in place as to how this
should be done ideally. Note that debugfs isn't there yet for all
cases (debugfs files on kms objects like crtc/connector aren't
supported, neither debugfs files with full fops), so the debugfs side
of this is still rather aspirational and more for new users than
converting everything existing. todo.rst covers the additional work
needed already.
Motivated by some discussion with Rodrigo on irc about how drm/xe
should lay out its sysfs interfaces.
v2: Make the debugfs situation clearer in the commit message, but
don't elaborate more in the actual kerneldoc to avoid distracting from
the main message around sysfs (Jani)
Abel Vesa [Sat, 31 Dec 2022 14:27:20 +0000 (16:27 +0200)]
drm/panel-edp: fix name for IVO product id 854b
The actual name is R133NW4K-R0.
Fixes: 0f9fa5f58c78 ("drm/panel-edp: add IVO M133NW4J-R3 panel entry") Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Tested-by: Steev Klimaszewski <steev@kali.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20221231142721.338643-1-abel.vesa@linaro.org
Uwe Kleine-König [Fri, 30 Dec 2022 13:00:24 +0000 (14:00 +0100)]
drm/imx/dcss: Drop if blocks with always false condition
dcss_drv_platform_remove() is only called for a device after
dcss_drv_platform_probe() returned 0. In that case dev_set_drvdata() was
called with a non-NULL value and so dev_get_drvdata() won't return NULL.
Maíra Canal [Thu, 5 Jan 2023 19:30:39 +0000 (16:30 -0300)]
drm/debugfs: add descriptions to struct parameters
The structs drm_debugfs_info and drm_debugfs_entry don't have
descriptions for their parameters, which is causing the following warnings:
include/drm/drm_debugfs.h:93: warning: Function parameter or member
'name' not described in 'drm_debugfs_info'
include/drm/drm_debugfs.h:93: warning: Function parameter or member
'show' not described in 'drm_debugfs_info'
include/drm/drm_debugfs.h:93: warning: Function parameter or member
'driver_features' not described in 'drm_debugfs_info'
include/drm/drm_debugfs.h:93: warning: Function parameter or member
'data' not described in 'drm_debugfs_info'
include/drm/drm_debugfs.h:105: warning: Function parameter or member
'dev' not described in 'drm_debugfs_entry'
include/drm/drm_debugfs.h:105: warning: Function parameter or member
'file' not described in 'drm_debugfs_entry'
include/drm/drm_debugfs.h:105: warning: Function parameter or member
'list' not described in 'drm_debugfs_entry'
Therefore, fix the warnings by adding descriptions to all struct
parameters.
Maíra Canal [Thu, 5 Jan 2023 19:30:38 +0000 (16:30 -0300)]
drm/debugfs: use octal permissions instead of symbolic permissions
Currently, debugfs functions are using symbolic macros as permission
bits, but checkpatch reinforces permission bits in the octal form, as
they are more readable and easier to understand [1]. Moreover, using
the symbolic macro S_IFREG is redundant.
Therefore, use octal permission bits in all debugfs functions.
Add device tree bindings for panels based on the Himax HX8394 controller,
such as the HannStar HSD060BHW4 720x1440 TFT LCD panel that is connected
through a MIPI-DSI video interface.
Simon Ser [Mon, 28 Nov 2022 13:39:05 +0000 (13:39 +0000)]
doc: add dma-buf IOCTL code to table
The code 'b' is used for dma-buf IOCTLs.
Signed-off-by: Simon Ser <contact@emersion.fr> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Christian König <christian.koenig@amd.com> Cc: Sumit Semwal <sumit.semwal@linaro.org> Reviewed-by: Christian König <christian.koenig@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20221128133853.355645-1-contact@emersion.fr
Uwe Kleine-König [Mon, 19 Dec 2022 08:53:07 +0000 (09:53 +0100)]
MAINTAINERS: drm/hisilicon: Drop Chen Feng
The listed address doesn't work any more:
puck.chen@hisilicon.com
host mx5.hisilicon.com [124.71.93.234]
SMTP error from remote mail server after RCPT TO:<puck.chen@hisilicon.com>:
551 5.1.1 <puck.chen@hisilicon.com>: Recipient address rejected:
Failed recipient validation check.: host 127.0.0.1[127.0.0.1] said:
554 5.7.1 recipient verify from ldap failed (in reply to RCPT TO command)
Uwe Kleine-König [Mon, 19 Dec 2022 08:36:27 +0000 (09:36 +0100)]
drm: Only select I2C_ALGOBIT for drivers that actually need it
While working on a drm driver that doesn't need the i2c algobit stuff I
noticed that DRM selects this code even though only 8 drivers actually use
it. While also only some drivers use i2c, keep the select for I2C for the
next cleanup patch. Still prepare this already by also selecting I2C for
the individual drivers.
Uwe Kleine-König [Tue, 10 Jan 2023 09:38:20 +0000 (10:38 +0100)]
drm/mxsfb: improve clk handling for axi clk
Ignoring errors from devm_clk_get() is wrong. To handle not all platforms
having an axi clk use devm_clk_get_optional() instead and do proper error
handling.
Also the clk API handles NULL as a dummy clk (which is also returned by
devm_clk_get_optional() if there is no clk) so there is no need to check
for NULL before calling clk_prepare_enable() or its counter part.
devm_regulator_get_enable_optional() function returns 0 on success, so
use it for the check if function succeeded instead of the -ENODEV value.
Fixes: 429e87063661 ("drm/meson: dw-hdmi: Use devm_regulator_*get_enable*()") Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Neil Armstrong <neil.armstrong@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
[narmstrong: s/succeeded/succeeded/ in commit message] Link: https://patchwork.freedesktop.org/patch/msgid/20230109220033.31202-1-m.szyprowski@samsung.com
Neil Armstrong [Mon, 9 Jan 2023 08:49:30 +0000 (09:49 +0100)]
drm/panel: add visionox vtdr6130 DSI panel driver
Add support for the 1080x2400 Visionox VTDR6130 AMOLED DSI panel
found on the Qualcomm SM8550 MTP board.
By default the the panel is configured to work with DSI compressed
streams, but can work in uncompressed video mode since 1080x2400 in
RGB888 fits in the 4 DSI lanes bandwidth.
While display compression is preferred for performance and power
reasons, let's start with the uncompressed video mode support and
add the DSC support later on.