Emil Velikov
4bdbd5f0ee
drm/virtio: document drm_dev_set_unique workaround
...
A while back we removed it, yet that lead to regressions. At some later
point, I've attempted to remove it again without fully grasping the
unique (pun intended) situation that virtio is in.
Add a bulky comment to document why the call should stay as-is, for the
next person who's around.
As a Tl;Dr: virtio sits on top of struct virtio_device, which confuses
dev_is_pci(), wrong info gets sent to userspace and X doesn't start.
Driver needs to explicitly call drm_dev_set_unique() to keep it working.
v2: Fix handful of typos (Laszlo)
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20181024144252.16518-1-emil.l.velikov@gmail.com
2018-10-25 13:25:58 +01:00
Emil Velikov
f08877e794
drm: BUG_ON if passing NULL parent to drm_dev_init
...
Previous commit removed the only reason why we were allowing NULL as
a parent device. With that resolved, we can enforce nobody else does
that mistake.
With that we can drop the ugly drm_dev_set_unique workaround.
v2: rebase, silence checkpatch "== NULL" warning
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Deepak Sharma <deepak.sharma@amd.com >
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023163550.15211-2-emil.l.velikov@gmail.com
2018-10-25 13:25:58 +01:00
Deepak Sharma
d5c04dff24
drm/vgem: Fix vgem_init to get drm device available.
...
Modify vgem_init to take platform dev as parent in drm_dev_init.
This will make drm device available at "/sys/devices/platform/vgem"
in x86 chromebook.
v2: rebase, address checkpatch typo and line over 80 characters
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Deepak Sharma <deepak.sharma@amd.com >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023163550.15211-1-emil.l.velikov@gmail.com
2018-10-25 13:25:58 +01:00
Christian König
99fe21a76f
dma-buf: test shared slot allocation when mutex debugging is active
...
Set shared_max to the number of shared fences right before we release
the lock.
This way every attempt to add a shared fence without previously
reserving a slot will cause an error.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Acked-by: Junwei Zhang <Jerry.Zhang@amd.com >
Link: https://patchwork.kernel.org/patch/10626147/
2018-10-25 13:45:23 +02:00
Christian König
ca05359f1e
dma-buf: allow reserving more than one shared fence slot
...
Let's support simultaneous submissions to multiple engines.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Link: https://patchwork.kernel.org/patch/10626149/
2018-10-25 13:45:07 +02:00
Christian König
27836b641c
dma-buf: remove shared fence staging in reservation object
...
No need for that any more. Just replace the list when there isn't enough
room any more for the additional fence.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Link: https://patchwork.kernel.org/patch/10626143/
2018-10-25 13:41:16 +02:00
Sean Paul
9d32bdbb5b
drm: Fix doc warning in drm_connector_attach_edid_property()
...
Fixes the following warnings:
../drivers/gpu/drm/drm_connector.c:305: warning: Excess function parameter 'dev' description in 'drm_connector_attach_edid_property'
../drivers/gpu/drm/drm_connector.c:306: warning: Excess function parameter 'dev' description in 'drm_connector_attach_edid_property'
../drivers/gpu/drm/drm_connector.c:305: warning: Excess function parameter 'dev' description in 'drm_connector_attach_edid_property'
../drivers/gpu/drm/drm_connector.c:305: warning: Excess function parameter 'dev' description in 'drm_connector_attach_edid_property'
../drivers/gpu/drm/drm_connector.c:305: warning: Excess function parameter 'dev' description in 'drm_connector_attach_edid_property'
Fixes: 6b7e2d5c30 ("drm: add drm_connector_attach_edid_property()")
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20181024182442.206411-1-sean@poorly.run
2018-10-24 16:12:21 -04:00
Lyude Paul
f676481535
drm/dp_mst: Remove all evil duplicate state pointers
...
There's no reason to track the atomic state three times. Unfortunately,
this is currently what we're doing, and even worse is that there is only
one actually correct state pointer: the one in mst_state->base.state.
mgr->state never seems to be used, along with the one in
mst_state->state.
This confused me for over 4 hours until I realized there was no magic
behind these pointers. So, let's save everyone else from the trouble.
Signed-off-by: Lyude Paul <lyude@redhat.com >.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023231251.16883-3-lyude@redhat.com
2018-10-24 15:44:45 -04:00
Lyude Paul
e4b0c86810
drm/dp_mst: Deprecate drm_dp_find_vcpi_slots()
...
Because we have drm_dp_atomic_find_vcpi_slots(), which actually takes
care to update the atomic state of the MST topology, prints valuable
debugging output, and actually takes references to the ports it's
checking! This explains some incorrect usage I've been seeing across the
tree...
Signed-off-by: Lyude Paul <lyude@redhat.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023231251.16883-2-lyude@redhat.com
2018-10-24 15:41:57 -04:00
Sean Paul
6542e9adc0
Merge drm/drm-next into drm-misc-next
...
4.19 is out, Lyude asked for a backmerge, and it's been a while. All
very good reasons on their own :-)
Signed-off-by: Sean Paul <seanpaul@chromium.org >
2018-10-24 14:26:04 -04:00
Boris Brezillon
2b02a05bdc
drm/vc4: Set ->is_yuv to false when num_planes == 1
...
When vc4_plane_state is duplicated ->is_yuv is left assigned to its
previous value, and we never set it back to false when switching to
a non-YUV format.
Fix that by setting ->is_yuv to false in the 'num_planes == 1' branch
of the vc4_plane_setup_clipping_and_scaling() function.
Fixes: fc04023faf ("drm/vc4: Add support for YUV planes.")
Cc: <stable@vger.kernel.org >
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20181009132446.21960-1-boris.brezillon@bootlin.com
2018-10-24 18:14:33 +02:00
Boris Brezillon
3e407417b1
drm/vc4: Fix X/Y positioning of planes using T_TILES modifier
...
X/Y positioning of T-format buffers is quite tricky and the current
implementation was failing to position a plane using this format
correctly when the CRTC X, Y or both X and Y offsets were negative.
It was also failing when the SRC X/Y offsets were != 0.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180803092231.26446-5-boris.brezillon@bootlin.com
2018-10-24 18:14:33 +02:00
Boris Brezillon
a65511b1cd
drm/vc4: Move ->offsets[] adjustment out of setup_clipping_and_scaling()
...
The offset adjustment depends on the framebuffer modified, so let's
just move this operation in the DRM_FORMAT_MOD_LINEAR case inside
vc4_plane_mode_set().
This we'll be able to fix offset calculation for
DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED and DRM_FORMAT_MOD_BROADCOM_SANDXXX.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180803092231.26446-4-boris.brezillon@bootlin.com
2018-10-24 18:14:20 +02:00
Boris Brezillon
58a6a36fe8
drm/vc4: Use drm_atomic_helper_check_plane_state() to simplify the logic
...
drm_atomic_helper_check_plane_state() takes care of checking the
scaling capabilities and calculating the clipped X/Y offsets for us.
Rely on this function instead of open-coding the logic.
Incidentally, it seems to fix a problem we had with negative X/Y
positioning of YUV planes.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20180803092231.26446-3-boris.brezillon@bootlin.com
2018-10-24 18:05:21 +02:00
Eric Anholt
91b6da23cc
drm/vc4: Define missing PITCH0_SINK_PIX field
...
This is needed to support X/Y negative placement of planes using
T-format buffers.
Signed-off-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180803092231.26446-2-boris.brezillon@bootlin.com
2018-10-24 17:58:08 +02:00
Eric Anholt
641019dcd1
drm/vc4: Fix TILE_Y_OFFSET definitions
...
Y_OFFSET field starts at bit 8 not 7.
Signed-off-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180803092231.26446-1-boris.brezillon@bootlin.com
2018-10-24 17:57:03 +02:00
Linus Walleij
ac1d6d7488
drm/panel: Add driver for Samsung S6D16D0 panel
...
The Samsung S6D16D0 is a simple comman mode only DSI display
that is used on the ST-Ericsson Ux500 reference design
TVK1281618 user interface board (UIB).
Cc: Andrzej Hajda <a.hajda@samsung.com >
Reviewed-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023074630.29186-2-linus.walleij@linaro.org
2018-10-24 16:28:37 +02:00
Linus Walleij
674c9e198c
drm/panel: Add DT bindings for Samsung S6D16D0
...
This adds the device tree bindings for the Samsung S6D16D0
panel. This is a command mode only panel using DSI.
Cc: devicetree@vger.kernel.org
Cc: Andrzej Hajda <a.hajda@samsung.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Rob Herring <robh@kernel.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023074630.29186-1-linus.walleij@linaro.org
2018-10-24 16:26:45 +02:00
Linus Walleij
e982e3f020
drm: dsi: Add lane clock rate fields to DSI device
...
The DSI devices have a maximum operating frequency specified
in their data sheet per the MIPI specification, and DSI hosts
that can scale their frequency need this information to set
their clock dividers right.
As current panel drivers often lack this information, specify
that setting it to zero will make the DSI host use some
reasonable default.
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023072422.25754-1-linus.walleij@linaro.org
2018-10-24 16:26:35 +02:00
Daniel Vetter
9edb6a0b20
drm/doc: Update errno handbook
...
We recently bikeshedded this to a different flavour, but forgot to
update the recommendations.
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20181019084311.23836-1-daniel.vetter@ffwll.ch
2018-10-24 14:20:36 +02:00
Daniel Vetter
6217f0ec7f
drm/doc: kerneldoc for quirk_addfb_prefer_xbgr_30bpp
...
Shuts up warning noise.
Reviewed-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-22-daniel.vetter@ffwll.ch
2018-10-24 14:19:29 +02:00
Mamta Shukla
c97ea6a61b
drm: msm: adreno: Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) +PTR_ERR
...
Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR because its
better to have inlined function rather than code-opened implementation.
Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com >
Reviewed-by: Sean Paul <sean@poorly.run >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181018204815.GA23390@armorer
2018-10-23 15:59:24 +02:00
Souptick Joarder
068f304781
drm/drm_pci.c: Use dma_zalloc_coherent
...
Replace dma_alloc_coherent + memset with dma_zalloc_coherent.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20181023040222.GA1540@jordon-HP-15-Notebook-PC
2018-10-23 15:59:01 +02:00
Eugeniy Paltsev
32e932e37e
DRM: UDL: get rid of useless vblank initialization
...
UDL doesn't support vblank functionality so we don't need to
initialize vblank here (we are able to send page flip
completion events even without vblank initialization)
Moreover current drm_vblank_init call with num_crtcs > 0 causes
sending DRM_EVENT_FLIP_COMPLETE event with zero timestamp every
time. This breaks userspace apps (for example weston) which
relies on timestamp value.
Cc: stable@vger.kernel.org
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180928144126.21598-1-Eugeniy.Paltsev@synopsys.com
2018-10-23 15:59:01 +02:00
Souptick Joarder
8dc830e4cf
drm/rcar-du: Convert drm_atomic_helper_suspend/resume()
...
convert drm_atomic_helper_suspend/resume() to use
drm_mode_config_helper_suspend/resume().
remove suspend_state field from the rcar_du_device
structure as it is no more required.
With this conversion, also drm_fbdev_cma_set_suspend_unlocked()
will left with no consumer. So this function can be removed.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20180918163903.GA11172@jordon-HP-15-Notebook-PC
2018-10-23 15:59:01 +02:00