linux/drivers/gpu/drm
Geert Uytterhoeven 47956bc86e drm/bridge: nwl-dsi: Avoid potential multiplication overflow on 32-bit
As nwl_dsi.lanes is u32, and NSEC_PER_SEC is 1000000000L, the second
multiplication in

    dsi->lanes * 8 * NSEC_PER_SEC

will overflow on a 32-bit platform.  Fix this by making the constant
unsigned long long, forcing 64-bit arithmetic.

As iMX8 is arm64, this driver is currently used on 64-bit platforms
only, where long is 64-bit, so this cannot happen.  But the issue will
start to happen when the driver is reused for a 32-bit SoC (e.g.
i.MX7ULP), or when code is copied for a new driver.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/ebb82941a86b4e35c4fcfb1ef5a5cfad7c1fceab.1626255956.git.geert+renesas@glider.be
2021-07-25 14:15:18 +02:00
..
amd vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
arm drm/arm/komeda: Don't include drm_irq.h 2021-07-08 14:10:47 +02:00
armada drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
aspeed drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
ast drm/ast: Disable fast reset after DRAM initial 2021-07-20 11:19:57 +02:00
atmel-hlcdc drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
bridge drm/bridge: nwl-dsi: Avoid potential multiplication overflow on 32-bit 2021-07-25 14:15:18 +02:00
etnaviv drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
exynos drm/exynos: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
fsl-dcu drm: Use state helper instead of the plane state pointer 2021-02-25 08:05:28 +01:00
gma500 drm/gma500: Add the missed drm_gem_object_put() in psb_user_framebuffer_create() 2021-07-09 21:32:04 +02:00
gud drm/gud: Use framebuffer dma-buf helpers 2021-07-23 20:18:04 +02:00
hisilicon drm/hisilicon/hibmc: Remove variable 'priv' from hibmc_unload() 2021-07-23 20:06:17 +02:00
hyperv drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
i2c
i810 drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
i915 vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
imx drm/imx/dcss: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
ingenic drm/ingenic: Convert to Linux IRQ interfaces 2021-07-19 21:50:50 +01:00
kmb drm: fix semicolon.cocci warnings 2021-05-12 11:31:28 +02:00
lib
lima drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
mcde drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
mediatek drm/mediatek: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
meson drm/meson: Convert to Linux IRQ interfaces 2021-07-08 14:09:34 +02:00
mga drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
mgag200 drm/mgag200: Constify LUT for programming bpp 2021-07-05 08:55:47 +02:00
msm drm/msm: always wait for the exclusive fence 2021-07-09 12:30:37 +02:00
mxsfb drm/<driver>: drm_gem_plane_helper_prepare_fb is now the default 2021-06-24 15:35:24 +02:00
nouveau vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
omapdrm drm/omapdrm: Remove outdated comment 2021-07-15 11:24:53 +02:00
panel drm/panel: ws2401: Add driver for WideChips WS2401 2021-07-17 13:10:29 +02:00
panfrost drm/panfrost: devfreq: Don't display error for EPROBE_DEFER 2021-07-23 12:06:29 +01:00
pl111 drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
qxl drm/qxl: Convert to Linux IRQ interfaces 2021-07-15 11:16:06 +02:00
r128 drm: fix leaked dma handles after removing drm_pci_free 2021-05-26 21:18:13 +02:00
radeon vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
rcar-du drm/rcar-du: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
rockchip drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
savage drm/savage: Remove references to struct drm_device.pdev 2021-05-03 19:48:30 +02:00
scheduler drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr 2021-07-01 08:53:25 +02:00
selftests
shmobile drm/shmobile: Convert to Linux IRQ interfaces 2021-07-25 11:01:12 +02:00
sis drm/sis: Remove references to struct drm_device.pdev 2021-05-03 19:48:33 +02:00
sti drm/sti: Don't set struct drm_device.irq_enabled 2021-06-29 11:08:43 +02:00
stm drm/stm: dsi: compute the transition time from LP to HS and back 2021-07-19 15:35:55 +02:00
sun4i drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
tdfx
tegra drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
tidss drm/tidss: Don't use struct drm_device.irq_enabled 2021-06-29 15:40:52 +02:00
tilcdc drm/tilcdc: fix pixel clock setting warning message 2021-03-24 12:05:28 +02:00
tiny drm/st7586: Use framebuffer dma-buf helpers 2021-07-23 20:18:14 +02:00
ttm drm/ttm: add TTM_PL_FLAG_TEMPORARY flag v3 2021-06-23 14:59:39 -04:00
tve200 drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
udl drm/udl: Use framebuffer dma-buf helpers 2021-07-23 20:17:42 +02:00
v3d drm/v3d: Expose performance counters to userspace 2021-07-21 00:19:59 +01:00
vboxvideo drm/vbox: Convert to Linux IRQ interfaces 2021-07-15 11:16:06 +02:00
vc4 drm/vc4: hdmi: Remove drm_encoder->crtc usage 2021-07-15 11:08:25 +02:00
vgem Revert "drm/vgem: Implement mmap as GEM object function" 2021-07-13 13:15:52 +02:00
via drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
virtio drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
vkms drm/vkms: Use dma-buf mapping from shadow-plane state for composing 2021-07-13 13:36:21 +02:00
vmwgfx drm/vmwgfx: Convert to Linux IRQ interfaces 2021-07-08 14:11:43 +02:00
xen drm/tiny: drm_gem_simple_display_pipe_prepare_fb is the default 2021-06-24 15:40:11 +02:00
xlnx drm/xlnx: Don't set struct drm_device.irq_enabled 2021-06-29 15:40:53 +02:00
zte drm/zte: Don't set struct drm_device.irq_enabled 2021-06-29 15:40:53 +02:00
drm_agpsupport.c drm: Include <asm/agp.h> iff CONFIG_AGP is set 2021-05-11 14:13:33 +02:00
drm_aperture.c drm/aperture: Pass DRM driver structure instead of driver name 2021-07-01 11:11:55 +02:00
drm_atomic_helper.c drm/atomic-helper: make drm_gem_plane_helper_prepare_fb the default 2021-06-24 15:35:13 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm: drm_atomic_uapi.c: Use tabs for code indents 2021-04-22 10:46:00 +02:00
drm_atomic.c Merge drm/drm-next into drm-misc-next 2021-04-26 14:03:09 +02:00
drm_auth.c drm: protect drm_master pointers in drm_lease.c 2021-07-20 20:22:19 +02:00
drm_blend.c drm: drm_blend.c: Use tabs for code indents 2021-04-22 10:46:35 +02:00
drm_bridge_connector.c
drm_bridge.c drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable() 2021-04-20 08:56:44 -07:00
drm_bufs.c drm: fix leaked dma handles after removing drm_pci_free 2021-05-26 21:18:13 +02:00
drm_cache.c drm: Add a prefetching memcpy_from_wc 2021-06-07 16:07:08 +02:00
drm_client_modeset.c drm: replace drm_modeset_lock_all() in drm_client_modeset_dpms_legacy() 2021-02-09 17:16:57 +01:00
drm_client.c
drm_color_mgmt.c
drm_connector.c drm: avoid circular locks in drm_mode_getconnector 2021-07-20 20:13:56 +02:00
drm_context.c drm: correct function name drm_legacy_ctxbitmap_flush() 2021-05-16 22:01:14 +02:00
drm_crtc_helper_internal.h drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_crtc_helper.c
drm_crtc_internal.h
drm_crtc.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_damage_helper.c
drm_debugfs_crc.c drm/doc: document how userspace should find out CRTC index 2021-06-10 19:14:47 +02:00
drm_debugfs.c drm: avoid blocking in drm_clients_info's rcu section 2021-07-20 20:14:42 +02:00
drm_displayid.c drm/displayid: rename displayid_hdr to displayid_header 2021-03-31 15:42:39 +03:00
drm_dma.c drm: remove usage of drm_pci_alloc/free 2021-04-26 18:19:15 +02:00
drm_dp_aux_bus.c drm: Introduce the DP AUX bus 2021-06-11 12:30:39 -07:00
drm_dp_aux_dev.c drm/dp: Add backpointer to drm_device in drm_dp_aux 2021-04-27 18:43:42 -04:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c drm/dp_dual_mode: Convert drm_dp_dual_mode_helper.c to using drm_err/drm_dbg_kms() 2021-04-27 18:43:45 -04:00
drm_dp_helper.c drm/dp: For drm_panel_dp_aux_backlight(), init backlight as disabled 2021-07-15 08:03:29 -07:00
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c drm/dp_mst: Use kHz as link rate units when settig source max link caps at init 2021-05-27 15:30:59 -04:00
drm_drv.c drm: Add a prefetching memcpy_from_wc 2021-06-07 16:07:08 +02:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: use the new displayid iterator for tile info 2021-03-31 15:42:02 +03:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c drm: Add and export function drm_fb_cma_sync_non_coherent 2021-05-25 11:42:09 +01:00
drm_fb_helper.c drm/fb-helper: improve DRM fbdev emulation device names 2021-05-26 21:22:38 +02:00
drm_file.c drm: serialize drm_file.master with a new spinlock 2021-07-20 20:17:58 +02:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add blitter functions 2021-05-01 12:45:03 +02:00
drm_fourcc.c Merge tag 'amd-drm-next-5.14-2021-06-02' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-06-04 06:13:57 +10:00
drm_framebuffer.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
drm_gem_atomic_helper.c drm/gem: Export implementation of shadow-plane helpers 2021-07-13 13:30:58 +02:00
drm_gem_cma_helper.c drm: Fix misleading documentation of drm_gem_cma_create() 2021-06-01 17:27:20 +01:00
drm_gem_framebuffer_helper.c drm/gem: Provide drm_gem_fb_{begin,end}_cpu_access() helpers 2021-07-23 20:17:13 +02:00
drm_gem_shmem_helper.c drm/shmem-helper: Align to page size in dumb_create 2021-07-13 15:44:15 +02:00
drm_gem_ttm_helper.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
drm_gem_vram_helper.c drm/vram-helper: Unexport drm_vram_helper_{alloc,release}_mm() 2021-07-05 08:55:11 +02:00
drm_gem.c drm/gem: Tiny kernel clarification for drm_gem_fence_array_add 2021-06-24 14:53:42 +02:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_ioc32.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_ioctl.c drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_irq.c vgaarb: provide a vga_client_unregister wrapper 2021-07-21 10:29:00 +02:00
drm_kms_helper_common.c drm: remove drm_fb_helper_modinit 2021-02-08 12:20:38 +01:00
drm_lease.c drm: protect drm_master pointers in drm_lease.c 2021-07-20 20:22:19 +02:00
drm_legacy_misc.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_legacy.h drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_lock.c
drm_managed.c
drm_memory.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_mipi_dbi.c drm/mipi-dbi: Use framebuffer dma-buf helpers 2021-07-23 20:17:59 +02:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c Merge drm/drm-next into drm-misc-next 2021-05-11 15:59:18 +02:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm/of: free the iterator object on failure 2021-07-15 10:54:04 +01:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for OneGX1 Pro 2021-01-20 22:33:01 +01:00
drm_panel.c drm/dp: Move panel DP AUX backlight support to drm_dp_helper 2021-07-13 06:38:37 -07:00
drm_pci.c drm: Mark IRQ_BUSID ioctl as legacy 2021-05-17 21:19:48 +02:00
drm_plane_helper.c
drm_plane.c drm/modifiers: Enforce consistency between the cap an IN_FORMATS 2021-05-12 11:31:29 +02:00
drm_prime.c drm: Set vm_ops to GEM object's values during mmap 2021-01-18 10:37:26 +01:00
drm_print.c
drm_probe_helper.c drm/probe-helper: Check epoch counter in output_poll_execute() 2021-03-16 12:45:52 +01:00
drm_property.c drm: Few typo fixes 2021-03-18 14:22:50 +01:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/simple-helper: drm_gem_simple_display_pipe_prepare_fb as default 2021-06-24 15:39:46 +02:00
drm_syncobj.c dma-buf: add dma_fence_chain_alloc/free v3 2021-06-14 19:38:34 +02:00
drm_sysfs.c drm/sysfs: Convert sysfs sprintf/snprintf family to sysfs_emit 2021-03-23 07:41:39 -04:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c
drm_vblank.c drm: Don't test for IRQ support in VBLANK ioctls 2021-06-29 11:03:39 +02:00
drm_vm.c drm: Mark AGP implementation and ioctls as legacy 2021-05-10 15:46:58 +02:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm/bochs: Move to tiny/ 2021-07-05 08:54:44 +02:00
Makefile drm/bochs: Move to tiny/ 2021-07-05 08:54:44 +02:00