Peter Rosin
76dd3cd840
drm: amd: remove dead code and pointless local lut storage
...
The redundant fb helpers .load_lut, .gamma_set and .gamma_get are
no longer used. Remove the dead code and hook up the crtc .gamma_set
to use the crtc gamma_store directly instead of duplicating that
info locally.
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Peter Rosin <peda@axentia.se >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20170713162538.22788-5-peda@axentia.se
2017-08-04 11:35:15 +02:00
Mark yao
8415ab565d
drm/rockchip: fix race with kms hotplug and fbdev
...
According to the kerneldoc[0], should do fbdev setup before calling
drm_kms_helper_poll_init(), otherwise, Kms hotplug event may race
into fbdev helper initial, and fb_helper->dev may be NULL pointer,
that would cause the bug:
[ 0.735411] [00000200] *pgd=00000000f6ffe003, *pud=00000000f6ffe003, *pmd=0000000000000000
[ 0.736156] Internal error: Oops: 96000005 [#1 ] PREEMPT SMP
[ 0.736648] Modules linked in:
[ 0.736930] CPU: 2 PID: 20 Comm: kworker/2:0 Not tainted 4.4.41 #20
[ 0.737480] Hardware name: Rockchip RK3399 Board rev2 (BOX) (DT)
[ 0.738020] Workqueue: events cdn_dp_pd_event_work
[ 0.738447] task: ffffffc0f21f3100 ti: ffffffc0f2218000 task.ti: ffffffc0f2218000
[ 0.739109] PC is at mutex_lock+0x14/0x44
[ 0.739469] LR is at drm_fb_helper_hotplug_event+0x30/0x114
[ 0.756253] [<ffffff8008a344f4>] mutex_lock+0x14/0x44
[ 0.756260] [<ffffff8008445708>] drm_fb_helper_hotplug_event+0x30/0x114
[ 0.756271] [<ffffff8008473c84>] rockchip_drm_output_poll_changed+0x18/0x20
[ 0.756280] [<ffffff8008439fcc>] drm_kms_helper_hotplug_event+0x28/0x34
[ 0.756286] [<ffffff800846c444>] cdn_dp_pd_event_work+0x394/0x3c4
[ 0.756295] [<ffffff80080b2b38>] process_one_work+0x218/0x3e0
[ 0.756302] [<ffffff80080b3538>] worker_thread+0x2e8/0x404
[ 0.756308] [<ffffff80080b7e70>] kthread+0xe8/0xf0
[ 0.756316] [<ffffff8008082690>] ret_from_fork+0x10/0x40
[0]: https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms-helpers.html
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501575103-20136-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:46 +08:00
Mark yao
d415fb87aa
drm/rockchip: vop: report error when check resource error
...
The user would be confused while facing a error commit without
any error report.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501494596-7090-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:44 +08:00
Mark yao
da709a7b27
drm/rockchip: vop: round_up pitches to word align
...
VOP pitch register is word align, need align to word.
VOP_WIN0_VIR:
bit[31:16] win0_vir_stride_uv
Number of words of Win0 uv Virtual width
bit[15:0] win0_vir_width
Number of words of Win0 yrgb Virtual width
ARGB888 : win0_vir_width
RGB888 : (win0_vir_width*3/4) + (win0_vir_width%3)
RGB565 : ceil(win0_vir_width/2)
YUV : ceil(win0_vir_width/4)
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501494591-7034-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:41 +08:00
Mark yao
0b12e9c0e4
drm/rockchip: vop: fix NV12 video display error
...
fixup the scale calculation formula on the case
src_height == (dst_height/2).
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501494586-6984-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:39 +08:00
Mark yao
64d7756469
drm/rockchip: vop: fix iommu page fault when resume
...
Iommu would get page fault with following path:
vop_disable:
1, disable all windows and set vop config done
2, vop enter to standy, all windows not works, but their registers
are not clean, when you read window's enable bit, may found the
window is enable.
vop_enable:
1, memcpy(vop->regsbak, vop->regs, len)
save current vop registers to vop->regsbak, then you can found
window is enable on regsbak.
2, VOP_WIN_SET(vop, win, gate, 1);
force enable window gate, but gate and enable are on same
hardware register, then window enable bit rewrite to vop hardware.
3, vop power on, and vop might try to scan destroyed buffer,
then iommu get page fault.
Move windows disable after vop regsbak restore, then vop regsbak mechanism
would keep tracing the modify, everything would be safe.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501494582-6934-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:37 +08:00
Mark yao
b5015e92a0
drm/rockchip: vop: no need wait vblank on crtc enable
...
Since atomic framework, crtc enable and disable are in pairs,
no need to wait vblank.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sandy huang <sandy.huang@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501494577-6884-1-git-send-email-mark.yao@rock-chips.com
2017-08-04 16:09:34 +08:00
David Lechner
f461bd2b49
drm/fb-helper: add new drm_setup_crtcs_fb() function
...
This adds a new drm_setup_crtcs_fb() function to handle the parts of
drm_setup_crtcs() that touch fb_helper->fb and fb_helper->fbdev. When
drm_setup_crtcs() is called during initialization, these fields are NULL
because they have not been allocated yet.
There is currently a hack at the end of drm_fb_helper_single_fb_probe()
that sets fb_helper->fb, so it is moved to the new drm_setup_crtcs_fb()
function.
This is also done in preparation for addition setup that requires access
to fb_helper->fbdev.
Signed-off-by: David Lechner <david@lechnology.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/1501777149-8310-2-git-send-email-david@lechnology.com
2017-08-03 19:48:15 +02:00
Cihangir Akturk
f3a73544da
drm/atmel-hlcdc: switch to drm_*{get,put} helpers
...
drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to use
the new APIs.
Signed-off-by: Cihangir Akturk <cakturk@gmail.com >
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501761585-11757-6-git-send-email-cakturk@gmail.com
2017-08-03 16:41:56 +02:00
Arvind Yadav
d95a8e7b2a
drm/atmel-hlcdc : constify drm_plane_helper_funcs and drm_plane_funcs.
...
drm_plane_helper_funcs and drm_plane_funcsare not supposed to change
at runtime. All functions working with drm_plane_helper_funcs and
drm_plane_funcs work with const. So mark the non-const structs as const.
File size before:
text data bss dec hex filename
6072 596 0 6668 1a0c atmel_hlcdc_plane.o
File size After adding 'const':
text data bss dec hex filename
6218 436 0 6654 19fe atmel_hlcdc_plane.o
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com >
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Link: https://patchwork.freedesktop.org/patch/msgid/646415a3b2e62182f85254115e8491e5caf4b2c7.1499098826.git.arvind.yadav.cs@gmail.com
2017-08-03 16:39:37 +02:00
David Lechner
27a061fb16
drm/fb: Fix pointer dereference before null check.
...
fb_crtc is used before a null check, so move the use after the null check.
This was just identified by inspection. I haven't actually observed a crash
here, so it is possible that the null check could be unnecessary.
Signed-off-by: David Lechner <david@lechnology.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/1501696813-8807-1-git-send-email-david@lechnology.com
2017-08-03 12:12:15 +02:00
Ben Widawsky
db1689aa61
drm: Create a format/modifier blob
...
Updated blob layout (Rob, Daniel, Kristian, xerpi)
v2:
* Removed __packed, and alignment (.+)
* Fix indent in drm_format_modifier fields (Liviu)
* Remove duplicated modifier > 64 check (Liviu)
* Change comment about modifier (Liviu)
* Remove arguments to blob creation, use plane instead (Liviu)
* Fix data types (Ben)
* Make the blob part of uapi (Daniel)
v3:
Remove unused ret field.
Change i, and j to unsigned int (Emil)
v4:
Use plane->modifier_count instead of recounting (Daniel)
v5:
Rename modifiers to modifiers_property (Ville)
Use sizeof(__u32) instead to reflect UAPI nature (Ville)
Make BUILD_BUG_ON for blob header size
Cc: Rob Clark <robdclark@gmail.com >
Cc: Kristian H. Kristensen <hoegsberg@gmail.com >
Signed-off-by: Ben Widawsky <ben@bwidawsk.net >
Reviewed-by: Daniel Stone <daniels@collabora.com > (v2)
Reviewed-by: Liviu Dudau <liviu@dudau.co.uk > (v2)
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com > (v3)
Signed-off-by: Daniel Stone <daniels@collabora.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20170724034641.13369-2-ben@bwidawsk.net
2017-08-01 17:50:06 +01:00
Ben Widawsky
e6fc3b6855
drm: Plumb modifiers through plane init
...
This is the plumbing for supporting fb modifiers on planes. Modifiers
have already been introduced to some extent, but this series will extend
this to allow querying modifiers per plane. Based on this, the client to
enable optimal modifications for framebuffers.
This patch simply allows the DRM drivers to initialize their list of
supported modifiers upon initializing the plane.
v2: A minor addition from Daniel
v3:
* Updated commit message
* s/INVALID/DRM_FORMAT_MOD_INVALID (Liviu)
* Remove some excess newlines (Liviu)
* Update comment for > 64 modifiers (Liviu)
v4: Minor comment adjustments (Liviu)
v5: Some new platforms added due to rebase
v6: Add some missed plane inits (or maybe they're new - who knows at
this point) (Daniel)
Signed-off-by: Ben Widawsky <ben@bwidawsk.net >
Reviewed-by: Daniel Stone <daniels@collabora.com > (v2)
Reviewed-by: Liviu Dudau <Liviu.Dudau@arm.com >
Signed-off-by: Daniel Stone <daniels@collabora.com >
2017-08-01 17:50:06 +01:00
Maarten Lankhorst
d7429669c8
drm/msm: Convert to use new iterator macros, v2.
...
for_each_obj_in_state is about to be removed, so convert
to the new iterator macros.
Just like in omap, use crtc_state->active instead of
crtc_state->enable when waiting for completion.
Changes since v1:
- Fix compilation.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Rob Clark <robdclark@gmail.com >
Cc: Archit Taneja <architt@codeaurora.org >
Cc: Vincent Abriou <vincent.abriou@st.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Russell King <rmk+kernel@armlinux.org.uk >
Cc: Rob Herring <robh@kernel.org >
Cc: Markus Elfring <elfring@users.sourceforge.net >
Cc: Sushmita Susheelendra <ssusheel@codeaurora.org >
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Tested-by: Archit Taneja <architt@codeaurora.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20170719143920.25685-6-maarten.lankhorst@linux.intel.com
2017-08-01 11:11:59 +02:00
Maarten Lankhorst
3c847d6cda
drm/nouveau: Convert nouveau to use new iterator macros, v2.
...
Use the new atomic iterator macros, the old ones are about to be
removed. With the new macros, it's more easy to get old and new state so
get them from the macros instead of from obj->state.
Changes since v1:
- Don't mix up old and new state. (danvet)
- Rebase on top of interruptible swap_state changes.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: nouveau@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20170719143920.25685-7-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2017-08-01 11:08:46 +02:00
Maarten Lankhorst
34d8823738
drm/omapdrm: Fix omap_atomic_wait_for_completion
...
Use the new iterator macro and look for crtc_state->active instead of
enable, only crtc_state->active implies that vblanks will happen.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20170719143920.25685-5-maarten.lankhorst@linux.intel.com
2017-08-01 11:07:36 +02:00
Maarten Lankhorst
b20adb9188
drm/atomic: Use new iterator macros in drm_atomic_helper_wait_for_flip_done, again.
...
for_each_obj_in_state is about to be removed, so use the correct new
iterator macro.
I renamed the variable to 'unused', but forgot to convert
drm_atomic_helper_wait_for_flip_done to the new iterator macro,
so make it work this time.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Daniel Vetter <daniel.vetter@intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Sean Paul <seanpaul@chromium.org >
Cc: David Airlie <airlied@linux.ie >
Link: https://patchwork.freedesktop.org/patch/msgid/20170719143920.25685-2-maarten.lankhorst@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2017-08-01 11:03:06 +02:00
Sean Paul
acadb3dddb
gpu/host1x: Remove excess parameter in host1x_subdev_add docs
...
Fixes the following warning when building docs:
../drivers/gpu/host1x/bus.c:50: warning: Excess function parameter 'driver' description in 'host1x_subdev_add'
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20170720174746.29100-4-seanpaul@chromium.org
2017-07-31 14:24:37 +02:00
Sean Paul
6c70faf1b5
drm: Fix warning when building docs for scdc_helper
...
Fixes:
../drivers/gpu/drm/drm_scdc_helper.c:203: ERROR: Unexpected indentation.
../drivers/gpu/drm/drm_scdc_helper.c:204: WARNING: Block quote ends without a blank line; unexpected unindent.
Changes in v2:
- Property blockquote TMDS calculations so they look pretty (Daniel)
- Remove duplicate documentation from the header file
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20170720200921.36897-1-seanpaul@chromium.org
2017-07-31 14:24:14 +02:00
Sean Paul
8d0873a2c4
drm/modes: Fix drm_mode_is_420_only() comment
...
Fixes the following warnings when building docs:
../drivers/gpu/drm/drm_modes.c:1623: warning: No description found for parameter 'display'
../drivers/gpu/drm/drm_modes.c:1623: warning: Excess function parameter 'connector' description in 'drm_mode_is_420_only'
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20170720174746.29100-2-seanpaul@chromium.org
2017-07-31 14:23:30 +02:00
Mark yao
9dd2aca46a
drm/rockchip: vop: rk3328: fix overlay abnormal
...
It's a hardware bug, all window's overlay channel reset
value is same, hardware overlay would be die.
so we must initial difference id for each overlay channel.
The Channel register is supported on all vop will full design.
Following is the details for this register
VOP_WIN0_CTRL2
bit[7:4] win_rid_win0_cbr
axi read id of win0 cbr channel
bit[3:0] win_rid_win0_yrgb
axi read id of win0 yrgb channel
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Jeffy Chen <jeffy.chen@rock-chips.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1501049980-6239-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:44:18 +08:00
Mark yao
eb5cb6aa9a
drm/rockchip: vop: add a series of vop support
...
Vop Full framework now has following vops:
IP version chipname
3.1 rk3288
3.2 rk3368
3.4 rk3366
3.5 rk3399 big
3.6 rk3399 lit
3.7 rk3228
3.8 rk3328
The above IP version is from H/W define, some of vop support get
the IP version from VERSION_INFO register, some are not.
hardcode the IP version for each vop to identify them.
major version: used for IP structure, Vop full framework is 3,
vop little framework is 2.
minor version: on same structure, newer design vop will bigger
then old one.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Jeffy Chen <jeffy.chen@rock-chips.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1501049971-6131-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:44:06 +08:00
Mark yao
9a61c54b9b
drm/rockchip: vop: group vop registers
...
Grouping the vop registers facilitates make register
definition clearer, and also is useful for different vop
reuse the same group register.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Jeffy Chen <jeffy.chen@rock-chips.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1501221986-29722-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:44:03 +08:00
Mark yao
ac6560dfc8
drm/rockchip: vop: move line_flag_num to interrupt registers
...
In the hardware design process, the design of line flags
register is associated with the interrupt register,
placing the line flags in the interrupt definition is
more reasonable, and it would make multi-vop define easilier.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1501049960-6006-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:44:00 +08:00
Mark yao
9548e1b49a
drm/rockchip: vop: move write_relaxed flags to vop register
...
Since the drm atomic framework, only a small part of the vop
register needs sync write, Currently seems only following registers
need sync write:
cfg_done, standby and interrupt related register.
All ctrl registers are using the sync write method that is
inefficient, hardcode the write_relaxed flags to vop registers,
then can only do synchronize write for those actual needed register.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Reviewed-by: Jeffy Chen <jeffy.chen@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501049953-5946-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:43:57 +08:00
Mark yao
60b7ae7fa2
drm/rockchip: vop: initialize registers directly
...
At present we are using init_table to initialize some
registers, but the Register init table use un-document define,
it is unreadable, and sometimes we only want to update tiny
bits, init table method is not friendly, it's diffcult to
reuse for difference chips.
To make it clean, initialize registers directly, and drops
init_table mechanism out.
Signed-off-by: Mark Yao <mark.yao@rock-chips.com >
Tested-by: Heiko Stuebner <heiko@sntech.de >
Reviewed-by: Jeffy Chen <jeffy.chen@rock-chips.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1501049946-5877-1-git-send-email-mark.yao@rock-chips.com
2017-07-31 08:43:48 +08:00
Arnd Bergmann
8312a3fe84
tinydrm: repaper: add CONFIG_THERMAL dependency
...
The new RePaper driver uses the thermal subsystem, and fails to link
when it is built-in but thermal is a loadable module:
drivers/gpu/drm/tinydrm/repaper.o: In function `repaper_probe':
repaper.c:(.text+0x540): undefined reference to `thermal_zone_get_zone_by_name'
drivers/gpu/drm/tinydrm/repaper.o: In function `repaper_fb_dirty':
repaper.c:(.text+0xff4): undefined reference to `thermal_zone_get_temp'
This adds another Kconfig dependency to prevent the broken configuration,
forcing repaper to be a module too.
Fixes: 3589211e9b ("drm/tinydrm: Add RePaper e-ink driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20170727100004.300665-1-arnd@arndb.de
2017-07-29 14:41:39 +02:00
Noralf Trønnes
d6cedc11c4
drm/hisilicon: hibmc: Use the drm_driver.dumb_destroy default
...
drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.
Cc: Chen Feng <puck.chen@hisilicon.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-37-git-send-email-noralf@tronnes.org
2017-07-29 14:02:52 +02:00
Noralf Trønnes
1e1d5bf4dc
drm/nouveau: Use the drm_driver.dumb_destroy default
...
drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.
Cc: Ben Skeggs <bskeggs@redhat.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-33-git-send-email-noralf@tronnes.org
2017-07-29 14:02:31 +02:00
Noralf Trønnes
4ab732abd8
drm/omapdrm: Use the drm_driver.dumb_destroy default
...
drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-31-git-send-email-noralf@tronnes.org
2017-07-29 14:01:44 +02:00
Noralf Trønnes
b66e2cd9dd
drm/amdgpu: Use the drm_driver.dumb_destroy default
...
drm_gem_dumb_destroy() is the drm_driver.dumb_destroy default,
so no need to set it.
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-30-git-send-email-noralf@tronnes.org
2017-07-29 14:00:55 +02:00
Noralf Trønnes
8cfd4f5de4
drm/rockchip: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Mark Yao <mark.yao@rock-chips.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-25-git-send-email-noralf@tronnes.org
2017-07-29 14:00:35 +02:00
Noralf Trønnes
819e0a98a0
drm/mediatek: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: CK Hu <ck.hu@mediatek.com >
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-23-git-send-email-noralf@tronnes.org
2017-07-29 14:00:11 +02:00
Noralf Trønnes
e284f1f0a5
drm/zte: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Shawn Guo <shawnguo@kernel.org >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Shawn Guo <shawnguo@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-21-git-send-email-noralf@tronnes.org
2017-07-29 13:59:07 +02:00
Noralf Trønnes
bd73ac0abc
drm/vc4: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-20-git-send-email-noralf@tronnes.org
2017-07-29 13:58:52 +02:00
Noralf Trønnes
6e93b20df0
drm/tilcdc: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Jyri Sarha <jsarha@ti.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Jyri Sarha <jsarha@ti.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-19-git-send-email-noralf@tronnes.org
2017-07-29 13:58:26 +02:00
Noralf Trønnes
a0bde8a134
drm/sun4i: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Maxime Ripard <maxime.ripard@free-electrons.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-18-git-send-email-noralf@tronnes.org
2017-07-29 13:58:12 +02:00
Noralf Trønnes
58ba9aabb8
drm/stm: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Yannick Fertre <yannick.fertre@st.com >
Cc: Philippe Cornu <philippe.cornu@st.com >
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org >
Cc: Vincent Abriou <vincent.abriou@st.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Tested-by: Philippe Cornu <philippe.cornu@st.com >
Acked-by: Philippe Cornu <philippe.cornu@st.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-17-git-send-email-noralf@tronnes.org
2017-07-29 13:57:51 +02:00
Noralf Trønnes
400fc00fb7
drm/shmobile: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-15-git-send-email-noralf@tronnes.org
2017-07-29 13:57:33 +02:00
Noralf Trønnes
095ec3fccb
drm/rcar-du: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-14-git-send-email-noralf@tronnes.org
2017-07-29 13:57:17 +02:00
Noralf Trønnes
4451179e12
drm/pl111: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-13-git-send-email-noralf@tronnes.org
2017-07-29 13:57:02 +02:00
Noralf Trønnes
a58980baee
drm/imx: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Philipp Zabel <p.zabel@pengutronix.de >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Philipp Zabel <p.zabel@pengutronix.de >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-10-git-send-email-noralf@tronnes.org
2017-07-29 13:56:30 +02:00
Noralf Trønnes
682b06a042
drm/atmel-hlcdc: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Boris Brezillon <boris.brezillon@free-electrons.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-7-git-send-email-noralf@tronnes.org
2017-07-29 13:56:13 +02:00
Noralf Trønnes
cdd7df8803
drm/arm: mali-dp: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Liviu Dudau <liviu.dudau@arm.com >
Cc: Brian Starkey <brian.starkey@arm.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Brian Starkey <brian.starkey@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-6-git-send-email-noralf@tronnes.org
2017-07-29 13:55:56 +02:00
Noralf Trønnes
cdc1cc7e9a
drm/arm: hdlcd: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Liviu Dudau <liviu.dudau@arm.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Brian Starkey <brian.starkey@arm.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-5-git-send-email-noralf@tronnes.org
2017-07-29 13:55:40 +02:00
Noralf Trønnes
3939b8837e
drm/arc: Use .dumb_map_offset and .dumb_destroy defaults
...
This driver can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
Cc: Alexey Brodkin <abrodkin@synopsys.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Alexey Brodkin <abrodkin@synopsys.com >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-4-git-send-email-noralf@tronnes.org
2017-07-29 13:55:09 +02:00
Noralf Trønnes
0be8d63a84
drm/dumb-buffers: Add defaults for .dumb_map_offset and .dumb_destroy
...
Almost everyone did end up using GEM as bo, so this adds defaults
for the drm_driver.dumb_destroy and drm_driver.dumb_map_offset
callbacks.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-3-git-send-email-noralf@tronnes.org
2017-07-29 13:51:44 +02:00
Noralf Trønnes
db61152703
drm/gem: Add drm_gem_dumb_map_offset()
...
Add a common drm_driver.dumb_map_offset function for GEM backed drivers.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1500837417-40580-2-git-send-email-noralf@tronnes.org
2017-07-29 13:49:55 +02:00
Eric Anholt
4e6b1e9125
drm/vc4: Convert more lock requirement comments to lockdep assertions.
...
Since I do my development with lockdep on, this will help make sure I
don't introduce bugs here.
Signed-off-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-3-eric@anholt.net
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2017-07-28 16:05:08 -07:00
Eric Anholt
f30994622b
drm/vc4: Add an ioctl for labeling GEM BOs for summary stats
...
This has proven immensely useful for debugging memory leaks and
overallocation (which is a rather serious concern on the platform,
given that we typically run at about 256MB of CMA out of up to 1GB
total memory, with framebuffers that are about 8MB ecah).
The state of the art without this is to dump debug logs from every GL
application, guess as to kernel allocations based on bo_stats, and try
to merge that all together into a global picture of memory allocation
state. With this, you can add a couple of calls to the debug build of
the 3D driver and get a pretty detailed view of GPU memory usage from
/debug/dri/0/bo_stats (or when we debug print to dmesg on allocation
failure).
The Mesa side currently labels at the gallium resource level (so you
see that a 1920x20 pixmap has been created, presumably for the window
system panel), but we could extend that to be even more useful with
glObjectLabel() names being sent all the way down to the kernel.
(partial) example of sorted debugfs output with Mesa labeling all
resources:
kernel BO cache: 16392kb BOs (3)
tiling shadow 1920x1080: 8160kb BOs (1)
resource 1920x1080@32/0: 8160kb BOs (1)
scanout resource 1920x1080@32/0: 8100kb BOs (1)
kernel: 8100kb BOs (1)
v2: Use strndup_user(), use lockdep assertion instead of just a
comment, fix an array[-1] reference, extend comment about name
freeing.
Signed-off-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-2-eric@anholt.net
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
2017-07-28 16:04:53 -07:00