drm-misc-next for v5.3, try #2:
Cross-subsystem Changes: - Fix device tree bindings in drm-misc-next after a botched merge. Core Changes: - Docbook fix for drm_hdmi_infoframe_set_hdr_metadata. Driver Changes: - mediatek: Fix compiler warning after merging the HDR series. - vc4: Rework binner bo handling. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEuXvWqAysSYEJGuVH/lWMcqZwE8MFAlznr6oACgkQ/lWMcqZw E8Mjbw//Rf2KeOyNYOpaUjzUIXjdGNKCSLG+MYbBzJLbdj6hywAi8tS6aS89d1qW CCBzPTUWFktuUVuHqIpZwNTPLndXzPvyC9v1BafKkF6Tkod1usBMaXD1266giAbC pKkJrejqeeQtYNfAQIGDzD/ndxXptw+mwK7DgRvMIQSGYuMCm+p5cG0RBtLV7Ijv fXIromzIQ+YUuOIyGRgmXW9zDUaieztovrLtIzpYALzTPZb5dqrJiuv3SKIiB4EK mlTprRqHbHpYLHHNhFrO2blfi/50+SThEHvUBP8rkMf3nu3nhQSMQrPtxJSfL71e 1nAWvIYkLY7lKid7ugFvsZL+1L0zgG6XnsqHs5/x5x/LGDK1jVCEGG/DdsXVjGFj XH8zdLBi3PrmwbKy/HHCh6QD5Iwtg4qm8Dfjjfil4XNQDI8pK8q8TaVMZETn3YRC 63JtZq8nBnrWgT57N/28apkymsHdz2QK99Yyc+GflFhhHsoNy6LhP+OqzW11rIas ANxZrF5CR8rudtoo2QeMkHcvkbIvDTQOPPuW6LXdXuqkhi91NFmgkxCCecFfpO74 QvTiBQHrlb8zqTMZJ/j6uSBTFNOXI2NxXTKUBMJ2O3FcyVqvpL+HutVPcBuIw3mM FNvCI1M9rVH1qFOZ+t1y9ceebuHPy6xYwuak6fKDwzOwJOmOMFI= =2K7c -----END PGP SIGNATURE----- Merge tag 'drm-misc-next-2019-05-24' of git://anongit.freedesktop.org/drm/drm-misc into drm-next drm-misc-next for v5.3, try #2: UAPI Changes: - Add HDR source metadata property. - Make drm.h compile on GNU/kFreeBSD by including stdint.h - Clarify how the userspace reviewer has to review new kernel UAPI. - Clarify that for using new UAPI, merging to drm-next or drm-misc-next should be enough. Cross-subsystem Changes: - video/hdmi: Add unpack function for DRM infoframes. - Device tree bindings: * Updating a property for Mali Midgard GPUs * Updating a property for STM32 DSI panel * Adding support for FriendlyELEC HD702E 800x1280 panel * Adding support for Evervision VGG804821 800x480 5.0" WVGA TFT panel * Adding support for the EDT ET035012DM6 3.5" 320x240 QVGA 24-bit RGB TFT. * Adding support for Three Five displays TFC S9700RTWV43TR-01B 800x480 panel with resistive touch found on TI's AM335X-EVM. * Adding support for EDT ETM0430G0DH6 480x272 panel. - Add OSD101T2587-53TS driver with DT bindings. - Add Samsung S6E63M0 panel driver with DT bindings. - Add VXT VL050-8048NT-C01 800x480 panel with DT bindings. - Dma-buf: - Make mmap callback actually optional. - Documentation updates. - Fix debugfs refcount inbalance. - Remove unused sync_dump function. - Fix device tree bindings in drm-misc-next after a botched merge. Core Changes: - Add support for HDR infoframes and related EDID parsing. - Remove prime sg_table caching, now done inside dma-buf. - Add shiny new drm_gem_vram helpers for simple VRAM drivers; with some fixes to the new API on top. - Small fix to job cleanup without timeout handler. - Documentation fixes to drm_fourcc. - Replace lookups of drm_format with struct drm_format_info; remove functions that become obsolete by this conversion. - Remove double include in bridge/panel.c and some drivers. - Remove drmP.h include from drm/edid and drm/dp. - Fix null pointer deref in drm_fb_helper_hotplug_event(). - Remove most members from drm_fb_helper_crtc, only mode_set is kept. - Remove race of fb helpers with userspace; only restore mode when userspace is not master. - Move legacy setup from drm_file.c to drm_legacy_misc.c - Rework scheduler job destruction. - drm/bus was removed, remove from TODO. - Add __drm_atomic_helper_crtc_reset() to subclass crtc_state, and convert some drivers to use it (conversion is not complete yet). - Bump vblank timeout wait to 100 ms for atomic. - Docbook fix for drm_hdmi_infoframe_set_hdr_metadata. Driver Changes: - sun4i: Use DRM_GEM_CMA_VMAP_DRIVER_OPS instead of definining manually. - v3d: Small cleanups, adding support for compute shaders, reservation/synchronization fixes and job management refactoring, fixes MMU and debugfs. - lima: Fix null pointer in irq handler on startup, set default timeout for scheduled jobs. - stm/ltdc: Assorted fixes and adding FB modifier support. - amdgpu: Avoid hw reset if guilty job was already signaled. - virtio: Add seqno to fences, add trace events, use correct flags for fence allocation. - Convert AST, bochs, mgag200, vboxvideo, hisilicon to the new drm_gem_vram API. - sun6i_mipi_dsi: Support DSI GENERIC_SHORT_WRITE_2 transfers. - bochs: Small fix to use PTR_RET_OR_ZERO and driver unload. - gma500: header fixes - cirrus: Remove unused files. - mediatek: Fix compiler warning after merging the HDR series. - vc4: Rework binner bo handling. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/052875a5-27ba-3832-60c2-193d950afdff@linux.intel.com
This commit is contained in:
commit
88cd7a2c1b
220 changed files with 5980 additions and 4630 deletions
|
|
@ -463,23 +463,6 @@ static struct drm_crtc_state *malidp_crtc_duplicate_state(struct drm_crtc *crtc)
|
|||
return &state->base;
|
||||
}
|
||||
|
||||
static void malidp_crtc_reset(struct drm_crtc *crtc)
|
||||
{
|
||||
struct malidp_crtc_state *state = NULL;
|
||||
|
||||
if (crtc->state) {
|
||||
state = to_malidp_crtc_state(crtc->state);
|
||||
__drm_atomic_helper_crtc_destroy_state(crtc->state);
|
||||
}
|
||||
|
||||
kfree(state);
|
||||
state = kzalloc(sizeof(*state), GFP_KERNEL);
|
||||
if (state) {
|
||||
crtc->state = &state->base;
|
||||
crtc->state->crtc = crtc;
|
||||
}
|
||||
}
|
||||
|
||||
static void malidp_crtc_destroy_state(struct drm_crtc *crtc,
|
||||
struct drm_crtc_state *state)
|
||||
{
|
||||
|
|
@ -493,6 +476,17 @@ static void malidp_crtc_destroy_state(struct drm_crtc *crtc,
|
|||
kfree(mali_state);
|
||||
}
|
||||
|
||||
static void malidp_crtc_reset(struct drm_crtc *crtc)
|
||||
{
|
||||
struct malidp_crtc_state *state =
|
||||
kzalloc(sizeof(*state), GFP_KERNEL);
|
||||
|
||||
if (crtc->state)
|
||||
malidp_crtc_destroy_state(crtc, crtc->state);
|
||||
|
||||
__drm_atomic_helper_crtc_reset(crtc, &state->base);
|
||||
}
|
||||
|
||||
static int malidp_crtc_enable_vblank(struct drm_crtc *crtc)
|
||||
{
|
||||
struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
|
||||
|
|
|
|||
|
|
@ -382,7 +382,8 @@ static void malidp500_modeset(struct malidp_hw_device *hwdev, struct videomode *
|
|||
|
||||
int malidp_format_get_bpp(u32 fmt)
|
||||
{
|
||||
int bpp = drm_format_plane_cpp(fmt, 0) * 8;
|
||||
const struct drm_format_info *info = drm_format_info(fmt);
|
||||
int bpp = info->cpp[0] * 8;
|
||||
|
||||
if (bpp == 0) {
|
||||
switch (fmt) {
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ malidp_mw_encoder_atomic_check(struct drm_encoder *encoder,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
n_planes = drm_format_num_planes(fb->format->format);
|
||||
n_planes = fb->format->num_planes;
|
||||
for (i = 0; i < n_planes; i++) {
|
||||
struct drm_gem_cma_object *obj = drm_fb_cma_get_gem_obj(fb, i);
|
||||
/* memory write buffers are never rotated */
|
||||
|
|
|
|||
|
|
@ -227,14 +227,13 @@ bool malidp_format_mod_supported(struct drm_device *drm,
|
|||
|
||||
if (modifier & AFBC_SPLIT) {
|
||||
if (!info->is_yuv) {
|
||||
if (drm_format_plane_cpp(format, 0) <= 2) {
|
||||
if (info->cpp[0] <= 2) {
|
||||
DRM_DEBUG_KMS("RGB formats <= 16bpp are not supported with SPLIT\n");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ((drm_format_horz_chroma_subsampling(format) != 1) ||
|
||||
(drm_format_vert_chroma_subsampling(format) != 1)) {
|
||||
if ((info->hsub != 1) || (info->vsub != 1)) {
|
||||
if (!(format == DRM_FORMAT_YUV420_10BIT &&
|
||||
(map->features & MALIDP_DEVICE_AFBC_YUV_420_10_SUPPORT_SPLIT))) {
|
||||
DRM_DEBUG_KMS("Formats which are sub-sampled should never be split\n");
|
||||
|
|
@ -244,8 +243,7 @@ bool malidp_format_mod_supported(struct drm_device *drm,
|
|||
}
|
||||
|
||||
if (modifier & AFBC_CBR) {
|
||||
if ((drm_format_horz_chroma_subsampling(format) == 1) ||
|
||||
(drm_format_vert_chroma_subsampling(format) == 1)) {
|
||||
if ((info->hsub == 1) || (info->vsub == 1)) {
|
||||
DRM_DEBUG_KMS("Formats which are not sub-sampled should not have CBR set\n");
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue