linux/drivers/gpu/drm
Maxime Ripard 427c4a0680
drm/vc4: crtc: Rework a bit the CRTC state code
The current CRTC state reset hook in vc4 allocates a vc4_crtc_state
structure as a drm_crtc_state, and relies on the fact that vc4_crtc_state
embeds drm_crtc_state as its first member, and therefore can be safely
cast.

However, this is pretty fragile especially since there's no check for this
in place, and we're going to need to access vc4_crtc_state member at reset
so this looks like a good occasion to make it more robust.

Fixes: 6d6e500391 ("drm/vc4: Allocate the right amount of space for boot-time CRTC state.")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200923084032.218619-1-maxime@cerno.tech
2020-09-25 16:55:47 +02:00
..
amd drm/amdgpu: Convert to using devm_drm_dev_alloc() (v2) 2020-09-21 10:44:46 +02:00
arc drm/arc: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS 2020-06-10 09:02:03 +02:00
arm Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
armada drm/armada: Don't use drm_device->dev_private 2020-09-11 10:47:19 +02:00
aspeed drm/aspeed: Use managed drmm_mode_config_cleanup 2020-09-11 10:47:19 +02:00
ast drm/ast: Enable CRTC before planes 2020-09-16 13:08:10 +02:00
atmel-hlcdc drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
bochs Linux 5.8 2020-08-11 11:58:31 +10:00
bridge drm/bridge: ps8640: Rework power state handling 2020-09-15 15:12:24 +02:00
etnaviv Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
exynos Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
fsl-dcu Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
gma500 drm/gma500: Constify static structs 2020-09-01 15:30:27 +02:00
hisilicon drm/hisilicon: Removed the dependency on the mmu 2020-08-30 20:35:55 -04:00
i2c sound updates for 5.9 2020-08-06 14:27:31 -07:00
i810 drm/i810: make i810_flush_queue() return void 2020-09-11 10:54:17 +02:00
i915 drm/i915/selftests: align more to real device lifetimes 2020-09-21 10:43:53 +02:00
imx Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
ingenic gpu/drm: ingenic: Add option to mmap GEM buffers cached 2020-09-15 01:32:26 +02:00
lib
lima Linux 5.8 2020-08-11 11:58:31 +10:00
mcde drm/mcde: Retry DSI read/write transactions 2020-08-15 12:14:18 +02:00
mediatek drm: Remove unnecessary drm_panel_attach and drm_panel_detach 2020-08-08 09:06:33 +02:00
meson treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mga
mgag200 drm/mgag200: fix spelling mistake "expeced" -> "expected" 2020-08-27 11:17:52 +02:00
msm Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
mxsfb drm: mxsfb: check framebuffer pitch 2020-09-16 11:13:27 +02:00
nouveau drm/ttm: drop special pipeline accel cleanup function. 2020-09-18 06:23:06 +10:00
omapdrm Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
panel drm/panel: s6e63m0: Add missing MODULE_LICENSE 2020-09-10 08:53:06 +02:00
panfrost drm/panfrost: add Amlogic GPU integration quirks 2020-09-21 10:13:50 +01:00
pl111 drm: pl111: Update documentation 2020-07-23 10:06:22 +02:00
qxl drm/ttm: flip tt destroy ordering. 2020-09-18 06:14:41 +10:00
r128 drm: delete drm_pci.h 2020-04-03 17:11:41 +02:00
radeon drm/ttm: drop special pipeline accel cleanup function. 2020-09-18 06:23:06 +10:00
rcar-du Merge drm/drm-next into drm-misc-next 2020-08-12 20:42:08 +02:00
rockchip drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
savage treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scheduler Merge tag 'amd-drm-next-5.10-2020-09-03' of git://people.freedesktop.org/~agd5f/linux into drm-next 2020-09-08 16:40:13 +10:00
selftests drm/mm/selftests: fix wrong return type casting 2020-06-23 15:57:30 +02:00
shmobile drm/shmobile: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS 2020-06-10 09:05:18 +02:00
sis
sti Linux 5.9-rc4 2020-09-08 14:41:40 +10:00
stm drm/stm: repair runtime power management 2020-07-08 11:47:01 +02:00
sun4i Linux 5.9-rc5 2020-09-14 17:19:11 +02:00
tdfx
tegra Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
tidss drm/tidss: implement WA for AM65xx erratum i2000 2020-08-21 15:17:05 +03:00
tilcdc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
tiny drm/mipi-dbi: Remove ->enabled 2020-06-24 09:17:34 +02:00
ttm drm/ttm: update kernel-doc line comments 2020-09-21 11:20:13 +02:00
tve200 drm/tve200: Stabilize enable/disable 2020-09-03 21:14:09 +02:00
udl drm/udl: Use GEM vmap/mmap function from SHMEM helpers 2020-06-10 10:17:21 +02:00
v3d drm/v3d: convert to use module_platform_driver 2020-08-10 15:32:00 +02:00
vboxvideo drm/vboxvideo: Use drm_gem_vram_vmap() interfaces 2020-09-14 09:12:24 +02:00
vc4 drm/vc4: crtc: Rework a bit the CRTC state code 2020-09-25 16:55:47 +02:00
vgem drm/vgem: Use devm_drm_dev_alloc 2020-09-11 10:47:19 +02:00
via treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
virtio drm/virtio: add virtio_gpu_cmd_unref_resource error handling 2020-09-15 13:30:53 +02:00
vkms drm/vkms: Use devm_drm_dev_alloc 2020-09-11 10:47:19 +02:00
vmwgfx drm/ttm: move unbind into the tt destroy. 2020-09-18 06:15:24 +10:00
xen Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
xlnx Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
zte sound updates for 5.9 2020-08-06 14:27:31 -07:00
drm_agpsupport.c
drm_atomic_helper.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_atomic_state_helper.c drm/atomic-helper: reset vblank on crtc reset 2020-07-02 20:25:51 +02:00
drm_atomic_uapi.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_atomic.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_auth.c drm/auth: make drm_{set,drop}master_ioctl symmetrical 2020-06-15 14:49:50 +01:00
drm_blend.c drm: plane: Verify that no or all planes have a zpos property 2020-05-14 02:10:52 +03:00
drm_bridge_connector.c drm/bridge_connector: Set default status connected for eDP connectors 2020-08-26 19:11:41 +02:00
drm_bridge.c drm: bridge: Pass drm_display_info to drm_bridge_funcs .mode_valid() 2020-06-23 19:53:27 +02:00
drm_bufs.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
drm_cache.c
drm_client_modeset.c drm: Nuke mode->vrefresh 2020-05-27 14:31:42 +03:00
drm_client.c drm/client: Add drm_client_framebuffer_flush() 2020-05-26 13:31:01 +02:00
drm_color_mgmt.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_connector.c drm: Replace mode->export_head with a boolean 2020-09-01 13:38:34 +03:00
drm_context.c
drm_crtc_helper_internal.h drm/probe_helper: Add drm_connector_helper_funcs.mode_valid_ctx 2020-07-13 13:29:20 -04:00
drm_crtc_helper.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_crtc_internal.h
drm_crtc.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_damage_helper.c
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-09-01 09:45:44 +02:00
drm_debugfs.c drm/debug: Expose connector VRR monitor range via debugfs 2020-06-25 15:47:14 -07:00
drm_dma.c drm: delete drm_pci.h 2020-04-03 17:11:41 +02:00
drm_dp_aux_dev.c
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c Merge tag 'topic/nouveau-i915-dp-helpers-and-cleanup-2020-08-31-1' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2020-09-09 12:27:13 +10:00
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c Merge drm/drm-next into drm-misc-next 2020-09-14 18:11:40 +02:00
drm_drv.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
drm_encoder_slave.c drm: encoder_slave: use new I2C API 2020-06-19 09:20:21 +02:00
drm_encoder.c
drm_fb_cma_helper.c drm: Fix misspellings of "Analog Devices" 2020-04-21 08:15:03 +02:00
drm_fb_helper.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_file.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add drm_fb_swab() 2020-05-26 13:33:08 +02:00
drm_fourcc.c drm: drm_fourcc: add NV15, Q410, Q401 YUV formats 2020-06-19 13:33:40 +01:00
drm_framebuffer.c gpu/drm: cleanup coding style a bit 2020-09-09 11:45:18 +02:00
drm_gem_cma_helper.c drm: core: Convert device logging to drm_* functions. 2020-07-20 09:34:24 +02:00
drm_gem_framebuffer_helper.c drm: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:31 +01:00
drm_gem_shmem_helper.c drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
drm_gem_ttm_helper.c drm/ttm: merge offset and base in ttm_bus_placement 2020-09-08 10:43:30 +02:00
drm_gem_vram_helper.c drm/ttm: flip tt destroy ordering. 2020-09-18 06:14:41 +10:00
drm_gem.c * backmerge from drm-fixes at v5.8-rc7 2020-08-11 12:00:30 +10:00
drm_hashtab.c
drm_hdcp.c drm: Fix HDCP failures when SRM fw is missing 2020-05-05 14:01:53 -04:00
drm_internal.h drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_ioc32.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_ioctl.c drm-misc-next for v5.9: 2020-06-24 15:45:51 +10:00
drm_irq.c drm: use drm_dev_has_vblank more 2020-05-29 12:58:11 +02:00
drm_kms_helper_common.c
drm_lease.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_legacy_misc.c
drm_legacy.h
drm_lock.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_managed.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_memory.c
drm_mipi_dbi.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_mipi_dsi.c drm: mipi-dsi: Convert logging to drm_* functions. 2020-07-10 20:21:45 +02:00
drm_mm.c drm/mm: cleanup and improve next_hole_*_addr() 2020-06-23 15:46:40 +02:00
drm_mode_config.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_mode_object.c drm/modeset-lock: Take the modeset BKL for legacy drivers 2020-08-17 13:41:50 -04:00
drm_modes.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for ASUS tablet model T103HAF 2020-08-04 11:45:23 +02:00
drm_panel.c drm/panel: Add helper for reading DT rotation 2020-08-16 17:12:18 +02:00
drm_pci.c drm : Insert blank lines after declarations. 2020-07-02 15:26:00 +02:00
drm_plane_helper.c
drm_plane.c Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
drm_prime.c drm: allow limiting the scatter list size. 2020-09-09 07:58:56 +02:00
drm_print.c
drm_probe_helper.c Merge tag 'drm-intel-next-2020-07-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-07-31 14:42:37 +10:00
drm_property.c
drm_rect.c
drm_scatter.c gpu/drm: remove the powerpc hack in drm_legacy_sg_alloc 2020-06-02 10:59:11 -07:00
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm/syncobj: Tune down unordered timeline DRM_ERROR 2020-08-02 15:22:31 +02:00
drm_sysfs.c drm/connector: notify userspace on hotplug after register complete 2020-06-03 10:24:23 +02:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
drm_vblank.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_vm.c drm-misc-next for v5.9: 2020-06-24 15:45:51 +10:00
drm_vma_manager.c
drm_writeback.c drm/writeback: don't set fence->ops to default 2020-05-20 20:03:45 +02:00
Kconfig drm: xlnx: DRM/KMS driver for Xilinx ZynqMP DisplayPort Subsystem 2020-07-18 02:59:16 +03:00
Makefile drm/imx: compile imx directory by default 2020-09-09 16:39:48 +02:00