Stephen Rothwell
bcae3af286
drm/locking: fix __stack_depot_* name conflict
...
Commit cd06ab2fd4 ("drm/locking: add backtrace for locking contended
locks without backoff") added functions named __stack_depot_* in drm
which conflict with stack depot. Rename to __drm_stack_depot_*.
v2 by Jani:
- Also rename __stack_depot_print
References: https://lore.kernel.org/r/20211015202648.258445ef@canb.auug.org.au
Fixes: cd06ab2fd4 ("drm/locking: add backtrace for locking contended locks without backoff")
Cc: Daniel Vetter <daniel@ffwll.ch >
Reviewed-by: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211018085113.27033-1-jani.nikula@intel.com
(cherry picked from commit c4f08d7246 )
2021-11-09 13:08:13 +02:00
Vivek Kasireddy
d89c0c8322
drm/virtio: Fix NULL dereference error in virtio_gpu_poll
...
When virgl is not enabled, vfpriv pointer would not be allocated.
Therefore, check for a valid value before dereferencing.
Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de >
Cc: Gurchetan Singh <gurchetansingh@chromium.org >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com >
Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de >
Link: http://patchwork.freedesktop.org/patch/msgid/20211104214249.1802789-1-vivek.kasireddy@intel.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2021-11-08 13:54:41 +01:00
Fabio Estevam
14d9a37c95
Revert "drm/imx: Annotate dma-fence critical section in commit path"
...
This reverts commit f4b34faa08 .
Since commit f4b34faa08 ("drm/imx: Annotate dma-fence critical section in
commit path") the following possible circular dependency is detected:
[ 5.001811] ======================================================
[ 5.001817] WARNING: possible circular locking dependency detected
[ 5.001824] 5.14.9-01225-g45da36cc6fcc-dirty #1 Tainted: G W
[ 5.001833] ------------------------------------------------------
[ 5.001838] kworker/u8:0/7 is trying to acquire lock:
[ 5.001848] c1752080 (regulator_list_mutex){+.+.}-{3:3}, at: regulator_lock_dependent+0x40/0x294
[ 5.001903]
[ 5.001903] but task is already holding lock:
[ 5.001909] c176df78 (dma_fence_map){++++}-{0:0}, at: imx_drm_atomic_commit_tail+0x10/0x160
[ 5.001957]
[ 5.001957] which lock already depends on the new lock.
...
Revert it for now.
Tested on a imx6q-sabresd.
Fixes: f4b34faa08 ("drm/imx: Annotate dma-fence critical section in commit path")
Signed-off-by: Fabio Estevam <festevam@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20211104001112.4035691-1-festevam@gmail.com
2021-11-05 19:08:44 +01:00
Arnd Bergmann
9d6366e743
drm: fb_helper: improve CONFIG_FB dependency
...
My previous patch correctly addressed the possible link failure, but as
Jani points out, the dependency is now stricter than it needs to be.
Change it again, to allow DRM_FBDEV_EMULATION to be used when
DRM_KMS_HELPER and FB are both loadable modules and DRM is linked into
the kernel.
As a side-effect, the option is now only visible when at least one DRM
driver makes use of DRM_KMS_HELPER. This is better, because the option
has no effect otherwise.
Fixes: 606b102876 ("drm: fb_helper: fix CONFIG_FB dependency")
Suggested-by: Acked-by: Jani Nikula <jani.nikula@intel.com >
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com >
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20211029120307.1407047-1-arnd@kernel.org
2021-11-05 18:52:47 +01:00
Daniel Vetter
e0e6d1ea18
MAINTAINERS: dri-devel is for all of drivers/gpu
...
Somehow we only have a list of subdirectories, which apparently made
it harder for folks to find the gpu maintainers. Fix that.
References: https://lore.kernel.org/dri-devel/YXrAAZlxxStNFG%2FK@phenom.ffwll.local/
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211028170857.4029606-1-daniel.vetter@ffwll.ch
2021-11-05 11:23:11 +01:00
Johan Hovold
5591c8f79d
drm/udl: fix control-message timeout
...
USB control-message timeouts are specified in milliseconds and should
specifically not vary with CONFIG_HZ.
Fixes: 5320918b9a ("drm/udl: initial UDL driver (v4)")
Cc: stable@vger.kernel.org # 3.4
Signed-off-by: Johan Hovold <johan@kernel.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20211025115353.5089-1-johan@kernel.org
2021-11-05 11:15:14 +01:00
Jason Gunthorpe
0d97950953
drm/ttm: remove ttm_bo_vm_insert_huge()
...
The huge page functionality in TTM does not work safely because PUD and
PMD entries do not have a special bit.
get_user_pages_fast() considers any page that passed pmd_huge() as
usable:
if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd) ||
pmd_devmap(pmd))) {
And vmf_insert_pfn_pmd_prot() unconditionally sets
entry = pmd_mkhuge(pfn_t_pmd(pfn, prot));
eg on x86 the page will be _PAGE_PRESENT | PAGE_PSE.
As such gup_huge_pmd() will try to deref a struct page:
head = try_grab_compound_head(pmd_page(orig), refs, flags);
and thus crash.
Thomas further notices that the drivers are not expecting the struct page
to be used by anything - in particular the refcount incr above will cause
them to malfunction.
Thus everything about this is not able to fully work correctly considering
GUP_fast. Delete it entirely. It can return someday along with a proper
PMD/PUD_SPECIAL bit in the page table itself to gate GUP_fast.
Fixes: 314b6580ad ("drm/ttm, drm/vmwgfx: Support huge TTM pagefaults")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com >
Reviewed-by: Thomas Hellström <thomas.helllstrom@linux.intel.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
[danvet: Update subject per Thomas' &Christian's review]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/0-v2-a44694790652+4ac-ttm_pmd_jgg@nvidia.com
2021-11-05 11:13:19 +01:00
Michel Dänzer
ff2d23843f
dma-buf/poll: Get a file reference for outstanding fence callbacks
...
This makes sure we don't hit the
BUG_ON(dmabuf->cb_in.active || dmabuf->cb_out.active);
in dma_buf_release, which could be triggered by user space closing the
dma-buf file description while there are outstanding fence callbacks
from dma_buf_poll.
Cc: stable@vger.kernel.org
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210723075857.4065-1-michel@daenzer.net
Signed-off-by: Christian König <christian.koenig@amd.com >
2021-11-04 09:18:57 +01:00
Claudio Suarez
b3ec8cdf45
fbdev: Garbage collect fbdev scrolling acceleration, part 1 (from TODO list)
...
Scroll acceleration is disabled in fbcon by hard-wiring
p->scrollmode = SCROLL_REDRAW. Remove the obsolete code in fbcon.c
and fbdev/core/
Signed-off-by: Claudio Suarez <cssk@net-c.es >
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Link: https://patchwork.freedesktop.org/patch/msgid/YVXTYqszZix9TxjJ@gineta.localdomain
2021-10-13 15:29:23 +02:00
Jani Nikula
cd06ab2fd4
drm/locking: add backtrace for locking contended locks without backoff
...
If drm_modeset_lock() returns -EDEADLK, the caller is supposed to drop
all currently held locks using drm_modeset_backoff(). Failing to do so
will result in warnings and backtraces on the paths trying to lock a
contended lock. Add support for optionally printing the backtrace on the
path that hit the deadlock and didn't gracefully handle the situation.
For example, the patch [1] inadvertently dropped the return value check
and error return on replacing calc_watermark_data() with
intel_compute_global_watermarks(). The backtraces on the subsequent
locking paths hitting WARN_ON(ctx->contended) were unhelpful, but adding
the backtrace to the deadlock path produced this helpful printout:
<7> [98.002465] drm_modeset_lock attempting to lock a contended lock without backoff:
drm_modeset_lock+0x107/0x130
drm_atomic_get_plane_state+0x76/0x150
skl_compute_wm+0x251d/0x2b20 [i915]
intel_atomic_check+0x1942/0x29e0 [i915]
drm_atomic_check_only+0x554/0x910
drm_atomic_nonblocking_commit+0xe/0x50
drm_mode_atomic_ioctl+0x8c2/0xab0
drm_ioctl_kernel+0xac/0x140
Add new CONFIG_DRM_DEBUG_MODESET_LOCK to enable modeset lock debugging
with stack depot and trace.
[1] https://lore.kernel.org/r/20210924114741.15940-4-jani.nikula@intel.com
v2:
- default y if DEBUG_WW_MUTEX_SLOWPATH (Daniel)
- depends on DEBUG_KERNEL
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Dave Airlie <airlied@gmail.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211001091444.8177-1-jani.nikula@intel.com
2021-10-13 15:54:46 +03:00
Amos Kong
91302d6c1d
drm/ttm_bo_api: update the description for @placement and @sg
...
Correct the argument name of @placement and added @sg description for
ttm_bo_init() and ttm_bo_init_reserved().
Argument @flags was replaced to @placement by Jerome in commit
09855acb1c
Argument @sg was added by Dave in commit
129b78bfca
Signed-off-by: Amos Kong <amos@sietium.com >
Cc: Jerome Glisse <jglisse@redhat.com >
Cc: Dave Airlie <airlied@redhat.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/38eac09bf2ddd6088cc8a126e6bc4792eaa2dc88.1633462176.git.amos@sietium.com
Signed-off-by: Christian König <christian.koenig@amd.com >
2021-10-13 14:22:07 +02:00
Karol Herbst
381ba6a6ba
drm/nouveau/mmu/gp100: remove unused variable
...
Fixes a compilation issue introduced because I forgot to test with WERROR
enabled.
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: DRI <dri-devel@lists.freedesktop.org >
Cc: nouveau@lists.freedesktop.org
Fixes: 404046cf48 ("drm/nouveau/mmu/gp100-: drop unneeded assignment in the if condition.")
Acked-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Lyude Paul <lyude@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211012133334.1737918-1-kherbst@redhat.com
2021-10-12 19:50:44 +02:00
Guido Günther
1db0605099
drm: mxsfb: Set fallback bus format when the bridge doesn't provide one
...
If a bridge doesn't do any bus format handling MEDIA_BUS_FMT_FIXED is
returned. Fallback to a reasonable default (MEDIA_BUS_FMT_RGB888_1X24) in
that case.
This unbreaks e.g. using mxsfb with the nwl bridge and mipi dsi panels.
Reported-by: Martin Kepplinger <martink@posteo.de >
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Stefan Agner <stefan@agner.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/781f0352052cc50c823c199ef5f53c84902d0580.1633959458.git.agx@sigxcpu.org
2021-10-12 11:18:17 +02:00
Guido Günther
e2e0ee7e2c
drm: mxsfb: Print failed bus format in hex
...
media-bus-formats.h has them in hexadecimal as well so matching with
that file saves one conversion when debugging.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Robert Foss <robert.foss@linaro.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Stefan Agner <stefan@agner.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/c84b34855abbb85cd25bbb5126db302f88327640.1633959458.git.agx@sigxcpu.org
2021-10-12 11:18:13 +02:00
Guido Günther
0c464eee74
drm/panel: st7703: Add media bus format
...
This allows the DSI bridge to detect the correct bus format.
We currently only support MEDIA_BUS_FMT_RGB888_1X24.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/d7ebeec861f4518c8497a5e07d09d5a9fd123d3d.1633959458.git.agx@sigxcpu.org
2021-10-12 11:17:49 +02:00
Guido Günther
1311f3dfce
drm/panel: mantix: Add media bus format
...
This allows the DSI bridge to detect the correct bus format.
We currently only support MEDIA_BUS_FMT_RGB888_1X24.
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/75fbe7139a84fa133499afe242c204ba4516da98.1633959458.git.agx@sigxcpu.org
2021-10-12 11:17:45 +02:00
Guido Günther
2f1495fac8
drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts
...
Components further up in the chain might ask us for supported formats.
Without this MEDIA_BUS_FMT_FIXED is assumed which then breaks display
output with mxsfb since it can't determine a proper bus format.
We handle the bus formats that correspond to the DSI formats the bridge
can potentially output (see chapter 13.6 of the i.MX 8MQ reference
manual) - which matches what xsfb can input.
Fixes: b776b0f00f ("drm: mxsfb: Use bus_format from the nearest bridge if present")
Signed-off-by: Guido Günther <agx@sigxcpu.org >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1712f2b952694fd4484dfd8576fbc5b4d7adf042.1633959458.git.agx@sigxcpu.org
2021-10-12 11:17:41 +02:00
Dan Carpenter
ee30840ba3
drm/v3d: fix copy_from_user() error codes
...
The copy_to/from_user() function returns the number of bytes remaining
to be copied, but we want to return -EFAULT on error.
Fixes: e4165ae830 ("drm/v3d: add multiple syncobjs support")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Reviewed-by: Melissa Wen <mwen@igalia.com >
Signed-off-by: Melissa Wen <melissa.srw@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211011123303.GA14314@kili
2021-10-11 21:21:14 +01:00
Randy Dunlap
f85d9e59f1
drm/connector: fix all kernel-doc warnings
...
Clean up all of the kernel-doc issues in drm_connector.c:
drivers/gpu/drm/drm_connector.c:2611: warning: Excess function parameter 'connector' description in 'drm_connector_oob_hotplug_event'
drivers/gpu/drm/drm_connector.c:2611: warning: Function parameter or member 'connector_fwnode' not described in 'drm_connector_oob_hotplug_event'
drm_connector.c:630: warning: No description found for return value of 'drm_get_connector_status_name'
drm_connector.c:715: warning: No description found for return value of 'drm_connector_list_iter_next'
drm_connector.c:785: warning: No description found for return value of 'drm_get_subpixel_order_name'
drm_connector.c:816: warning: No description found for return value of 'drm_display_info_set_bus_formats'
drm_connector.c:1331: warning: No description found for return value of 'drm_mode_create_dvi_i_properties'
drm_connector.c:1412: warning: No description found for return value of 'drm_connector_attach_content_type_property'
drm_connector.c:1492: warning: No description found for return value of 'drm_mode_create_tv_margin_properties'
drm_connector.c:1534: warning: No description found for return value of 'drm_mode_create_tv_properties'
drm_connector.c:1627: warning: No description found for return value of 'drm_mode_create_scaling_mode_property'
drm_connector.c:1944: warning: No description found for return value of 'drm_mode_create_suggested_offset_properties'
drm_connector.c:2315: warning: missing initial short description on line:
* drm_connector_set_panel_orientation_with_quirk -
[The last warning listed is probably a quirk/bug in scripts/kernel-doc.]
Fixes: 613051dac4 ("drm: locking&new iterators for connector_list")
Fixes: 5221719517 ("drm: Extract drm_connector.[hc]")
Fixes: b3c6c8bfe3 ("drm: document drm_display_info")
Fixes: 50525c332b ("drm: content-type property for HDMI connector")
Fixes: 6c4f52dca3 ("drm/connector: Allow creation of margin props alone")
Fixes: 69654c632d ("drm/connector: Split out orientation quirk detection (v2)")
Fixes: 72ad49682d ("drm/connector: Add support for out-of-band hotplug notification (v3)")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: dri-devel@lists.freedesktop.org
Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Derek Basehore <dbasehore@chromium.org >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211010224459.3603-1-rdunlap@infradead.org
2021-10-11 21:46:58 +02:00
Uwe Kleine-König
90c45fc15a
drm/panel: s6e63m0: Make s6e63m0_remove() return void
...
Up to now s6e63m0_remove() returns zero unconditionally. Make it return
void instead which makes it easier to see in the callers that there is
no error to handle.
Also the return value of spi remove callbacks is ignored anyway.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211011132754.2479853-2-u.kleine-koenig@pengutronix.de
2021-10-11 18:49:29 +02:00
Tvrtko Ursulin
5e51cc0005
dma-resv: Fix dma_resv_get_fences and dma_resv_copy_fences after conversion
...
Cache the count of shared fences in the iterator to avoid dereferencing
the dma_resv_object outside the RCU protection. Otherwise iterator and its
users can observe an incosistent state which makes it impossible to use
safely. Such as:
<6> [187.517041] [IGT] gem_sync: executing
<7> [187.536343] i915 0000:00:02.0: [drm:i915_gem_context_create_ioctl [i915]] HW context 1 created
<7> [187.536793] i915 0000:00:02.0: [drm:i915_gem_context_create_ioctl [i915]] HW context 1 created
<6> [187.551235] [IGT] gem_sync: starting subtest basic-many-each
<1> [188.935462] BUG: kernel NULL pointer dereference, address: 0000000000000010
<1> [188.935485] #PF: supervisor write access in kernel mode
<1> [188.935495] #PF: error_code(0x0002) - not-present page
<6> [188.935504] PGD 0 P4D 0
<4> [188.935512] Oops: 0002 [#1 ] PREEMPT SMP NOPTI
<4> [188.935521] CPU: 2 PID: 1467 Comm: gem_sync Not tainted 5.15.0-rc4-CI-Patchwork_21264+ #1
<4> [188.935535] Hardware name: /NUC6CAYB, BIOS AYAPLCEL.86A.0049.2018.0508.1356 05/08/2018
<4> [188.935546] RIP: 0010:dma_resv_get_fences+0x116/0x2d0
<4> [188.935560] Code: 10 85 c0 7f c9 be 03 00 00 00 e8 15 8b df ff eb bd e8 8e c6 ff ff eb b6 41 8b 04 24 49 8b 55 00 48 89 e7 8d 48 01 41 89 0c 24 <4c> 89 34 c2 e8 41 f2 ff ff 49 89 c6 48 85 c0 75 8c 48 8b 44 24 10
<4> [188.935583] RSP: 0018:ffffc900011dbcc8 EFLAGS: 00010202
<4> [188.935593] RAX: 0000000000000000 RBX: 00000000ffffffff RCX: 0000000000000001
<4> [188.935603] RDX: 0000000000000010 RSI: ffffffff822e343c RDI: ffffc900011dbcc8
<4> [188.935613] RBP: ffffc900011dbd48 R08: ffff88812d255bb8 R09: 00000000fffffffe
<4> [188.935623] R10: 0000000000000001 R11: 0000000000000000 R12: ffffc900011dbd44
<4> [188.935633] R13: ffffc900011dbd50 R14: ffff888113d29cc0 R15: 0000000000000000
<4> [188.935643] FS: 00007f68d17e9700(0000) GS:ffff888277900000(0000) knlGS:0000000000000000
<4> [188.935655] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [188.935665] CR2: 0000000000000010 CR3: 000000012d0a4000 CR4: 00000000003506e0
<4> [188.935676] Call Trace:
<4> [188.935685] i915_gem_object_wait+0x1ff/0x410 [i915]
<4> [188.935988] i915_gem_wait_ioctl+0xf2/0x2a0 [i915]
<4> [188.936272] ? i915_gem_object_wait+0x410/0x410 [i915]
<4> [188.936533] drm_ioctl_kernel+0xae/0x140
<4> [188.936546] drm_ioctl+0x201/0x3d0
<4> [188.936555] ? i915_gem_object_wait+0x410/0x410 [i915]
<4> [188.936820] ? __fget_files+0xc2/0x1c0
<4> [188.936830] ? __fget_files+0xda/0x1c0
<4> [188.936839] __x64_sys_ioctl+0x6d/0xa0
<4> [188.936848] do_syscall_64+0x3a/0xb0
<4> [188.936859] entry_SYSCALL_64_after_hwframe+0x44/0xae
If the shared object has changed during the RCU unlocked period
callers will correctly handle the restart on the next iteration.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Fixes: 96601e8a47 ("dma-buf: use new iterator in dma_resv_copy_fences")
Fixes: d3c80698c9 ("dma-buf: use new iterator in dma_resv_get_fences v3")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4274
Cc: Christian König <christian.koenig@amd.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Link: https://patchwork.freedesktop.org/patch/msgid/20211008095007.972693-1-tvrtko.ursulin@linux.intel.com
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
2021-10-11 16:14:08 +02:00
Lee Jones
f30946db15
drm/nouveau/nouveau_bo: Remove unused variables 'dev'
...
Fixes the following W=1 kernel build warning(s):
drivers/gpu/drm/nouveau/nouveau_bo.c: In function ‘nouveau_ttm_tt_populate’:
drivers/gpu/drm/nouveau/nouveau_bo.c:1228:17: warning: variable ‘dev’ set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/nouveau/nouveau_bo.c: In function ‘nouveau_ttm_tt_unpopulate’:
drivers/gpu/drm/nouveau/nouveau_bo.c:1252:17: warning: variable ‘dev’ set but not used [-Wunused-but-set-variable]
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: Jeremy Kolb <jkolb@brandeis.edu >
Cc: dri-devel@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Signed-off-by: Lee Jones <lee.jones@linaro.org >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210416143725.2769053-8-lee.jones@linaro.org
2021-10-11 13:06:50 +02:00
Yang Yingliang
1e39f43057
drm/nouveau/gem: remove redundant semi-colon
...
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210401141731.1684236-1-yangyingliang@huawei.com
2021-10-11 13:06:50 +02:00
Luo penghao
404046cf48
drm/nouveau/mmu/gp100-: drop unneeded assignment in the if condition.
...
In order to keep the code style consistency of the whole file,
the 'inst' assignments should be deleted.
The clang_analyzer complains as follows:
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.c:499:8: warning:
Although the value storedto 'inst' is used in the enclosing expression,
the value is never actually read from 'inst'.
Karol: Removed unneeded brackets.
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Luo penghao <luo.penghao@zte.com.cn >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210821021447.27097-1-luo.penghao@zte.com.cn
2021-10-11 13:06:49 +02:00
Luo penghao
6363185938
drm/nouveau/mmu: drop unneeded assignment in the nvkm_uvmm_mthd_page()
...
In order to keep the code style consistency of the whole file,
the 'ret' assignments should be deleted.
The clang_analyzer complains as follows:
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.c:317:8⚠️
Although the value storedto 'ret' is used in the enclosing expression,
the value is never actually read from 'ret'.
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Luo penghao <luo.penghao@zte.com.cn >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210821021106.27010-1-luo.penghao@zte.com.cn
2021-10-11 13:06:49 +02:00
yong yiran
cacadb0633
drm/nouveau/nvenc: remove duplicate include in base.c
...
'priv.h' included in 'base.c' is duplicated.
Remove all but the first include of priv.h from base.c.
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: yong yiran <yong.yiran@zte.com.cn >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210807032054.642867-1-yong.yiran@zte.com.cn
2021-10-11 13:06:49 +02:00
Jing Xiangfeng
a63f393dd7
drm/virtio: fix the missed drm_gem_object_put() in virtio_gpu_user_framebuffer_create()
...
virtio_gpu_user_framebuffer_create() misses to call drm_gem_object_put()
in an error path. Add the missed function call to fix it.
Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1633770560-11658-1-git-send-email-jingxiangfeng@huawei.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
2021-10-11 11:16:45 +02:00
Dmitry Baryshkov
914b6f290b
drm/panel: Add support for Sharp LS060T1SX01 panel
...
Add driver to support Sharp LS06T1SX01 FullHD panel. The panel uses
nt35695 driver IC. For example this LCD module can be found in the
kwaek.ca Dragonboard Display Adapter Bundle.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211009203806.56821-3-dmitry.baryshkov@linaro.org
2021-10-10 19:14:43 +02:00
Dmitry Baryshkov
2307d3a5a2
dt-bindings: add bindings for the Sharp LS060T1SX01 panel
...
Add devicetree bindings for the Sharp LS060T1SX01 6.0" FullHD panel
using NT35695 driver. This panel can be found i.e. in the Dragonboard
Display Adapter bundle.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211009203806.56821-2-dmitry.baryshkov@linaro.org
2021-10-10 19:13:20 +02:00
Marek Vasut
31f6207940
drm/bridge: lvds-codec: Add support for LVDS data mapping select
...
Decoder input LVDS format is a property of the decoder chip or even
its strapping. Handle data-mapping the same way lvds-panel does. In
case data-mapping is not present, do nothing, since there are still
legacy bindings which do not specify this property.
Signed-off-by: Marek Vasut <marex@denx.de >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
To: dri-devel@lists.freedesktop.org
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211010144919.38392-2-marex@denx.de
2021-10-10 19:10:35 +02:00
Marek Vasut
ba3e86789e
dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select
...
Decoder input LVDS format is a property of the decoder chip or even
its strapping. Add DT property data-mapping the same way lvds-panel
does, to define the LVDS data mapping.
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Marek Vasut <marex@denx.de >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: devicetree@vger.kernel.org
To: dri-devel@lists.freedesktop.org
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211010144919.38392-1-marex@denx.de
2021-10-10 19:10:21 +02:00
Zheyu Ma
2c0c19b681
fbdev: fbmem: Fix double free of 'fb_info->pixmap.addr'
...
savagefb and some other drivers call kfree to free 'info->pixmap.addr'
even after calling unregister_framebuffer, which may cause double free.
Fix this by setting 'fb_info->pixmap.addr' to NULL after kfree in
unregister_framebuffer.
The following log reveals it:
[ 37.318872] BUG: KASAN: double-free or invalid-free in kfree+0x13e/0x290
[ 37.319369]
[ 37.320803] Call Trace:
[ 37.320992] dump_stack_lvl+0xa8/0xd1
[ 37.321274] print_address_description+0x87/0x3b0
[ 37.321632] ? kfree+0x13e/0x290
[ 37.321879] ? kfree+0x13e/0x290
[ 37.322126] ? kfree+0x13e/0x290
[ 37.322374] kasan_report_invalid_free+0x58/0x90
[ 37.322724] ____kasan_slab_free+0x123/0x140
[ 37.323049] __kasan_slab_free+0x11/0x20
[ 37.323347] slab_free_freelist_hook+0x81/0x150
[ 37.323689] ? savagefb_remove+0xa1/0xc0 [savagefb]
[ 37.324066] kfree+0x13e/0x290
[ 37.324304] savagefb_remove+0xa1/0xc0 [savagefb]
[ 37.324655] pci_device_remove+0xa9/0x250
[ 37.324959] ? pci_device_probe+0x7d0/0x7d0
[ 37.325273] device_release_driver_internal+0x4f7/0x7a0
[ 37.325666] driver_detach+0x1e8/0x2c0
[ 37.325952] bus_remove_driver+0x134/0x290
[ 37.326262] ? sysfs_remove_groups+0x97/0xb0
[ 37.326584] driver_unregister+0x77/0xa0
[ 37.326883] pci_unregister_driver+0x2c/0x1c0
[ 37.336124]
[ 37.336245] Allocated by task 5465:
[ 37.336507] ____kasan_kmalloc+0xb5/0xe0
[ 37.336801] __kasan_kmalloc+0x9/0x10
[ 37.337069] kmem_cache_alloc_trace+0x12b/0x220
[ 37.337405] register_framebuffer+0x3f3/0xa00
[ 37.337731] foo_register_framebuffer+0x3b/0x50 [savagefb]
[ 37.338136]
[ 37.338255] Freed by task 5475:
[ 37.338492] kasan_set_track+0x3d/0x70
[ 37.338774] kasan_set_free_info+0x23/0x40
[ 37.339081] ____kasan_slab_free+0x10b/0x140
[ 37.339399] __kasan_slab_free+0x11/0x20
[ 37.339694] slab_free_freelist_hook+0x81/0x150
[ 37.340034] kfree+0x13e/0x290
[ 37.340267] do_unregister_framebuffer+0x21c/0x3d0
[ 37.340624] unregister_framebuffer+0x23/0x40
[ 37.340950] savagefb_remove+0x45/0xc0 [savagefb]
[ 37.341302] pci_device_remove+0xa9/0x250
[ 37.341603] device_release_driver_internal+0x4f7/0x7a0
[ 37.341990] driver_detach+0x1e8/0x2c0
[ 37.342272] bus_remove_driver+0x134/0x290
[ 37.342577] driver_unregister+0x77/0xa0
[ 37.342873] pci_unregister_driver+0x2c/0x1c0
[ 37.343196] cleanup_module+0x15/0x1c [savagefb]
[ 37.343543] __se_sys_delete_module+0x398/0x490
[ 37.343881] __x64_sys_delete_module+0x56/0x60
[ 37.344221] do_syscall_64+0x4d/0xc0
[ 37.344492] entry_SYSCALL_64_after_hwframe+0x44/0xae
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1633848148-29747-1-git-send-email-zheyuma97@gmail.com
2021-10-10 09:50:32 +02:00
Sam Ravnborg
2620fddce4
Revert "dt-bindings: add bindings for the Sharp LS060T1SX01 panel"
...
This reverts commit 230a6f0e6f
("dt-bindings: add bindings for the Sharp LS060T1SX01 panel")
It was pushed to drm-misc-next by accident.
Added my own ack to expedit the revert.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210926001005.3442668-2-dmitry.baryshkov@linaro.org
2021-10-09 19:36:26 +02:00
Sam Ravnborg
54d209e2fa
Revert "drm/panel: Add support for Sharp LS060T1SX01 panel"
...
This reverts commit
223cce88a9 ("drm/panel: Add support for Sharp LS060T1SX01 panel").
It was pushed to drm-misc-next by accident.
Added my own ack to expedit the revert.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210926001005.3442668-3-dmitry.baryshkov@linaro.org
2021-10-09 19:15:26 +02:00
Dmitry Baryshkov
223cce88a9
drm/panel: Add support for Sharp LS060T1SX01 panel
...
Add driver to support Sharp LS06T1SX01 FullHD panel. The panel uses
nt35695 driver IC. For example this LCD module can be found in the
kwaek.ca Dragonboard Display Adapter Bundle.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210926001005.3442668-3-dmitry.baryshkov@linaro.org
2021-10-09 17:36:39 +02:00
Dmitry Baryshkov
230a6f0e6f
dt-bindings: add bindings for the Sharp LS060T1SX01 panel
...
Add devicetree bindings for the Sharp LS060T1SX01 6.0" FullHD panel
using NT35695 driver. This panel can be found i.e. in the Dragonboard
Display Adapter bundle.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210926001005.3442668-2-dmitry.baryshkov@linaro.org
2021-10-09 17:25:06 +02:00
David Heidelberg
c38171a585
dt-bindings: display: simple: hardware can use ddc-i2c-bus
...
Both hardware and driver can communicate DDC over i2c bus.
Fixes warnings as:
arch/arm/boot/dts/tegra20-paz00.dt.yaml: panel: 'ddc-i2c-bus' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /home/runner/work/linux/linux/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
Signed-off-by: David Heidelberg <david@ixit.cz >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210927214503.36012-1-david@ixit.cz
2021-10-09 17:24:06 +02:00
Søren Andersen
19f036eaaf
drm/panel: panel-simple: add LOGIC Technologies LTTD800480070-L2RT panel
...
Add support for the Logic Technologies LTTD800x480 L2RT 7" 800x480 TFT
Resistive Touch Module.
Signed-off-by: Søren Andersen <san@skov.dk >
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210930100501.15690-3-o.rempel@pengutronix.de
2021-10-09 17:21:01 +02:00
Oleksij Rempel
76f7456838
dt-bindings: display: simple: add Innolux G070Y2-T02 panel
...
Add binding for the Innolux G070Y2-T02 panel. It is 7" WVGA (800x480)
TFT LCD panel with TTL interface and a backlight unit.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de >
Acked-by: Rob Herring <robh@kernel.org >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210930100501.15690-1-o.rempel@pengutronix.de
2021-10-09 17:08:12 +02:00
Nikola Pavlica
f474bb3000
dt-bindings: display: simple: Add Vivax TPC-9150 panel
...
This tablet display is unique and hence must be added to documentation.
Unfortunately, it's real make and number is not known due to obscure and
missing documentation and lack of writing on the display assembly
itself.
So the natural alternative that came to mind is to name the panel after
the device that contained it (an Android tablet). Hopefully that isn't
an issue.
I can confirm that the parameters that I've obtained are correct since
they came from a dump of the original Android OS.
Signed-off-by: Nikola Pavlica <pavlica.nikola@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211002202905.509437-2-pavlica.nikola@gmail.com
2021-10-09 17:00:07 +02:00
Nikola Pavlica
97f921ff26
dt-bindings: add vendor prefix for Vivax
...
Add vendor prefix for the Vivax brand by M SAN Grupa d.o.o.
Source (in Croatian): https://www.vivax.com/hr/o-nama.aspx
Signed-off-by: Nikola Pavlica <pavlica.nikola@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20211002202905.509437-1-pavlica.nikola@gmail.com
2021-10-09 16:59:40 +02:00
Philip Chen
e539a77e44
dt-bindings: drm/bridge: ps8640: Add aux-bus child
...
dp-aux-bus.yaml says we can list an eDP panel as a child of
an eDP controller node to represent the fact that the panel
is connected to the controller's DP AUX bus.
Let's add it to the ps8640 bindings.
Signed-off-by: Philip Chen <philipchen@chromium.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Reviewed-by: Stephen Boyd <swboyd@chromium.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Douglas Anderson <dianders@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210929173343.v2.2.I6050ba184b24d887e92692a72ee3054d643d6091@changeid
2021-10-08 08:03:12 -07:00
Marek Vasut
24417d5b0c
drm/bridge: ti-sn65dsi83: Implement .detach callback
...
Move detach implementation from sn65dsi83_remove() to dedicated
.detach callback. There is no functional change to the code, but
that detach is now in the correct location.
Signed-off-by: Marek Vasut <marex@denx.de >
Cc: Jagan Teki <jagan@amarulasolutions.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Linus Walleij <linus.walleij@linaro.org >
Cc: Robert Foss <robert.foss@linaro.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Robert Foss <robert.foss@linaro.org >
Signed-off-by: Robert Foss <robert.foss@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20210907024038.871299-1-marex@denx.de
2021-10-08 11:00:37 +02:00
Christian König
7cd80132ae
drm: use new iterator in drm_gem_fence_array_add_implicit v3
...
Simplifying the code a bit.
v2: add missing rcu_read_lock()/unlock()
v3: switch to locked version
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-24-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
a585070f26
drm/i915: use the new iterator in i915_request_await_object v2
...
Simplifying the code a bit.
v2: add missing rcu_read_lock()/rcu_read_unlock()
v3: use dma_resv_for_each_fence instead
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-20-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
9c2ba26535
drm/scheduler: use new iterator in drm_sched_job_add_implicit_dependencies v2
...
Simplifying the code a bit.
v2: use dma_resv_for_each_fence
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-17-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
dbcae3bfcb
drm/ttm: use the new iterator in ttm_bo_flush_all_fences
...
This is probably a fix since we didn't even grabed a reference to the
fences.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-11-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
0a42016d93
dma-buf: use the new iterator in dma_resv_poll
...
Simplify the code a bit.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-10-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
63639d013a
dma-buf: use the new iterator in dma_buf_debug_show
...
Simplifying the code a bit.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211005113742.1101-9-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00
Christian König
5baaac3184
dma-buf: add dma_resv_for_each_fence v3
...
A simpler version of the iterator to be used when the dma_resv object is
locked.
v2: fix index check here as well
v3: minor coding improvement, some documentation cleanup
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211006123609.2026-1-christian.koenig@amd.com
2021-10-07 14:49:11 +02:00