Daniel Vetter
b0548a245d
drm/cirrus: Move to drm/tiny
...
Because it is. Huge congrats to everyone who made this kind of
refactoring happen!
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
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: Gerd Hoffmann <kraxel@redhat.com >
Cc: virtualization@lists.linux-foundation.org
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-38-daniel.vetter@ffwll.ch
2020-04-28 16:05:15 +02:00
Daniel Vetter
7ced4801d2
drm/gm12u320: Don't use drm_device->dev_private
...
Upcasting using a container_of macro is more typesafe, faster and
easier for the compiler to optimize.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-23-daniel.vetter@ffwll.ch
2020-04-28 15:55:19 +02:00
Daniel Vetter
9213142d6b
drm/gm12u320: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-22-daniel.vetter@ffwll.ch
2020-04-28 15:54:38 +02:00
Daniel Vetter
f3eb15bb79
drm/hx8357d: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: Eric Anholt <eric@anholt.net >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-21-daniel.vetter@ffwll.ch
2020-04-28 15:48:26 +02:00
Daniel Vetter
4c99859f3b
drm/ili9225: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: David Lechner <david@lechnology.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-20-daniel.vetter@ffwll.ch
2020-04-28 15:48:20 +02:00
Daniel Vetter
5301e305c6
drm/ili9341: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: David Lechner <david@lechnology.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Eric Anholt <eric@anholt.net >
Cc: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-19-daniel.vetter@ffwll.ch
2020-04-28 15:48:14 +02:00
Daniel Vetter
3d49ea2294
drm/ili9486: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-18-daniel.vetter@ffwll.ch
2020-04-28 15:48:07 +02:00
Daniel Vetter
35d8ef4ba2
drm/mi0283qt: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-17-daniel.vetter@ffwll.ch
2020-04-28 15:48:00 +02:00
Daniel Vetter
98904f3d2d
drm/repaper: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-16-daniel.vetter@ffwll.ch
2020-04-28 15:47:54 +02:00
Daniel Vetter
e20b873802
drm/st7586: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Acked-by: David Lechner <david@lechnology.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-15-daniel.vetter@ffwll.ch
2020-04-28 15:44:10 +02:00
Daniel Vetter
14877bc715
drm/st7735r: Use devm_drm_dev_alloc
...
Already using devm_drm_dev_init, so very simple replacment.
Aside: There was an oddity in the old code, we allocated priv but in
the error path we've freed priv->dbidev ...
Acked-by: David Lechner <david@lechnology.com >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-14-daniel.vetter@ffwll.ch
2020-04-28 15:44:05 +02:00
Daniel Vetter
3421a6c409
drm/mipi-dbi: Drop explicit drm_mode_config_cleanup call
...
Allows us to drop the drm_driver.release callback from all
drivers, and remove the mipi_dbi_release() function.
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)
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 >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org > (v2)
Tested-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Eric Anholt <eric@anholt.net >
Cc: David Lechner <david@lechnology.com >
Cc: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-49-daniel.vetter@ffwll.ch
2020-03-26 16:09:10 +01:00
Daniel Vetter
53bdebf7fe
drm/mipi-dbi: Move drm_mode_config_init into mipi library
...
7/7 drivers agree that's the right choice, let's do this.
This avoids duplicating the same old error checking code over all 7
drivers, which is the motivation here.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Tested-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Eric Anholt <eric@anholt.net >
Cc: David Lechner <david@lechnology.com >
Cc: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-48-daniel.vetter@ffwll.ch
2020-03-26 16:09:03 +01:00
Daniel Vetter
be9f2b0348
drm/repaper: Drop explicit drm_mode_config_cleanup call
...
Allows us to drop the drm_driver.release callback.
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)
I also noticed that I've failed to add the error checking,
__must_check caught that.
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org > (v2)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-47-daniel.vetter@ffwll.ch
2020-03-26 16:08:57 +01:00
Daniel Vetter
8f2cb9379f
drm/gm12u320: Simplify upload work
...
Instead of having a work item that never stops (which really should be
a kthread), with a dedicated workqueue to not upset anyone else, use a
delayed work. A bunch of changes:
- We can throw out all the custom wakeup and requeue logic and state
tracking. If we schedule the work with a 0 delay it'll get
scheduled immediately.
- Persistent state (frame & draw_status_timeout) need to be moved out
of the work.
- diff is bigger than the changes, biggest chunk is reindenting the
work fn because it lost its while loop.
Lots of code deleting as consequence all over. Specifically we can
delete the drm_driver.release code now!
v2: Review from Hans:
- Use mod_delayed_work in the plane update path to make sure we do
actually schedule immediately). In the worker we still want
queue_delayed_work, which won't modify the timeout when the work is
already scheduled. Which is exactly what we want if the work races
with a plane update.
- Switch to system_long_wq, Hans says on usb2 a plane upload can take
80 ms.
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-46-daniel.vetter@ffwll.ch
2020-03-26 16:08:52 +01:00
Daniel Vetter
7ef64ed121
drm/gm12u320: Use helpers for shutdown/suspend/resume
...
Also there's a race in the disconnect implemenation. First shut
down, then unplug, leaves a window where userspace could sneak
in and restart the entire machinery.
With this we can also delete the very un-atomic global pipe_enabled
tracking.
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-45-daniel.vetter@ffwll.ch
2020-03-26 16:08:47 +01:00
Daniel Vetter
993f5b193d
drm/gm12u320: Use devm_drm_dev_init
...
Only drops the drm_dev_put, but hey a few lines!
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-44-daniel.vetter@ffwll.ch
2020-03-26 16:08:42 +01:00
Daniel Vetter
08373edcb9
drm/gm12u320: More drmm_
...
The drm_mode_config_cleanup call we can drop, and all the allocations
we can switch over to drmm_kzalloc. Unfortunately the work queue is
still present, so can't get rid of the drm_driver->release function
outright.
v2: Use drmm_mode_config_init() for more clarity (Sam, Thomas)
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Reviewed-by: Hans de Goede <hdegoede@redhat.com > (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-43-daniel.vetter@ffwll.ch
2020-03-26 16:08:36 +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
b6731025a5
drm/gm12u320: Use drmm_add_final_kfree
...
With this we can drop the final kfree from the release function.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-18-daniel.vetter@ffwll.ch
2020-03-26 15:26:52 +01:00
Daniel Vetter
144a29fdac
drm/repaper: Use drmm_add_final_kfree
...
With this we can drop the final kfree from the release function.
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-16-daniel.vetter@ffwll.ch
2020-03-26 15:26:51 +01:00
Daniel Vetter
f5ad671b29
drm/mipi_dbi: Use drmm_add_final_kfree in all drivers
...
They all share mipi_dbi_release so we need to switch them all
together. With this we can drop the final kfree from the release
function.
Aside, I think we could perhaps have a tiny additional helper for
these mipi_dbi drivers, the first few lines around devm_drm_dev_init
are all the same (except for the drm_driver pointer).
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Tested-by: Noralf Trønnes <noralf@tronnes.org >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Eric Anholt <eric@anholt.net >
Cc: David Lechner <david@lechnology.com >
Cc: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200323144950.3018436-6-daniel.vetter@ffwll.ch
2020-03-26 14:49:51 +01:00
Kamlesh Gurudasani
fdcf7bb69b
drm/tiny: fix sparse warning: incorrect type in assignment (different base types)
...
This fixes the following sparse warning:
drivers/gpu/drm/tiny/ili9486.c:61:16: sparse: sparse: incorrect type in assignment (different base types)
drivers/gpu/drm/tiny/ili9486.c:61:16: sparse: expected unsigned short [usertype]
drivers/gpu/drm/tiny/ili9486.c:61:16: sparse: got restricted __be16 [usertype]
drivers/gpu/drm/tiny/ili9486.c:71:32: sparse: sparse: incorrect type in assignment (different base types)
drivers/gpu/drm/tiny/ili9486.c:71:32: sparse: expected unsigned short [usertype]
drivers/gpu/drm/tiny/ili9486.c:71:32: sparse: got restricted __be16 [usertype]
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Kamlesh Gurudasani <kamlesh.gurudasani@gmail.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1583684084-4694-1-git-send-email-kamlesh.gurudasani@gmail.com
2020-03-14 08:31:30 +01:00
Andy Shevchenko
1525c20cff
drm/tiny/st7735r: No need to set ->owner for spi_register_driver()
...
The spi_register_driver() will set the ->owner member to THIS_MODULE.
Cc: Noralf Trønnes <noralf@tronnes.org >
Cc: dri-devel@lists.freedesktop.org
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Reviewed-by: David Lechner <david@lechnology.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200131204923.48928-4-andriy.shevchenko@linux.intel.com
2020-02-10 02:54:47 +01:00
Andy Shevchenko
5703d6ae95
drm/tiny/st7735r: Make driver OF-independent
...
There is one OF call in the driver that limits its area of use.
Replace it to generic device_get_match_data() and get rid of OF dependency.
Cc: Noralf Trønnes <noralf@tronnes.org >
Cc: dri-devel@lists.freedesktop.org
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: Sam Ravnborg <sam@ravnborg.org >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Acked-by: David Lechner <david@lechnology.com >
Signed-off-by: Sam Ravnborg <sam@ravnborg.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20200131204923.48928-3-andriy.shevchenko@linux.intel.com
2020-02-10 02:54:47 +01:00