drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers[ Upstream commit 3c4babae3c4a1ae05f8f3f5f3d50c440ead7ca6a ]Based on grepping through the source code these drivers
drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers[ Upstream commit 3c4babae3c4a1ae05f8f3f5f3d50c440ead7ca6a ]Based on grepping through the source code these drivers appear to bemissing a call to drm_atomic_helper_shutdown() at system shutdown timeand at driver remove (or unbind) time. Among other things, this meansthat if a panel is in use that it won't be cleanly powered off atsystem shutdown time.The fact that we should call drm_atomic_helper_shutdown() in the caseof OS shutdown/restart and at driver remove (or unbind) time comesstraight out of the kernel doc "driver instance overview" indrm_drv.c.A few notes about these fixes:- I confirmed that these drivers were all DRIVER_MODESET type drivers, which I believe makes this relevant.- I confirmed that these drivers were all DRIVER_ATOMIC.- When adding drm_atomic_helper_shutdown() to the remove/unbind path, I added it after drm_kms_helper_poll_fini() when the driver had it. This seemed to be what other drivers did. If drm_kms_helper_poll_fini() wasn't there I added it straight after drm_dev_unregister().- This patch deals with drivers using the component model in similar ways as the patch ("drm: Call drm_atomic_helper_shutdown() at shutdown time for misc drivers")- These fixes rely on the patch ("drm/atomic-helper: drm_atomic_helper_shutdown(NULL) should be a noop") to simplify shutdown.Suggested-by: Maxime Ripard <mripard@kernel.org>Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> # tilcdcAcked-by: Maxime Ripard <mripard@kernel.org>Signed-off-by: Douglas Anderson <dianders@chromium.org>Link: https://patchwork.freedesktop.org/patch/msgid/20230901163944.RFT.5.I771eb4bd03d8772b19e7dcfaef3e2c167bce5846@changeidSigned-off-by: Sasha Levin <sashal@kernel.org>
show more ...
drm/aspeed: Convert to platform remove callback returning voidThe .remove() callback for a platform driver returns an int which makesmany driver authors wrongly assume it's possible to do error ha
drm/aspeed: Convert to platform remove callback returning voidThe .remove() callback for a platform driver returns an int which makesmany driver authors wrongly assume it's possible to do error handling byreturning an error code. However the value returned is (mostly) ignoredand this typically results in resource leaks. To improve here there is aquest to make the remove callback return void. In the first step of thisquest all drivers are converted to .remove_new() which already returnsvoid.Trivially convert this driver from always returning zero in the removecallback to the void returning variant.Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>Signed-off-by: Douglas Anderson <dianders@chromium.org>Link: https://patchwork.freedesktop.org/patch/msgid/20230507162616.1368908-6-u.kleine-koenig@pengutronix.de
drm/aspeed: Use GEM DMA fbdev emulationUse the fbdev emulation that is optimized for DMA helpers. Avoidspossible shadow buffering and makes the code simpler.Signed-off-by: Thomas Zimmermann <tzi
drm/aspeed: Use GEM DMA fbdev emulationUse the fbdev emulation that is optimized for DMA helpers. Avoidspossible 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
drm/aspeed: Remove unnecessary include statements for drm_crtc_helper.hSeveral source files include drm_crtc_helper.h without needing it oronly to get its transitive include statements; leading to
drm/aspeed: Remove unnecessary include statements for drm_crtc_helper.hSeveral source files include drm_crtc_helper.h without needing it oronly to get its transitive include statements; leading to unnecessarycompile-time dependencies.Drop drm_crtc_helper.h where possible.v2: * update commit message (Sam)Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>Reviewed-by: Sam Ravnborg <sam@ravnborg.org>Acked-by: Jani Nikula <jani.nikula@intel.com>Acked-by: Alex Deucher <alexander.deucher@amd.com>Link: https://patchwork.freedesktop.org/patch/msgid/20230116131235.18917-6-tzimmermann@suse.de
drm/fb-helper: Move generic fbdev emulation into separate source fileMove the generic fbdev implementation into its own source and headerfile. Adapt drivers. No functional changes, but some of the
drm/fb-helper: Move generic fbdev emulation into separate source fileMove the generic fbdev implementation into its own source and headerfile. Adapt drivers. No functional changes, but some of the internalhelpers have been renamed to fit into the drm_fbdev_ naming scheme.v3: * rename drm_fbdev.{c,h} to drm_fbdev_generic.{c,h} * rebase onto vmwgfx changes * rebase onto xlnx changes * fix include statements in amdgpuSigned-off-by: Thomas Zimmermann <tzimmermann@suse.de>Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>Link: https://patchwork.freedesktop.org/patch/msgid/20221103151446.2638-22-tzimmermann@suse.de
drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr}The field paddr of struct drm_gem_dma_object holds a DMA address, whichmight actually be a physical address. However, depending on the
drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr}The field paddr of struct drm_gem_dma_object holds a DMA address, whichmight actually be a physical address. However, depending on the platform,it can also be a bus address or a virtual address managed by an IOMMU.Hence, rename the field to dma_addr, which is more applicable.In order to do this renaming the following coccinelle script was used:``` @@ struct drm_gem_dma_object *gem; @@ - gem->paddr + gem->dma_addr @@ struct drm_gem_dma_object gem; @@ - gem.paddr + gem.dma_addr @exists@ typedef dma_addr_t; symbol paddr; @@ dma_addr_t paddr; <... - paddr + dma_addr ...> @@ symbol paddr; @@ dma_addr_t - paddr + dma_addr ;```This patch is compile-time tested with:``` make ARCH={x86_64,arm,arm64} allyesconfig make ARCH={x86_64,arm,arm64} drivers/gpu/drm````Acked-by: Sam Ravnborg <sam@ravnborg.org>Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Signed-off-by: Danilo Krummrich <dakr@redhat.com>Signed-off-by: Sam Ravnborg <sam@ravnborg.org>Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-5-dakr@redhat.com
drm/gem: rename GEM CMA helpers to GEM DMA helpersRename "GEM CMA" helpers to "GEM DMA" helpers - considering thehierarchy of APIs (mm/cma -> dma -> gem dma) calling them "GEMDMA" seems to be mor
drm/gem: rename GEM CMA helpers to GEM DMA helpersRename "GEM CMA" helpers to "GEM DMA" helpers - considering thehierarchy of APIs (mm/cma -> dma -> gem dma) calling them "GEMDMA" seems to be more applicable.Besides that, commit e57924d4ae80 ("drm/doc: Task to rename CMA helpers")requests to rename the CMA helpers and implies that people seem to beconfused about the naming.In order to do this renaming the following script was used:``` #!/bin/bash DIRS="drivers/gpu include/drm Documentation/gpu" REGEX_SYM_UPPER="[0-9A-Z_\-]" REGEX_SYM_LOWER="[0-9a-z_\-]" REGEX_GREP_UPPER="(${REGEX_SYM_UPPER}*)(GEM)_CMA_(${REGEX_SYM_UPPER}*)" REGEX_GREP_LOWER="(${REGEX_SYM_LOWER}*)(gem)_cma_(${REGEX_SYM_LOWER}*)" REGEX_SED_UPPER="s/${REGEX_GREP_UPPER}/\1\2_DMA_\3/g" REGEX_SED_LOWER="s/${REGEX_GREP_LOWER}/\1\2_dma_\3/g" # Find all upper case 'CMA' symbols and replace them with 'DMA'. for ff in $(grep -REHl "${REGEX_GREP_UPPER}" $DIRS) do sed -i -E "$REGEX_SED_UPPER" $ff done # Find all lower case 'cma' symbols and replace them with 'dma'. for ff in $(grep -REHl "${REGEX_GREP_LOWER}" $DIRS) do sed -i -E "$REGEX_SED_LOWER" $ff done # Replace all occurrences of 'CMA' / 'cma' in comments and # documentation files with 'DMA' / 'dma'. for ff in $(grep -RiHl " cma " $DIRS) do sed -i -E "s/ cma / dma /g" $ff sed -i -E "s/ CMA / DMA /g" $ff done # Rename all 'cma_obj's to 'dma_obj'. for ff in $(grep -RiHl "cma_obj" $DIRS) do sed -i -E "s/cma_obj/dma_obj/g" $ff done```Only a few more manual modifications were needed, e.g. reverting thefollowing modifications in some DRM Kconfig files - select CMA if HAVE_DMA_CONTIGUOUS + select DMA if HAVE_DMA_CONTIGUOUSas well as manually picking the occurrences of 'CMA'/'cma' in comments anddocumentation which relate to "GEM CMA", but not "FB CMA".Also drivers/gpu/drm/Makefile was fixed up manually after renamingdrm_gem_cma_helper.c to drm_gem_dma_helper.c.This patch is compile-time tested building a x86_64 kernel with`make allyesconfig && make drivers/gpu/drm`.Acked-by: Sam Ravnborg <sam@ravnborg.org>Acked-by: Thomas Zimmermann <tzimmermann@suse.de>Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Signed-off-by: Danilo Krummrich <dakr@redhat.com>Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> #drivers/gpu/drm/armSigned-off-by: Sam Ravnborg <sam@ravnborg.org>Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-4-dakr@redhat.com
drm/fb: rename FB CMA helpers to FB DMA helpersRename "FB CMA" helpers to "FB DMA" helpers - considering the hierarchyof APIs (mm/cma -> dma -> fb dma) calling them "FB DMA" seems to bemore appli
drm/fb: rename FB CMA helpers to FB DMA helpersRename "FB CMA" helpers to "FB DMA" helpers - considering the hierarchyof APIs (mm/cma -> dma -> fb dma) calling them "FB DMA" seems to bemore applicable.Besides that, commit e57924d4ae80 ("drm/doc: Task to rename CMA helpers")requests to rename the CMA helpers and implies that people seem to beconfused about the naming.In order to do this renaming the following script was used:``` #!/bin/bash DIRS="drivers/gpu include/drm Documentation/gpu" REGEX_SYM_UPPER="[0-9A-Z_\-]" REGEX_SYM_LOWER="[0-9a-z_\-]" REGEX_GREP_UPPER="(${REGEX_SYM_UPPER}*)(FB)_CMA_(${REGEX_SYM_UPPER}*)" REGEX_GREP_LOWER="(${REGEX_SYM_LOWER}*)(fb)_cma_(${REGEX_SYM_LOWER}*)" REGEX_SED_UPPER="s/${REGEX_GREP_UPPER}/\1\2_DMA_\3/g" REGEX_SED_LOWER="s/${REGEX_GREP_LOWER}/\1\2_dma_\3/g" # Find all upper case 'CMA' symbols and replace them with 'DMA'. for ff in $(grep -REHl "${REGEX_GREP_UPPER}" $DIRS) do sed -i -E "$REGEX_SED_UPPER" $ff done # Find all lower case 'cma' symbols and replace them with 'dma'. for ff in $(grep -REHl "${REGEX_GREP_LOWER}" $DIRS) do sed -i -E "$REGEX_SED_LOWER" $ff done # Replace all occurrences of 'CMA' / 'cma' in comments and # documentation files with 'DMA' / 'dma'. for ff in $(grep -RiHl " cma " $DIRS) do sed -i -E "s/ cma / dma /g" $ff sed -i -E "s/ CMA / DMA /g" $ff done```Only a few more manual modifications were needed, e.g. reverting thefollowing modifications in some DRM Kconfig files - select CMA if HAVE_DMA_CONTIGUOUS + select DMA if HAVE_DMA_CONTIGUOUSas well as manually picking the occurrences of 'CMA'/'cma' in comments anddocumentation which relate to "FB CMA", but not "GEM CMA".This patch is compile-time tested building a x86_64 kernel with`make allyesconfig && make drivers/gpu/drm`.Acked-by: Sam Ravnborg <sam@ravnborg.org>Acked-by: Thomas Zimmermann <tzimmermann@suse.de>Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Signed-off-by: Danilo Krummrich <dakr@redhat.com>Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> #drivers/gpu/drm/armSigned-off-by: Sam Ravnborg <sam@ravnborg.org>Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-3-dakr@redhat.com
drm/fb: remove unused includes of drm_fb_cma_helper.hQuite a lot of drivers include the drm_fb_cma_helper.h header filewithout actually making use of it's provided API, hence remove thoseincludes
drm/fb: remove unused includes of drm_fb_cma_helper.hQuite a lot of drivers include the drm_fb_cma_helper.h header filewithout actually making use of it's provided API, hence remove thoseincludes.Suggested-by: Sam Ravnborg <sam@ravnborg.org>Signed-off-by: Danilo Krummrich <dakr@redhat.com>Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>Acked-by: Sam Ravnborg <sam@ravnborg.org>Signed-off-by: Sam Ravnborg <sam@ravnborg.org>Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-2-dakr@redhat.com
drm: Drop drm_framebuffer.h from drm_crtc.hdrm_crtc.h has no need for drm_frambuffer.h, so don't include it.Avoids useless rebuilds of the entire universe whentouching drm_framebuffer.h.Quite a
drm: Drop drm_framebuffer.h from drm_crtc.hdrm_crtc.h has no need for drm_frambuffer.h, so don't include it.Avoids useless rebuilds of the entire universe whentouching drm_framebuffer.h.Quite a few placs do currently depend on drm_framebuffer.h withoutactually including it directly. All of those need to be fixedup.v2: Fix up msm some morev2: Deal with ingenic and shmobile as wellSigned-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20220614095449.29311-1-ville.syrjala@linux.intel.comAcked-by: Sam Ravnborg <sam@ravnborg.org>Acked-by: Jani Nikula <jani.nikula@intel.com>
drm: Drop drm_edid.h from drm_crtc.hdrm_crtc.h has no need for drm_edid.h, so don't include it.Avoids useless rebuilds of the entire universe whentouching drm_edid.h.Quite a few placs do curren
drm: Drop drm_edid.h from drm_crtc.hdrm_crtc.h has no need for drm_edid.h, so don't include it.Avoids useless rebuilds of the entire universe whentouching drm_edid.h.Quite a few placs do currently depend on drm_edid.h withoutactually including it directly. All of those need to be fixedup.v2: Fix up i915 and msm some morev3: Fix alphabetical ordering (Sam)Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20220614090245.30283-1-ville.syrjala@linux.intel.comAcked-by: Sam Ravnborg <sam@ravnborg.org>Acked-by: Jani Nikula <jani.nikula@intel.com>
drm/aspeed: Add AST2600 chip supportAdd AST2600 chip support and setting.Signed-off-by: Tommy Haung <tommy_huang@aspeedtech.com>Reviewed-by: Joel Stanley <joel@jms.id.au>Signed-off-by: Joel Sta
drm/aspeed: Add AST2600 chip supportAdd AST2600 chip support and setting.Signed-off-by: Tommy Haung <tommy_huang@aspeedtech.com>Reviewed-by: Joel Stanley <joel@jms.id.au>Signed-off-by: Joel Stanley <joel@jms.id.au>Link: https://patchwork.freedesktop.org/patch/msgid/20220302024930.18758-5-tommy_huang@aspeedtech.com
drm/aspeed: Update INTR_STS handlingAdd interrupt clear register define for further chip support.Signed-off-by: Tommy Haung <tommy_huang@aspeedtech.com>Reviewed-by: Joel Stanley <joel@jms.id.au>
drm/aspeed: Update INTR_STS handlingAdd interrupt clear register define for further chip support.Signed-off-by: Tommy Haung <tommy_huang@aspeedtech.com>Reviewed-by: Joel Stanley <joel@jms.id.au>Signed-off-by: Joel Stanley <joel@jms.id.au>Link: https://patchwork.freedesktop.org/patch/msgid/20220302024930.18758-4-tommy_huang@aspeedtech.com
drm/aspeed: Use drm_module_platform_driver() to register the driverThe macro calls to a DRM specific platform driver init handler that checkswhether the driver is allowed to be registered or not.
drm/aspeed: Use drm_module_platform_driver() to register the driverThe macro calls to a DRM specific platform driver init handler that checkswhether the driver is allowed to be registered or not.Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>Link: https://patchwork.freedesktop.org/patch/msgid/20211217003752.3946210-7-javierm@redhat.com
Merge v5.16-rc5 into drm-nextThomas Zimmermann requested a fixes backmerge, specifically also for96c5f82ef0a1 ("drm/vc4: fix error code in vc4_create_object()")Just a bunch of adjacent changes c
Merge v5.16-rc5 into drm-nextThomas Zimmermann requested a fixes backmerge, specifically also for96c5f82ef0a1 ("drm/vc4: fix error code in vc4_create_object()")Just a bunch of adjacent changes conflicts, even the big pile of themin vc4.Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drm: aspeed: select CONFIG_DRM_GEM_CMA_HELPERThe aspeed driver uses the gem_cma_helper code, but doesnoto enforce enabling this through Kconfig:x86_64-linux-ld: drivers/gpu/drm/aspeed/aspeed_gfx
drm: aspeed: select CONFIG_DRM_GEM_CMA_HELPERThe aspeed driver uses the gem_cma_helper code, but doesnoto enforce enabling this through Kconfig:x86_64-linux-ld: drivers/gpu/drm/aspeed/aspeed_gfx_drv.o:(.rodata+0x2c8): undefined reference to `drm_gem_cma_prime_import_sg_table'x86_64-linux-ld: drivers/gpu/drm/aspeed/aspeed_gfx_drv.o:(.rodata+0x2d8): undefined reference to `drm_gem_cma_dumb_create'x86_64-linux-ld: drivers/gpu/drm/aspeed/aspeed_gfx_crtc.o: in function `aspeed_gfx_pipe_update':aspeed_gfx_crtc.c:(.text+0xe5): undefined reference to `drm_fb_cma_get_gem_obj'Add the same 'select' that is used in other such drivers.Fixes: 09717af7d13d ("drm: Remove CONFIG_DRM_KMS_CMA_HELPER option")Signed-off-by: Arnd Bergmann <arnd@arndb.de>Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>Link: https://patchwork.freedesktop.org/patch/msgid/20211204174637.1160725-2-arnd@kernel.org
drm: Remove CONFIG_DRM_KMS_CMA_HELPER optionLink drm_fb_cma_helper.o into drm_cma_helper.ko if CONFIG_DRM_KMS_HELPERhas been set. Remove CONFIG_DRM_KMS_CMA_HELPER config option. SelectingKMS help
drm: Remove CONFIG_DRM_KMS_CMA_HELPER optionLink drm_fb_cma_helper.o into drm_cma_helper.ko if CONFIG_DRM_KMS_HELPERhas been set. Remove CONFIG_DRM_KMS_CMA_HELPER config option. SelectingKMS helpers and CMA will now automatically enable CMA KMS helpers.Some drivers' Kconfig files did not correctly select KMS or CMA helpers.Fix this as part of the change.Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>Link: https://patchwork.freedesktop.org/patch/msgid/20211106193509.17472-3-tzimmermann@suse.de
drm/aspeed: Fix vga_pw sysfs outputBefore the drm driver had support for this file there was a driver thatexposed the contents of the vga password register to userspace. It wouldpresent the entir
drm/aspeed: Fix vga_pw sysfs outputBefore the drm driver had support for this file there was a driver thatexposed the contents of the vga password register to userspace. It wouldpresent the entire register instead of interpreting it.The drm implementation chose to mask of the lower bit, without explainingwhy. This breaks the existing userspace, which is looking for 0xa8 inthe lower byte.Change our implementation to expose the entire register.Fixes: 696029eb36c0 ("drm/aspeed: Add sysfs for output settings")Reported-by: Oskar Senft <osk@google.com>Signed-off-by: Joel Stanley <joel@jms.id.au>Reviewed-by: Jeremy Kerr <jk@codeconstruct.com.au>Tested-by: Oskar Senft <osk@google.com>Signed-off-by: Maxime Ripard <maxime@cerno.tech>Link: https://patchwork.freedesktop.org/patch/msgid/20211117010145.297253-1-joel@jms.id.au
drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the defaultGoes through all the drivers and deletes the default hook since it'sthe default now.Acked-by: David Lechner <david@lechnology.com>
drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the defaultGoes through all the drivers and deletes the default hook since it'sthe default now.Acked-by: David Lechner <david@lechnology.com>Acked-by: Noralf Trønnes <noralf@tronnes.org>Acked-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>Acked-by: Linus Walleij <linus.walleij@linaro.org>Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>Cc: Joel Stanley <joel@jms.id.au>Cc: Andrew Jeffery <andrew@aj.id.au>Cc: "Noralf Trønnes" <noralf@tronnes.org>Cc: Linus Walleij <linus.walleij@linaro.org>Cc: Emma Anholt <emma@anholt.net>Cc: David Lechner <david@lechnology.com>Cc: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com>Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>Cc: Daniel Vetter <daniel.vetter@ffwll.ch>Cc: Maxime Ripard <mripard@kernel.org>Cc: Thomas Zimmermann <tzimmermann@suse.de>Cc: Sam Ravnborg <sam@ravnborg.org>Cc: Alex Deucher <alexander.deucher@amd.com>Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>Cc: linux-aspeed@lists.ozlabs.orgCc: linux-arm-kernel@lists.infradead.orgCc: xen-devel@lists.xenproject.orgLink: https://patchwork.freedesktop.org/patch/msgid/20210622165511.3169559-14-daniel.vetter@ffwll.ch
drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpersThe function drm_gem_fb_prepare_fb() is a helper for atomic modesetting,but currently located next to framebuffer helpers. Move it to GEM
drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpersThe function drm_gem_fb_prepare_fb() is a helper for atomic modesetting,but currently located next to framebuffer helpers. Move it to GEM atomichelpers, rename it slightly and adopt the drivers. Same for the rspsimple-pipe helper.Compile-tested with x86-64, aarch64 and arm. The patch is fairly large,but there are no functional changes.v3: * remove out-comented line in drm_gem_framebuffer_helper.h (Maxime)v2: * rename to drm_gem_plane_helper_prepare_fb() (Daniel) * add tutorial-style documentationSigned-off-by: Thomas Zimmermann <tzimmermann@suse.de>Acked-by: Maxime Ripard <mripard@kernel.org>Link: https://patchwork.freedesktop.org/patch/msgid/20210222141756.7864-1-tzimmermann@suse.de
drm: use getter/setter functionsUse getter and setter functions, for platform_device structures and amipi_dsi_device structure.Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>Signed-off-by:
drm: use getter/setter functionsUse getter and setter functions, for platform_device structures and amipi_dsi_device structure.Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>Link: https://patchwork.freedesktop.org/patch/msgid/20210209211304.1261740-1-Julia.Lawall@inria.fr
drm/aspeed: Use dt matching for default register valuesThere are minor differences in the values for the threshold value andthe scan line size between families of ASPEED SoC. Additionally the SCU
drm/aspeed: Use dt matching for default register valuesThere are minor differences in the values for the threshold value andthe scan line size between families of ASPEED SoC. Additionally the SCUregisters for the output control and scratch registers differ betweenfamilies.This adds device tree matching to parameterise these values, allowing usto add support for the AST2400 now, and in the future the AST2600.Reviewed-by: Jeremy Kerr <jk@ozlabs.org>Signed-off-by: Joel Stanley <joel@jms.id.au>Link: https://patchwork.freedesktop.org/patch/msgid/20210209123734.130483-3-joel@jms.id.au
drm/aspeed: Look up syscon by phandleThis scales better to multiple families of SoC. The lookup by compatiblecan be removed in a future change.The fallback path is for the ast2500 platform only.
drm/aspeed: Look up syscon by phandleThis scales better to multiple families of SoC. The lookup by compatiblecan be removed in a future change.The fallback path is for the ast2500 platform only. Other platforms willbe added with the new style, so they won't need fallback paths.Signed-off-by: Joel Stanley <joel@jms.id.au>Reviewed-by: Andrew Jeffery <andrew@aj.id.au>Link: https://patchwork.freedesktop.org/patch/msgid/20210209123734.130483-2-joel@jms.id.au
drm/<drivers>: Constify struct drm_driverOnly the following drivers aren't converted:- amdgpu, because of the driver_feature mangling due to virt support. Subsequent patch will address this.- n
drm/<drivers>: Constify struct drm_driverOnly the following drivers aren't converted:- amdgpu, because of the driver_feature mangling due to virt support. Subsequent patch will address this.- nouveau, because DRIVER_ATOMIC uapi is still not the default on the platforms where it's supported (i.e. again driver_feature mangling)- vc4, again because of driver_feature mangling- qxl, because the ioctl table is somewhere else and moving that is maybe a bit too much, hence the num_ioctls assignment prevents a const driver structure.- arcpgu, because that is stuck behind a pending tiny-fication series from me.- legacy drivers, because legacy requires non-const drm_driver.Note that for armada I also went ahead and made the ioctl array const.Only cc'ing the driver people who've not been converted (everyone elseis way too much).v2: Fix one misplaced const static, should be static const (0day)v3:- Improve commit message (Sam)Acked-by: Sam Ravnborg <sam@ravnborg.org>Cc: kernel test robot <lkp@intel.com>Acked-by: Maxime Ripard <mripard@kernel.org>Reviewed-by: Alex Deucher <alexander.deucher@amd.com>Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>Cc: Sam Ravnborg <sam@ravnborg.org>Cc: Dave Airlie <airlied@redhat.com>Cc: Gerd Hoffmann <kraxel@redhat.com>Cc: virtualization@lists.linux-foundation.orgCc: Harry Wentland <harry.wentland@amd.com>Cc: Leo Li <sunpeng.li@amd.com>Cc: Alex Deucher <alexander.deucher@amd.com>Cc: Christian König <christian.koenig@amd.com>Cc: Eric Anholt <eric@anholt.net>Cc: Maxime Ripard <mripard@kernel.org>Cc: Ben Skeggs <bskeggs@redhat.com>Cc: nouveau@lists.freedesktop.orgSigned-off-by: Daniel Vetter <daniel.vetter@intel.com>Link: https://patchwork.freedesktop.org/patch/msgid/20201104100425.1922351-5-daniel.vetter@ffwll.ch
drm/aspeed: Fix Kconfig warning & subsequent build errorsKernel test robot reported build errors (undefined references)that didn't make much sense. After reproducing them, there is alsoa Kconfig
drm/aspeed: Fix Kconfig warning & subsequent build errorsKernel test robot reported build errors (undefined references)that didn't make much sense. After reproducing them, there is alsoa Kconfig warning that is the root cause of the build errors, sofix that Kconfig problem.Fixes this Kconfig warning:WARNING: unmet direct dependencies detected for CMA Depends on [n]: MMU [=n] Selected by [m]: - DRM_ASPEED_GFX [=m] && HAS_IOMEM [=y] && DRM [=m] && OF [=y] && (COMPILE_TEST [=y] || ARCH_ASPEED) && HAVE_DMA_CONTIGUOUS [=y]and these dependent build errors:(.text+0x10c8c): undefined reference to `start_isolate_page_range'microblaze-linux-ld: (.text+0x10f14): undefined reference to `test_pages_isolated'microblaze-linux-ld: (.text+0x10fd0): undefined reference to `undo_isolate_page_range'Fixes: 76356a966e33 ("drm: aspeed: Clean up Kconfig options")Reported-by: kernel test robot <lkp@intel.com>Signed-off-by: Randy Dunlap <rdunlap@infradead.org>Reviewed-by: Joel Stanley <joel@jms.id.au>Cc: Joel Stanley <joel@jms.id.au>Cc: Andrew Jeffery <andrew@aj.id.au>Cc: Daniel Vetter <daniel.vetter@ffwll.ch>Cc: Michal Simek <monstr@monstr.eu>Cc: Andrew Morton <akpm@linux-foundation.org>Cc: Mike Rapoport <rppt@linux.ibm.com>Cc: linux-mm@kvack.orgCc: linux-aspeed@lists.ozlabs.orgCc: linux-arm-kernel@lists.infradead.orgCc: David Airlie <airlied@linux.ie>Cc: dri-devel@lists.freedesktop.orgSigned-off-by: Joel Stanley <joel@jms.id.au>Link: https://patchwork.freedesktop.org/patch/msgid/20201011230131.4922-1-rdunlap@infradead.orgSigned-off-by: Joel Stanley <joel@jms.id.au>
12