Zou Wei
b173bfe2d7
drm/udl: Make udl_handle_damage static
...
Fix the following sparse warning:
drivers/gpu/drm/udl/udl_modeset.c:269:5: warning: symbol 'udl_handle_damage'
was not declared. Should it be static?
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: Zou Wei <zou_wei@huawei.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1588248797-70568-1-git-send-email-zou_wei@huawei.com
2020-05-06 21:08:37 +02:00
Daniel Vetter
6ae355a260
drm/udl: don't set drm_device->dev_private
...
We're mostly there already, just a handful of places that didn't use
the to_udl container_of cast. To make sure no new appear, don't set
->dev_private.
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Alexios Zavras <alexios.zavras@intel.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: "José Roberto de Souza" <jose.souza@intel.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Allison Randal <allison@lohutok.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-13-daniel.vetter@ffwll.ch
2020-04-28 15:18:27 +02:00
Daniel Vetter
50b9bbecaa
drm/udl: Use devm_drm_dev_alloc
...
With Thomas' patch to clean up fbdev init this is a rather standard
conversion to the new wrapper macro.
v2: Rebase on top of Thomas' patches to remove the return value from
drm_fbdev_generic_setup()
v3: Update commit message to reflect the reality of the rebased patch
(Sam)
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Noralf Trønnes <noralf@tronnes.org >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-12-daniel.vetter@ffwll.ch
2020-04-28 15:16:43 +02:00
Thomas Zimmermann
66459fa21d
drm/udl: Remove error check from fbdev setup
...
Remove the error check from the fbdev setup function. The driver's
probe function should not depend on a DRM client's state.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200408082641.590-9-tzimmermann@suse.de
2020-04-08 16:24:59 +02:00
Daniel Vetter
b1a981bd55
drm/udl: drop drm_driver.release hook
...
There's only two functions called from that:
drm_kms_helper_poll_fini() and udl_free_urb_list(). Both of these are
also called from the ubs_driver->disconnect hook, so entirely
pointless to do the same again in the ->release hook.
Furthermore by the time we clean up the drm_driver we really shouldn't
be touching hardware anymore, so stopping the poll worker and freeing
the urb allocations in ->disconnect is the right thing to do.
Now disconnect still cleans things up before unregistering the driver,
but that's a different issue.
v2: Use _fini, not _disable in unplug, motivated by discussions with
Thomas. _disable/_enable are for suspend/resume.
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-51-daniel.vetter@ffwll.ch
2020-03-26 16:09:40 +01:00
Daniel Vetter
fe5b7c86d6
drm/udl: Drop explicit drm_mode_config_cleanup call
...
It's right above the drm_dev_put().
This allows us to delete a bit of onion unwinding in
udl_modeset_init().
This is made possible by a preceeding patch which added a drmm_
cleanup action to drm_mode_config_init(), hence all we need to do to
ensure that drm_mode_config_cleanup() is run on final drm_device
cleanup is check the new error code for _init().
v2: Explain why this cleanup is possible (Laurent).
v3: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-50-daniel.vetter@ffwll.ch
2020-03-26 16:09:25 +01:00
Daniel Vetter
d33b58d011
drm: Garbage collect drm_dev_fini
...
It has become empty. Given the few users I figured not much point
splitting this up.
v2: Rebase over i915 changes.
v3: Rebase over patch split fix.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-26-daniel.vetter@ffwll.ch
2020-03-26 15:45:36 +01:00
Daniel Vetter
d0c116adc6
drm/udl: Use drmm_add_final_kfree
...
With this we can drop the final kfree from the release function.
v2: We need drm_dev_put to unroll the driver creation (once
drm_dev_init and drmm_add_final_kfree suceeded), otherwise
the drmm_ magic doesn't happen.
v3: Actually squash in the fixup (Laurent).
Acked-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Sean Paul <sean@poorly.run >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Emil Velikov <emil.l.velikov@gmail.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-7-daniel.vetter@ffwll.ch
2020-03-26 14:49:58 +01:00
Thomas Zimmermann
06f749af62
drm/udl: Clear struct drm_connector_funcs.dpms
...
Atomic modesetting doesn't use struct drm_connector_funcs.dpms and
the set function, drm_helper_connector_dpms(), wouldn't support it
anyway. So keep the pointer to NULL.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20200207141602.4760-2-tzimmermann@suse.de
2020-02-10 09:24:09 +01:00
Thomas Zimmermann
a7bbabd94c
drm/udl: Don't set struct drm_crtc_state.no_vblank explicitly
...
As udl does not initialize vblanking, atomic helpers initialize the
value of struct drm_crtc_state.no_vblank to be true. No need to set
it from within the driver.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20200129120531.6891-13-tzimmermann@suse.de
2020-01-30 09:00:46 +01:00
Thomas Zimmermann
5d50bd440b
drm/udl: Make udl driver depend on CONFIG_USB
...
The udl driver for DisplayLink devices depends on support for host-side
USB controllers, which is enabled with CONFIG_USB. Plain USB support as
given by CONFIG_USB_SUPPORT is not sufficient.
This patch changes dependencies for udl to depend on CONFIG_USB, instead
of CONFIG_USB_SUPPORT. Users will have to enable CONFIG_USB and select a
USB host controller. With this change udl dependencies work the same way
as dependencies for PCI drivers.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200106141016.9562-1-tzimmermann@suse.de
2020-01-09 15:02:48 +01:00
Thomas Zimmermann
14856e9efb
drm/udl: Remove udl_fb.c
...
The remaining code in udl_fb.c is unused. Remove the file entirely.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-10-tzimmermann@suse.de
2019-12-11 17:02:17 +01:00
Thomas Zimmermann
a8109f5bc4
drm/udl: Move udl_handle_damage() into udl_modeset.c
...
The only caller of udl_handle_damage() in the plane-update function
in udl_modeset.c. Move udl_handle_damage() there.
v2:
* remove udl_fb.c in a separate patch
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-9-tzimmermann@suse.de
2019-12-11 17:02:17 +01:00
Thomas Zimmermann
eb3deeceaa
drm/udl: Remove struct udl_device.active_fb_16
...
The udl driver stores the currently active framebuffer to know from
where to accept damage updates.
With the conversion to plane-state damage handling, this is not necessary
any longer. The currently active framebuffer and damaged area are always
stored in the plane state.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-8-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
230b8b04d7
drm/udl: Convert to drm_atomic_helper_dirtyfb()
...
The infrastruture for atomic modesetting allows us to use the generic
code for dirty-FB and damage handling. Switch over udl and remove the
driver's implementation. The simple-pipe's update function now picks up
the primary plane's damage and updates a minimal region of the screen.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-7-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
d8177841aa
drm/udl: Set preferred color depth to 16 bpp
...
The current default color depth of 24 bpp is not even supported by
the driver. Being the native format for communicating with the adapter,
16 bpp is the correct choice.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-6-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
997d33c356
drm/udl: Inline DPMS code into CRTC enable and disable functions
...
DPMS functionality is only used by the CRTC's enable and disable
functions. Inline the code. The patch also adds symbolic constants
for the blank register and constants; according to udlfb, which is
a bit more detailed than DRM's udl.
v3:
* use symbolic constants for blank, according to udlfb driver
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-5-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
ae08b88aea
drm/udl: Switch to atomic suspend/resume helpers
...
We can use the generic suspend/resume helpers for atomic modesetting.
Switch udl over.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-4-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
9fda81e00e
drm/udl: Convert to struct drm_simple_display_pipe
...
Udl has a single display pipeline with a primary plane; perfect for
simple-pipe helpers. Convert it over. The old encoder and CRTC code
becomes unused and obsolete.
Exported formats for the primary plane are RGB565 and XRGB8888, with
the latter being emulated. The 16-bit format is the default and what
is used when communicating with the device.
This patch enables atomic modesetting for udl devices.
v3:
* remove unused field crtc from struct udl_device
* set crtc_state->no_vblank at beginning of enable()
v2:
* move suspend/resume changes into separate patch
* remove non-atomic code
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-3-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
e829cf0b30
drm/udl: Init connector before encoder and CRTC
...
To mimic simple-pipe, we initialize the connector before the rest of
the display pipeline.
v2:
* remove unnecessary calls to drm_connector_{register,unregister}()
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191210084905.5570-2-tzimmermann@suse.de
2019-12-11 17:02:16 +01:00
Thomas Zimmermann
1ca3fd96f9
drm/udl: Remove field lost_pixels from struct udl_device
...
The field lost_pixels in struct udl_device was supposed to signal an
error during USB transfers of the framebuffer data. The driver would
have to schedule a re-transfer at a later point. This code was never
implemented. Remove lost_pixels and return regular error codes instead.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-8-tzimmermann@suse.de
2019-12-06 13:52:33 +01:00
Thomas Zimmermann
798ce3fe1c
drm/udl: Begin/end access to imported buffers in damage-handler
...
The damage-handler code now invokes dma_buf_{begin,end}_access()
for imported buffers. These calls were missing from the page-flip
and modesetting code paths. The patch also fixes an bug in the
original where an error code was overwritten by the result of
dma_buf_end_cpu_access().
v2:
* only return an error code from dma_buf_end_cpu_access() if
no other error code has been set before
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-7-tzimmermann@suse.de
2019-12-06 13:52:18 +01:00
Thomas Zimmermann
cd45e30a70
drm/udl: Move log-cpp code out of udl_damage_handler()
...
Computing the cpp value's logarithm in a separate helper function makes
the damage-handler code more readable.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-6-tzimmermann@suse.de
2019-12-06 13:51:52 +01:00
Thomas Zimmermann
ffc90486e3
drm/udl: Move clip-rectangle code out of udl_handle_damage()
...
Computing the clip rectable in a separate helper function makes the
damage-handler code more readable.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-5-tzimmermann@suse.de
2019-12-06 13:51:41 +01:00
Thomas Zimmermann
2d2bebb833
drm/udl: Vmap framebuffer after all tests succeeded in damage handling
...
We now do the fast tests before the potentially expensive vmap operation.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-4-tzimmermann@suse.de
2019-12-06 13:51:32 +01:00
Thomas Zimmermann
d15e35dafb
drm/udl: Don't track number of identical and sent pixels per line
...
A call to udl_render_hline() returns the number of identical and
sent pixels. None of these values is used. Remove the parameters.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-3-tzimmermann@suse.de
2019-12-06 13:51:23 +01:00
Thomas Zimmermann
3f1939b531
drm/udl: Remove unused statistics counters
...
None of the udl driver's statistics counters is used anywhere. Remove
them.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191206085954.9697-2-tzimmermann@suse.de
2019-12-06 13:51:16 +01:00
Thomas Zimmermann
8ed447744b
drm/udl: Replace struct udl_framebuffer with generic implementation
...
The udl driver's struct udl_framebuffer stores a DRM framebuffer
with an associated GEM object. This functionality is also provided by
generic code. Switch udl over.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-6-tzimmermann@suse.de
2019-11-26 12:34:50 +01:00
Thomas Zimmermann
8344603534
drm/udl: Call udl_handle_damage() with DRM framebuffer
...
Simplifying the udl code before replacing struct udl_framebuffer.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-5-tzimmermann@suse.de
2019-11-26 12:34:47 +01:00
Thomas Zimmermann
ba59b015a0
drm/udl: Store active framebuffer in device structure
...
The framebuffer's 'active_16' flag signals which framebuffer to flush
to device memory. Moving the 'active_16' state from struct udl_framebuffer
into struct udl_device prepares for using the generic GEM framebuffer.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-4-tzimmermann@suse.de
2019-11-26 12:34:43 +01:00
Thomas Zimmermann
f3f8630a9a
drm/udl: Remove udl implementation of GEM's free_object()
...
Udl's custom implementation for struct drm_gem_object_funcs.free_object
unmaps perma-mapped memory buffer before freeing the buffer object.
After switching to generic fbdev emulation and fixing the damage
handler, no perma-mapped buffers have to be released. Switch to SHMEM's
implementation of free_object.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-3-tzimmermann@suse.de
2019-11-26 12:34:39 +01:00
Thomas Zimmermann
6c44e30ae1
drm/udl: Unmap buffer object after damage update
...
Udl keeps a BO mapped for its entire lifetime if it has been used in a
damage update at least once. The BO's free callback release the mapping
before it frees the BO.
Change this behaviour to unmap immediately after the damage update, so
SHMEM's implementation of free can be used.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114141025.32198-2-tzimmermann@suse.de
2019-11-26 12:34:25 +01:00
Krzysztof Kozlowski
3373279a06
drm/udl: Fix Kconfig indentation
...
Adjust indentation from spaces to tab (+optional two spaces) as in
coding style with command like:
$ sed -e 's/^ /\t/' -i */Kconfig
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20191120133341.6582-1-krzk@kernel.org
2019-11-20 17:40:32 +01:00
Thomas Zimmermann
d0c4fc5a48
drm/udl: Replace fbdev code with generic emulation
...
The udl driver can use the generic fbdev implementation. Convert it.
v5:
* initialize console after registering device
v4:
* hardcode console bpp to 16
v3:
* remove module parameter fb_bpp in favor of fbdev's video
* call drm_fbdev_generic_setup() directly; remove udl_fbdev_init()
* use default for struct drm_mode_config_funcs.output_poll_changed
* use default for struct drm_driver.lastclose
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20191114125106.28347-2-tzimmermann@suse.de
2019-11-19 14:37:29 +01:00
Thomas Zimmermann
d56cbce7be
drm/udl: Remove struct udl_gem_object and functions
...
Simply removes all the obsolete GEM code from udl. No functional
changes.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191107094307.19870-5-tzimmermann@suse.de
2019-11-08 12:30:17 +01:00
Thomas Zimmermann
08b22f65b3
drm/udl: Switch to SHMEM
...
Udl's GEM code and the generic SHMEM are almost identical. Replace
the former with SHMEM. The dmabuf support in udl is being replaced
with generic GEM PRIME functions.
The main difference is in the caching flags for mmap pages. By
default, SHMEM always sets (uncached) write combining. In udl's
memory management code, only imported buffers use write combining.
Memory pages of locally created buffer objects are mmap'ed with
caching enabled. To keep the optimization, udl provides its own
mmap function for GEM objects where it fixes up the mapping flags.
v3:
- restore udl vmap that enables caching
v2:
- remove obsolete code in a separate patch
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191107094307.19870-4-tzimmermann@suse.de
2019-11-08 12:30:07 +01:00
Thomas Zimmermann
1d48b9e988
drm/udl: Allocate GEM object via struct drm_driver.gem_create_object
...
In preparation of a switch to SHMEM, udl now allocates its GEM
objects via struct drm_driver.gem_create_object. No functional
changes are made.
For SHMEM GEM objects, udl will require the use of a special mmap
function, which we set though the create-object function.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191107094307.19870-3-tzimmermann@suse.de
2019-11-08 12:29:56 +01:00
Thomas Zimmermann
92c4eeb0c9
drm/udl: Remove flags field from struct udl_gem_object
...
The flags field in struct udl_gem controls mapping parameters: cached
access for local buffers, write-combined access for imported buffers.
We can drop the field and distinguish both cases by testing whether
struct drm_gem_object.import_attach is NULL.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20191107094307.19870-2-tzimmermann@suse.de
2019-11-08 12:29:47 +01:00
José Roberto de Souza
a92462d6bf
drm/connector: Share with non-atomic drivers the function to get the single encoder
...
This 3 non-atomic drivers all have the same function getting the
only encoder available in the connector, also atomic drivers have
this fallback. So moving it a common place and sharing between atomic
and non-atomic drivers.
While at it I also removed the mention of
drm_atomic_helper_best_encoder() that was renamed in
commit 297e30b5d9
("drm/atomic-helper: Unexport
drm_atomic_helper_best_encoder").
v3: moving drm_connector_get_single_encoder to drm_kms_helper module
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Cc: dri-devel@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190913232857.389834-1-jose.souza@intel.com
2019-09-16 15:13:02 -07:00
Sam Ravnborg
a9dcf3804a
drm/udl: drop use of drmP.h
...
The drmP.h header file is deprecated.
Drop it from all files in the udl driver.
Made the header files self contained, which then
made it simpler to update the .c files.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Acked-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Cc: Sean Paul <sean@poorly.run >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: Robert Tarasov <tutankhamen@chromium.org >
Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Eric Anholt <eric@anholt.net >
Cc: Mikulas Patocka <mpatocka@redhat.com >
Cc: Emil Lundmark <lndmrk@chromium.org >
Cc: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190716064220.18157-9-sam@ravnborg.org
2019-07-17 12:52:55 +02:00
Daniel Vetter
e4fa8457b2
drm/prime: Align gem_prime_export with obj_funcs.export
...
The idea is that gem_prime_export is deprecated in favor of
obj_funcs.export. That's much easier to do if both have matching
function signatures.
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Acked-by: Christian König <christian.koenig@amd.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <maxime.ripard@bootlin.com >
Cc: Sean Paul <sean@poorly.run >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Zhenyu Wang <zhenyuw@linux.intel.com >
Cc: Zhi Wang <zhi.a.wang@intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com >
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com >
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: "Christian König" <christian.koenig@amd.com >
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: Dave Airlie <airlied@redhat.com >
Cc: Eric Anholt <eric@anholt.net >
Cc: "Michel Dänzer" <michel.daenzer@amd.com >
Cc: Chris Wilson <chris@chris-wilson.co.uk >
Cc: Huang Rui <ray.huang@amd.com >
Cc: Felix Kuehling <Felix.Kuehling@amd.com >
Cc: Hawking Zhang <Hawking.Zhang@amd.com >
Cc: Feifei Xu <Feifei.Xu@amd.com >
Cc: Jim Qu <Jim.Qu@amd.com >
Cc: Evan Quan <evan.quan@amd.com >
Cc: Matthew Auld <matthew.auld@intel.com >
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com >
Cc: Thomas Zimmermann <tdz@users.sourceforge.net >
Cc: Kate Stewart <kstewart@linuxfoundation.org >
Cc: Sumit Semwal <sumit.semwal@linaro.org >
Cc: Jilayne Lovejoy <opensource@jilayne.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Mikulas Patocka <mpatocka@redhat.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Junwei Zhang <Jerry.Zhang@amd.com >
Cc: intel-gvt-dev@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Cc: amd-gfx@lists.freedesktop.org
Cc: linux-tegra@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190614203615.12639-10-daniel.vetter@ffwll.ch
2019-06-21 17:30:49 +02:00
Daniel Vetter
0424fdaf88
drm/prime: Actually remove DRIVER_PRIME everywhere
...
Split out to make the functional changes stick out more.
All places where DRIVER_PRIME was used have been removed in previous
patches already.
v2: amdgpu gained DRIVER_SYNCOBJ_TIMELINE.
v3: amdgpu lost DRIVER_SYNCOBJ_TIMELINE.
v4: Don't add a space in i915_drv.c (Sam)
v5: Add note that previous patches removed all the DRIVER_PRIME users
already (Emil).
v6: Fixupe ingenic (new driver) while applying.
Cc: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: amd-gfx@lists.freedesktop.org
Cc: etnaviv@lists.freedesktop.org
Cc: freedreno@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Cc: lima@lists.freedesktop.org
Cc: linux-amlogic@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-aspeed@lists.ozlabs.org
Cc: linux-renesas-soc@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-tegra@vger.kernel.org
Cc: nouveau@lists.freedesktop.org
Cc: NXP Linux Team <linux-imx@nxp.com >
Cc: spice-devel@lists.freedesktop.org
Cc: virtualization@lists.linux-foundation.org
Cc: VMware Graphics <linux-graphics-maintainer@vmware.com >
Cc: xen-devel@lists.xenproject.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190617153924.414-1-daniel.vetter@ffwll.ch
2019-06-21 17:30:32 +02:00
Thomas Gleixner
12eb90f1ed
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 262
...
Based on 1 normalized pattern(s):
this file is subject to the terms and conditions of the gnu general
public license v2 see the file copying in the main directory of this
archive for more details
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 11 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com >
Reviewed-by: Allison Randal <allison@lohutok.net >
Reviewed-by: Richard Fontana <rfontana@redhat.com >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190529141333.582369016@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-06-05 17:30:28 +02:00
Thomas Gleixner
1ccea77e2a
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
...
Based on 2 normalized pattern(s):
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version this program is distributed in the
hope that it will be useful but without any warranty without even
the implied warranty of merchantability or fitness for a particular
purpose see the gnu general public license for more details you
should have received a copy of the gnu general public license along
with this program if not see http www gnu org licenses
this program is free software you can redistribute it and or modify
it under the terms of the gnu general public license as published by
the free software foundation either version 2 of the license or at
your option any later version this program is distributed in the
hope that it will be useful but without any warranty without even
the implied warranty of merchantability or fitness for a particular
purpose see the gnu general public license for more details [based]
[from] [clk] [highbank] [c] you should have received a copy of the
gnu general public license along with this program if not see http
www gnu org licenses
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-or-later
has been chosen to replace the boilerplate/reference in 355 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org >
Reviewed-by: Jilayne Lovejoy <opensource@jilayne.com >
Reviewed-by: Steve Winslow <swinslow@gmail.com >
Reviewed-by: Allison Randal <allison@lohutok.net >
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190519154041.837383322@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-05-21 11:28:45 +02:00
Thomas Gleixner
ec8f24b7fa
treewide: Add SPDX license identifier - Makefile/Kconfig
...
Add SPDX license identifiers to all Make/Kconfig files which:
- Have no license information of any form
These files fall under the project license, GPL v2 only. The resulting SPDX
license identifier is:
GPL-2.0-only
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-05-21 10:50:46 +02:00
Dave Airlie
6ecac85ead
drm/udl: move to embedding drm device inside udl device.
...
This should help with some of the lifetime issues, and move us away
from load/unload.
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190405031715.5959-4-airlied@gmail.com
2019-04-24 13:48:45 +10:00
Dave Airlie
fd96e0dba1
drm/udl: introduce a macro to convert dev to udl.
...
This just makes it easier to later embed drm into udl.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190405031715.5959-3-airlied@gmail.com
2019-04-24 13:45:48 +10:00
Dave Airlie
f06ddb5309
BackMerge v5.1-rc5 into drm-next
...
Need rc5 for udl fix to add udl cleanups on top.
Signed-off-by: Dave Airlie <airlied@redhat.com >
2019-04-15 15:51:49 +10:00
Dave Airlie
9b39b01303
drm/udl: add a release method and delay modeset teardown
...
If we unplug a udl device, the usb callback with deinit the
mode_config struct, however userspace will still have an open
file descriptor and a framebuffer on that device. When userspace
closes the fd, we'll oops because it'll try and look stuff up
in the object idr which we've destroyed.
This punts destroying the mode objects until release time instead.
Cc: stable@vger.kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Dave Airlie <airlied@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20190405031715.5959-2-airlied@gmail.com
2019-04-08 16:20:02 +10:00
Dave Airlie
b4e4538a0a
Merge tag 'drm-misc-next-2019-03-28-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
...
drm-misc-next for 5.2:
UAPI Changes:
- Remove unused DRM_DISPLAY_INFO_LEN (Ville)
Cross-subsystem Changes:
- None
Core Changes:
- Fix compilation when CONFIG_FBDEV not selected (Daniel)
- fbdev: Make skip_vt_switch default (Daniel)
- Merge fb_helper_fill_fix, fb_helper_fill_var into fb_helper_fill_info (Daniel)
- Remove unused fields in connector, display_info, and edid_quirks (Ville)
Driver Changes:
- virtio: package function args in virtio_gpu_object_params (Gerd)
- vkms: Fix potential NULL-dereference bug (Kangjie)
Signed-off-by: Dave Airlie <airlied@redhat.com >
From: Sean Paul <sean@poorly.run >
Link: https://patchwork.freedesktop.org/patch/msgid/20190328183045.GA44823@art_vandelay
2019-03-29 14:03:01 +10:00