Noralf Trønnes
3db8d37dd8
drm/tinydrm: Use DRM_GEM_CMA_VMAP_DRIVER_OPS
...
The CMA helper now has the functionality to ensure a virtual address on
imported buffer so use that.
While touching all tinydrm drivers, remove the unnecessary inclusion of
drm_fb_helper.h in some drivers.
Cc: David Lechner <david@lechnology.com >
Cc: Eric Anholt <eric@anholt.net >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Link: https://patchwork.freedesktop.org/patch/msgid/20181110145647.17580-6-noralf@tronnes.org
2018-11-20 14:58:19 +01:00
Noralf Trønnes
5685ca0ca2
drm/tinydrm: Fix doc build warnings
...
include/drm/tinydrm/tinydrm.h:34: warning: Function parameter or member 'fb_dirty' not described in 'tinydrm_device'
drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'crtc_state' not described in 'mipi_dbi_enable_flush'
drivers/gpu/drm/tinydrm/mipi-dbi.c:272: warning: Function parameter or member 'plane_state' not described in 'mipi_dbi_enable_flush'
Move struct member docs inline so it's not missed next time.
Cc: David Lechner <david@lechnology.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180710150518.10528-1-noralf@tronnes.org
2018-07-11 22:24:02 +02:00
Daniel Vetter
ccc3b2b348
drm: Move simple_display_pipe prepare_fb helper into gem fb helpers
...
There's nothing tinydrm specific to this, and there's a few more
copies of the same in various other drivers.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: Gustavo Padovan <gustavo@padovan.org >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Sean Paul <seanpaul@chromium.org >
Cc: David Airlie <airlied@linux.ie >
Cc: David Lechner <david@lechnology.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Daniel Stone <daniels@collabora.com >
Cc: Haneen Mohammed <hamohammed.sa@gmail.com >
Cc: Ben Widawsky <ben@bwidawsk.net >
Cc: "Ville Syrjälä" <ville.syrjala@linux.intel.com >
Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com >
Acked-by: David Lechner <david@lechnology.com >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20180405154449.23038-3-daniel.vetter@ffwll.ch
2018-04-24 13:57:22 +02:00
Ville Syrjälä
e85d30060e
drm/tinydrm: Make fb_dirty into a lower level hook
...
mipi_dbi_enable_flush() wants to call the fb->dirty() hook from the
bowels of the .atomic_enable() hook. That prevents us from taking the
plane mutex in fb->dirty() unless we also plumb down the acquire
context.
Instead it seems simpler to split the fb->dirty() into a tinydrm
specific lower level hook that can be called from
mipi_dbi_enable_flush() and from a generic higher level
tinydrm_fb_dirty() helper. As we don't have a tinydrm specific
vfuncs table we'll just stick it into tinydrm_device directly
for now.
v2: Deal with the fb->dirty() in tinydrm_display_pipe_update() as well (Noralf)
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Cc: David Lechner <david@lechnology.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20180323153509.15287-1-ville.syrjala@linux.intel.com
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Tested-by: Noralf Trønnes <noralf@tronnes.org >
2018-03-28 19:19:32 +03:00
Daniel Vetter
a7d2a87e99
drm/tinydrm: Use gem_free_object_unlocked
...
tinydrm doesn't use dev->struct_mutex and therefore has no need to use
gem_free_object.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Cc: "Noralf Trønnes" <noralf@tronnes.org >
Acked-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20180322105133.11211-2-daniel.vetter@ffwll.ch
2018-03-27 10:19:42 +02:00
Meghana Madhyastha
d1a2e7004b
drm/tinydrm: Replace tinydrm_of_find_backlight with of_find_backlight
...
Remove tinydrm_of_find_backlight from tinydrm-helpers.c. We now have
a generic of_find_backlight defined in backlight.c. Let the callers
of tinydrm_of_find_backlight call of_find_backlight. Also, remove
select BACKLIGHT_LCD_SUPPORT and select BACKLIGHT_CLASS_DEVICE from
tinydrm/Kconfig as it is a hack that is no longer needed.
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Meghana Madhyastha <meghana.madhyastha@gmail.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/11dd1cabd098a730d07ab04c5987b139d14d8b21.1516810725.git.meghana.madhyastha@gmail.com
2018-02-20 11:07:22 -05:00
Meghana Madhyastha
414147e8a3
drm/tinydrm: Convert tinydrm_enable/disable_backlight to backlight_enable/disable
...
Remove tinydrm_enable/disable_backlight and let the callers call the
more generic backlight_enable/disable helpers
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Sean Paul <seanpaul@chromium.org >
Signed-off-by: Meghana Madhyastha <meghana.madhyastha@gmail.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: https://patchwork.freedesktop.org/patch/msgid/ec700724e47814e6426966e093bd32b2364ba147.1516810725.git.meghana.madhyastha@gmail.com
2018-02-20 11:07:22 -05:00
Noralf Trønnes
f730eceb42
drm/tinydrm/mi0283qt: Let the display pipe handle power
...
It's better to leave power handling and controller init to the
modesetting machinery using the simple pipe .enable and .disable
callbacks. Remove unused mipi_dbi_pipe_enable().
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180110185940.53841-6-noralf@tronnes.org
2018-01-15 15:16:06 +01:00
Noralf Trønnes
070ab1283a
drm/tinydrm/mipi-dbi: Add poweron-reset functions
...
Split out common poweron-reset functionality.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Tested-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180110185940.53841-5-noralf@tronnes.org
2018-01-15 15:13:47 +01:00
Noralf Trønnes
22edc8d38b
drm/tinydrm/mipi-dbi: Add mipi_dbi_enable_flush()
...
Add and use a function for enabling, flushing and turning on backlight.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180110185940.53841-4-noralf@tronnes.org
2018-01-15 15:10:28 +01:00
Noralf Trønnes
24e05e7a82
drm/tinydrm/mi0283qt: Remove ili9341.h
...
No need for a public header file for the command macros.
Just include the necessary ones in the driver.
Also use the MIPI_DCS_PIXEL_FMT_16BIT macro.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: David Lechner <david@lechnology.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20180110185940.53841-3-noralf@tronnes.org
2018-01-15 15:08:50 +01:00
Noralf Trønnes
d3820952ea
drm/tinydrm: Use drm_fb_cma_fbdev_init_with_funcs/fini()
...
Use drm_fb_cma_fbdev_init_with_funcs() and drm_fb_cma_fbdev_fini() which
relies on the fact that drm_device holds a pointer to the drm_fb_helper
structure. This means that the driver doesn't have to keep track of that.
Also use the drm_fb_helper functions directly.
Remove todo entry.
Cc: David Lechner <david@lechnology.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: David Lechner <david@lechnology.com >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Tested-by: David Lechner <david@lechnolgy.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20171208193743.34450-11-noralf@tronnes.org
2017-12-10 15:37:07 +01:00
David Lechner
13deee8111
drm/tinydrm: export mipi_dbi_buf_copy and mipi_dbi_spi_cmd_max_speed
...
This exports the mipi_dbi_buf_copy() and mipi_dbi_spi_cmd_max_speed()
functions so that they can be shared with other drivers.
Signed-off-by: David Lechner <david@lechnology.com >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1511122328-31133-4-git-send-email-david@lechnology.com
2017-12-01 14:07:16 +01:00
Noralf Trønnes
6e8e9a01ec
drm/tinydrm: Use drm_mode_config_helper_suspend/resume()
...
Replace driver's code with the generic helpers that do the same thing.
Remove todo entry.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Stefan Agner <stefan@agner.ch >
Link: https://patchwork.freedesktop.org/patch/msgid/20171106191812.38927-6-noralf@tronnes.org
2017-11-30 18:19:15 +01:00
Noralf Trønnes
beed8313be
drm/tinydrm: Use drm_gem_cma_print_info()
...
There is a new core debugfs file that prints fb/gem info:
<debugfs>/dri/<n>/framebuffer
Use drm_gem_cma_print_info() to provide info to that output instead
of using drm_fb_cma_debugfs_show().
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20171107191348.17555-12-noralf@tronnes.org
2017-11-11 11:24:44 +01:00
David Lechner
8941a7cbcc
drm/tinydrm: Generalize tinydrm_xrgb8888_to_gray8()
...
This adds parameters for vaddr and clip to tinydrm_xrgb8888_to_gray8() to
make it more generic.
dma_buf_{begin,end}_cpu_access() are moved out to the repaper driver.
Return type is change to void to simplify error handling by callers.
Signed-off-by: David Lechner <david@lechnology.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1502127581-10517-2-git-send-email-david@lechnology.com
2017-08-09 17:55:50 +02:00
David Lechner
ace988123c
drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init()
...
This removes the call to mipi_dbi_init() from mipi_dbi_spi_init() so that
drivers can have a driver-specific implementation if needed.
Suggested-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: David Lechner <david@lechnology.com >
Reviewed-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: https://patchwork.freedesktop.org/patch/msgid/1501799630-1650-2-git-send-email-david@lechnology.com
2017-08-04 15:12:25 +02:00
Noralf Trønnes
8810419bdd
drm/tinydrm: Use .dumb_map_offset and .dumb_destroy defaults
...
tinydrm can use the drm_driver.dumb_destroy and
drm_driver.dumb_map_offset defaults, so no need to set them.
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-22-git-send-email-noralf@tronnes.org
2017-07-29 13:59:45 +02:00
Noralf Trønnes
379ea9a1a5
drm/tinydrm: Add tinydrm_xrgb8888_to_gray8() helper
...
Drm has no monochrome or greyscale support so add a conversion
from the common format XR24.
Also reorder includes into the common order.
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1496934875-51984-4-git-send-email-noralf@tronnes.org
2017-07-14 19:29:59 +02:00
Noralf Trønnes
79b85d2b7e
drm/tinydrm: Fix drm_driver.fops.owner
...
drm_driver.fops can't be shared since the owner then becomes tinydrm.ko.
Move the fops declaration to the driver.
v2: Use DEFINE_DRM_GEM_CMA_FOPS
Reported-by: Daniel Vetter <daniel.vetter@intel.com >
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/20170326142529.16938-1-noralf@tronnes.org
2017-03-27 08:41:35 +02:00
Noralf Trønnes
7fef80a4b9
drm/tinydrm: helpers: Properly fix backlight dependency
...
BACKLIGHT_CLASS_DEVICE was selected in the last version of the
tinydrm patchset to fix the backlight dependency, but the
ifdef CONFIG_BACKLIGHT_CLASS_DEVICE was forgotten. Fix that.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Signed-off-by: Dave Airlie <airlied@redhat.com >
2017-02-24 12:09:00 +10:00
Noralf Trønnes
1f47e6cbf5
drm/tinydrm: Add support for Multi-Inno MI0283QT display
...
Add driver to support the Multi-Inno MI0283QT display panel.
It has an ILI9341 MIPI DBI compatible display controller.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Thierry Reding <treding@nvidia.com >
2017-02-18 18:05:02 +01:00
Noralf Trønnes
02dd95fe31
drm/tinydrm: Add MIPI DBI support
...
Add support for MIPI DBI compatible controllers.
Interface type C option 1 and 3 are supported (SPI).
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Thierry Reding <treding@nvidia.com >
2017-02-18 18:04:59 +01:00
Noralf Trønnes
9f69eb5c36
drm/tinydrm: Add helper functions
...
Add common functionality needed by many tinydrm drivers.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Thierry Reding <treding@nvidia.com >
2017-02-18 18:04:59 +01:00
Noralf Trønnes
fa201ac2c6
drm: Add DRM support for tiny LCD displays
...
tinydrm provides helpers for very simple displays that can use
CMA backed framebuffers and need flushing on changes.
Signed-off-by: Noralf Trønnes <noralf@tronnes.org >
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Acked-by: Thierry Reding <treding@nvidia.com >
2017-02-18 18:04:58 +01:00