Hi
Am 16.03.26 um 00:31 schrieb David Lechner:
On 3/15/26 6:28 PM, David Lechner wrote:
On 3/11/26 5:10 AM, Thomas Zimmermann wrote:
Refactor the existing simple-display callbacks such that they invoke
helpers compatible with regular atomic modesetting. Allows for adding
mipi-dbi drives that do not require simple-display helpers. Provide
initializer macro for elements of the regular modesetting pipeline.
As the new helpers are DRM functions, add the drm_ prefix. Mipi-dbi
interfaces currently lack this.
static const struct drm_mode_config_helper_funcs
mipi_dbi_mode_config_helper_funcs = {
- .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm,
+ DRM_MIPI_DBI_MODE_CONFIG_HELPER_FUNCS,
};
static const struct drm_mode_config_funcs mipi_dbi_mode_config_funcs = {
- .fb_create = drm_gem_fb_create_with_dirty,
- .atomic_check = drm_atomic_helper_check,
- .atomic_commit = drm_atomic_helper_commit,
+ DRM_MIPI_DBI_MODE_CONFIG_FUNCS,
};
static const uint32_t mipi_dbi_formats[] = {
- DRM_FORMAT_RGB565,
- DRM_FORMAT_XRGB8888,
+ DRM_MIPI_DBI_PLANE_FORMATS,
};
Why adding these macros? They are only used once, so it seems like it
just makes the code harder to read (one more place you have to jump to).
Maybe this is common style in drm or something?
I should have kept reading the next patches before I hit send.
Yeah, these macros will be used extensively by the other drivers.
It would have helped if the commit message mentioned why we are doing
this and not just what we are doing.
OK.
Best regards
Thomas
/**
@@ -633,8 +707,7 @@ int mipi_dbi_dev_init_with_formats(struct mipi_dbi_dev
*dbidev,
unsigned int rotation, size_t tx_buf_size)
{
static const uint64_t modifiers[] = {
- DRM_FORMAT_MOD_LINEAR,
- DRM_FORMAT_MOD_INVALID
+ DRM_MIPI_DBI_PLANE_FORMAT_MODIFIERS,
};
struct drm_device *drm = &dbidev->drm;
int ret;
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)