linux-stable/drivers/gpu/drm
Paul Kocialkowski 411e83069e
drm/sun4i: frontend: Apply format sub-sampling to CH1 dimensions
The frontend comes with two "channels", that can be configured
independently. When used in YUV mode, the first channel (CH0) represents
the luminance component while the second channel (CH1) represents the
chrominance. In RGB mode, both have to be configured the same way.

Use variables (with the YUV terminology) for each channel's
dimensions, calculating the chroma dimensions from the luma dimensions
and the sub-sampling factors from the format description.

Since the configured size only has pixel precision, the fractional
fixed-point part of the source size is dropped for both components to
ensure that the scaling factors are accurate.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181123092515.2511-26-paul.kocialkowski@bootlin.com
2018-11-27 09:58:22 +01:00
..
amd Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
arc drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
arm drm: mali-dp: Enable Mali-DP tiled buffer formats 2018-11-02 09:57:27 +00:00
armada drm: extract drm_atomic_uapi.c 2018-09-09 14:19:18 +02:00
ast
atmel-hlcdc drm/atmel-hlcdc: Use drm_fbdev_generic_setup() 2018-11-01 15:24:22 +01:00
bochs drm/bochs: add edid support. 2018-10-30 14:42:28 +01:00
bridge drm: replace "drm_connector_unreference" with "drm_connector_put" 2018-11-24 22:12:55 +01:00
cirrus drm/cirrus: Remove set but not used variable 'bo' 2018-11-21 09:12:44 +01:00
etnaviv drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
exynos drm pull for 4.20-rc1 2018-10-28 17:49:53 -07:00
fsl-dcu drm/fsl-dcu: Use drm_fbdev_generic_setup() 2018-11-01 15:23:58 +01:00
gma500
hisilicon drm/hisilicon: Replace ttm_bo_unref with ttm_bo_put 2018-09-26 11:42:12 +08:00
i2c Merge branch 'drm-tda9950-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes 2018-10-04 10:32:14 +10:00
i810
i915 Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
imx drm/imx: fix build failure without CONFIG_DRM_FBDEV_EMULATION 2018-10-05 12:09:20 +02:00
lib
mediatek drm pull for 4.20-rc1 2018-10-28 17:49:53 -07:00
meson drm/meson: Add implicit fencing support for primary and overlay planes 2018-11-21 12:20:53 +01:00
mga
mgag200 drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-09-03 18:17:32 +02:00
msm Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
mxsfb drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
nouveau Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
omapdrm drm/omap: fix use of freed memory 2018-10-02 09:36:56 +03:00
panel drm/panel: s6d16d0: fix spelling mistake "enble" -> "enable" 2018-11-20 13:50:00 +01:00
pl111 Merge drm/drm-next into drm-misc-next 2018-09-27 02:54:54 -04:00
qxl qxl: Make sure qxl_cursor memory is pinned 2018-11-21 09:12:46 +01:00
r128
radeon dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
rcar-du drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
rockchip drm/rockchip: fix for mailbox read size 2018-11-19 14:59:50 +01:00
savage
scheduler drm/sched: fix timeout handling v2 2018-10-12 12:52:32 -05:00
selftests drm/selftests: Fix build warning -Wframe-larger-than 2018-11-02 14:25:32 +01:00
shmobile drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
sis
sti drm/sti: remove set but not used variable 'priv' 2018-11-13 12:07:18 +01:00
stm drm/stm: Use drm_fbdev_generic_setup() 2018-10-25 17:00:28 +02:00
sun4i drm/sun4i: frontend: Apply format sub-sampling to CH1 dimensions 2018-11-27 09:58:22 +01:00
tdfx
tegra drm/tegra: Changes for v4.20-rc1 2018-09-28 09:47:31 +10:00
tilcdc drm/tilcdc: Use drm_fbdev_generic_setup() 2018-11-01 15:25:41 +01:00
tinydrm drm/tinydrm: Use DRM_GEM_CMA_VMAP_DRIVER_OPS 2018-11-20 14:58:19 +01:00
ttm dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
tve200 drm: replace "drm_dev_unref" function with "drm_dev_put" 2018-11-24 22:12:54 +01:00
udl DRM: UDL: get rid of useless vblank initialization 2018-10-23 15:59:01 +02:00
v3d dma-buf: allow reserving more than one shared fence slot 2018-10-25 13:45:07 +02:00
vc4 drm/vc4: Prefer PPF over TPZ when dst >= 2/3 src 2018-11-09 15:30:45 +01:00
vgem drm/vgem: Fix typo in driver feature flags 2018-11-05 15:31:51 +00:00
via
virtio drm/virtio: add edid support 2018-11-21 12:06:59 +01:00
vkms drm/vkms: provide a parent device to drm_dev_init() 2018-10-29 11:13:40 +00:00
vmwgfx Merge drm/drm-next into drm-misc-next 2018-10-24 14:26:04 -04:00
xen
zte drm/zte: Use drm_atomic_helper_shutdown 2018-10-05 18:04:10 +02:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
drm_atomic_helper.c drm/atomic-helper: WARN if fake_commit->hw_done is not completed as expected 2018-11-23 14:46:58 +02:00
drm_atomic_state_helper.c drm: Extract drm_atomic_state_helper.[hc] 2018-10-05 18:04:09 +02:00
drm_atomic_uapi.c drm/atomic_helper: Stop modesets on unregistered connectors harder 2018-10-19 11:46:46 +03:00
drm_auth.c
drm_blend.c drm: Clarify DRM_MODE_REFLECT_X/Y documentation 2018-09-11 11:21:30 +01:00
drm_bridge.c drm: bridge: document bridge attach/detach imbalance 2018-09-13 11:28:12 +02:00
drm_bufs.c drm/bufs: Fix Spectre v1 vulnerability 2018-10-17 09:17:33 +02:00
drm_cache.c
drm_client.c drm/gem: Add drm_gem_object_funcs 2018-11-20 14:56:18 +01:00
drm_color_mgmt.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_connector.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
drm_context.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_crtc.c drm pull for 4.20-rc1 2018-10-28 17:49:53 -07:00
drm_crtc_helper.c drm: Remove transitional helpers 2018-10-05 18:04:10 +02:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: refuse ADDFB2 ioctl for broken bigendian drivers 2018-09-10 07:10:36 +02:00
drm_debugfs.c drm: Merge drm_info.c into drm_debugfs.c 2018-11-22 09:52:27 +01:00
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_cec.c drm: Do not call drm_dp_cec_set_edid() while registering DP connectors 2018-10-11 10:52:35 +02:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm: add LG eDP panel to quirk database 2018-09-19 16:44:12 +03:00
drm_dp_mst_topology.c drm/dp_mst: Deprecate drm_dp_find_vcpi_slots() 2018-10-24 15:41:57 -04:00
drm_drv.c drm: remove deprecated "drm_dev_unref" function 2018-11-24 22:12:55 +01:00
drm_dumb_buffers.c
drm_edid.c drm, i915, amdgpu, bridge + core quirk 2018-11-02 10:58:20 -07:00
drm_edid_load.c
drm_encoder.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
drm_fb_helper.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
drm_file.c
drm_flip_work.c
drm_fourcc.c drm: Introduce new DRM_FORMAT_XYUV 2018-11-20 16:20:13 +02:00
drm_framebuffer.c drm: Add macro to export functions only when CONFIG_DRM_DEBUG_SELFTEST is enabled 2018-11-02 09:58:10 +00:00
drm_gem.c drm/gem: Add drm_gem_object_funcs 2018-11-20 14:56:18 +01:00
drm_gem_cma_helper.c drm/cma-helper: Add DRM_GEM_CMA_VMAP_DRIVER_OPS 2018-11-20 14:57:25 +01:00
drm_gem_framebuffer_helper.c drm/fourcc: Add char_per_block, block_w and block_h in drm_format_info 2018-11-02 09:55:27 +00:00
drm_global.c
drm_hashtab.c
drm_internal.h drm: Merge drm_info.c into drm_debugfs.c 2018-11-22 09:52:27 +01:00
drm_ioc32.c
drm_ioctl.c drm: Return -EOPNOTSUPP in drm_setclientcap() when driver do not support KMS 2018-09-21 11:19:40 +02:00
drm_irq.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_kms_helper_common.c
drm_lease.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2018-11-13 10:59:10 +01:00
drm_legacy.h
drm_lock.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_memory.c drm: Shift * to be adjacent to pointer name 2018-10-16 14:39:25 +02:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_mode_object.c drm: Remove 80-column line in drm_mode_object.c 2018-11-01 18:54:05 +01:00
drm_modes.c drm: Convert to using %pOFn instead of device_node.name 2018-10-01 10:16:39 +02:00
drm_modeset_helper.c drm: Unexport primary plane helpers 2018-10-05 18:06:49 +02:00
drm_modeset_lock.c
drm_of.c
drm_panel.c This is the 4.19-rc6 release 2018-10-04 11:03:34 +10:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Do rotation quirk for new GPD Win2 FW 2018-11-15 10:55:30 +01:00
drm_pci.c drm/drm_pci.c: Use dma_zalloc_coherent 2018-10-23 15:59:01 +02:00
drm_plane.c drm: Add drm_any_plane_has_format() 2018-11-06 21:34:22 +02:00
drm_plane_helper.c drm: Unexport drm_plane_helper_check_update 2018-10-05 22:45:19 +02:00
drm_prime.c drm/prime: Fix drm_gem_prime_mmap() stack use 2018-11-22 15:44:05 +01:00
drm_print.c
drm_probe_helper.c
drm_property.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_rect.c
drm_scatter.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_scdc_helper.c
drm_simple_kms_helper.c drm/tinydrm: Advertise that we can do only DRM_FORMAT_MOD_LINEAR. 2018-10-30 13:01:50 -07:00
drm_syncobj.c drm/syncobj: Fix compilation following partial revert 2018-11-12 10:58:55 -05:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm: Differentiate the lack of an interface from invalid parameter 2018-09-14 17:29:47 +01:00
drm_vm.c
drm_vma_manager.c drm: Remove "protection" around drm_vma_offset_manager_destroy() 2018-09-04 19:00:32 +01:00
drm_writeback.c
Kconfig drm/fb_helper: Allow leaking fbdev smem_start 2018-10-03 21:08:21 +02:00
Makefile drm: Merge drm_info.c into drm_debugfs.c 2018-11-22 09:52:27 +01:00