linux/drivers/gpu/drm
Linus Torvalds f1947d7c8a Random number generator fixes for Linux 6.1-rc1.
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEq5lC5tSkz8NBJiCnSfxwEqXeA64FAmNHYD0ACgkQSfxwEqXe
 A655AA//dJK0PdRghqrKQsl18GOCffV5TUw5i1VbJQbI9d8anfxNjVUQiNGZi4et
 qUwZ8OqVXxYx1Z1UDgUE39PjEDSG9/cCvOpMUWqN20/+6955WlNZjwA7Fk6zjvlM
 R30fz5CIJns9RFvGT4SwKqbVLXIMvfg/wDENUN+8sxt36+VD2gGol7J2JJdngEhM
 lW+zqzi0ABqYy5so4TU2kixpKmpC08rqFvQbD1GPid+50+JsOiIqftDErt9Eg1Mg
 MqYivoFCvbAlxxxRh3+UHBd7ZpJLtp1UFEOl2Rf00OXO+ZclLCAQAsTczucIWK9M
 8LCZjb7d4lPJv9RpXFAl3R1xvfc+Uy2ga5KeXvufZtc5G3aMUKPuIU7k28ZyblVS
 XXsXEYhjTSd0tgi3d0JlValrIreSuj0z2QGT5pVcC9utuAqAqRIlosiPmgPlzXjr
 Us4jXaUhOIPKI+Musv/fqrxsTQziT0jgVA3Njlt4cuAGm/EeUbLUkMWwKXjZLTsv
 vDsBhEQFmyZqxWu4pYo534VX2mQWTaKRV1SUVVhQEHm57b00EAiZohoOvweB09SR
 4KiJapikoopmW4oAUFotUXUL1PM6yi+MXguTuc1SEYuLz/tCFtK8DJVwNpfnWZpE
 lZKvXyJnHq2Sgod/hEZq58PMvT6aNzTzSg7YzZy+VabxQGOO5mc=
 =M+mV
 -----END PGP SIGNATURE-----

Merge tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random

Pull more random number generator updates from Jason Donenfeld:
 "This time with some large scale treewide cleanups.

  The intent of this pull is to clean up the way callers fetch random
  integers. The current rules for doing this right are:

   - If you want a secure or an insecure random u64, use get_random_u64()

   - If you want a secure or an insecure random u32, use get_random_u32()

     The old function prandom_u32() has been deprecated for a while
     now and is just a wrapper around get_random_u32(). Same for
     get_random_int().

   - If you want a secure or an insecure random u16, use get_random_u16()

   - If you want a secure or an insecure random u8, use get_random_u8()

   - If you want secure or insecure random bytes, use get_random_bytes().

     The old function prandom_bytes() has been deprecated for a while
     now and has long been a wrapper around get_random_bytes()

   - If you want a non-uniform random u32, u16, or u8 bounded by a
     certain open interval maximum, use prandom_u32_max()

     I say "non-uniform", because it doesn't do any rejection sampling
     or divisions. Hence, it stays within the prandom_*() namespace, not
     the get_random_*() namespace.

     I'm currently investigating a "uniform" function for 6.2. We'll see
     what comes of that.

  By applying these rules uniformly, we get several benefits:

   - By using prandom_u32_max() with an upper-bound that the compiler
     can prove at compile-time is ≤65536 or ≤256, internally
     get_random_u16() or get_random_u8() is used, which wastes fewer
     batched random bytes, and hence has higher throughput.

   - By using prandom_u32_max() instead of %, when the upper-bound is
     not a constant, division is still avoided, because
     prandom_u32_max() uses a faster multiplication-based trick instead.

   - By using get_random_u16() or get_random_u8() in cases where the
     return value is intended to indeed be a u16 or a u8, we waste fewer
     batched random bytes, and hence have higher throughput.

  This series was originally done by hand while I was on an airplane
  without Internet. Later, Kees and I worked on retroactively figuring
  out what could be done with Coccinelle and what had to be done
  manually, and then we split things up based on that.

  So while this touches a lot of files, the actual amount of code that's
  hand fiddled is comfortably small"

* tag 'random-6.1-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
  prandom: remove unused functions
  treewide: use get_random_bytes() when possible
  treewide: use get_random_u32() when possible
  treewide: use get_random_{u8,u16}() when possible, part 2
  treewide: use get_random_{u8,u16}() when possible, part 1
  treewide: use prandom_u32_max() when possible, part 2
  treewide: use prandom_u32_max() when possible, part 1
2022-10-16 15:27:07 -07:00
..
amd - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
arm drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
armada drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
aspeed drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
ast drm/ast: make ast_modeset static 2022-09-26 09:11:47 +02:00
atmel-hlcdc drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
bridge drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
display Driver core changes for 6.1-rc1 2022-10-07 17:04:10 -07:00
etnaviv Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next 2022-05-17 12:20:04 +10:00
exynos IOMMU Updates for Linux v6.1: 2022-10-10 13:20:53 -07:00
fsl-dcu drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
gma500 drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
gud drm/format-helper: Rework XRGB8888-to-GRAY8 conversion 2022-08-10 09:18:49 +02:00
hisilicon drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
hyperv hyperv-next for 6.1 2022-10-10 13:59:01 -07:00
i2c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
i810
i915 Random number generator fixes for Linux 6.1-rc1. 2022-10-16 15:27:07 -07:00
imx drm-misc-next for v6.1: 2022-09-06 10:56:04 +02:00
ingenic drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
kmb drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
lib
lima drm/lima: Migrate to dev_pm_opp_set_config() 2022-07-08 11:27:33 +05:30
logicvc drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
mcde drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
mediatek drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
meson drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
mga
mgag200 drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
msm drm/msm: Fix build break with recent mm tree 2022-09-30 10:13:49 +10:00
mxsfb drm/lcdif: switch to devm_drm_of_get_bridge 2022-08-22 16:53:31 +02:00
nouveau - Alistair Popple has a series which addresses a race which causes page 2022-10-14 12:28:43 -07:00
omapdrm drm/omap: dmm_tiler:Remove the print function dev_err() 2022-09-09 16:23:21 +03:00
panel drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
panfrost drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
pl111 drm:pl111: Add of_node_put() when breaking out of for_each_available_child_of_node() 2022-08-11 18:13:31 +02:00
qxl drm/qxl: drop set_prod_notify parameter from qxl_ring_create 2022-09-23 13:16:37 +02:00
r128 drm/r128: Fix undefined behavior due to shift overflowing the constant 2022-05-21 18:02:47 +02:00
radeon platform-drivers-x86 for v6.1-1 2022-10-05 10:38:24 -07:00
rcar-du drm: rcar-du: dsi: Fix VCLKSET write 2022-09-07 23:48:42 +03:00
rockchip drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
savage
scheduler Revert "drm/sched: Use parent fence instead of finished" 2022-10-07 12:58:39 +10:00
shmobile drm/plane: Remove drm_plane_init() 2022-09-20 09:37:12 +02:00
sis drm/sis: use idr_init_base() to initialize dev_priv->object_idr 2022-07-28 15:35:56 +01:00
solomon drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
sprd drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
sti drm-misc-next for v6.1: 2022-09-06 10:56:04 +02:00
stm drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
sun4i Merge tag 'drm-misc-next-2022-09-09' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2022-09-11 22:03:07 +10:00
tdfx
tegra drm/fb: rename FB CMA helpers to FB DMA helpers 2022-08-03 18:30:55 +02:00
tests treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
tidss drm/tidss: fix repeated words in comments 2022-09-09 16:23:26 +03:00
tilcdc drm/plane: Remove drm_plane_init() 2022-09-20 09:37:12 +02:00
tiny drm/simpledrm: Synchronize access to GEM BOs 2022-09-27 10:27:00 +02:00
ttm drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
tve200 drm/tve200: Fix smatch warning 2022-08-26 14:22:59 +02:00
udl drm/udl: Sync pending URBs at the end of suspend 2022-09-10 21:45:53 +02:00
v3d drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
vboxvideo drm/vboxvideo: fix repeated words in comments 2022-09-17 15:01:24 +02:00
vc4 Merge drm/drm-next into drm-misc-next 2022-09-14 12:22:18 +01:00
vgem
via drm/via: Add new condition to via_dma_cleanup() 2022-09-07 07:01:16 +02:00
virtio virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() 2022-09-23 13:16:37 +02:00
vkms Merge drm/drm-next into drm-misc-next 2022-09-14 12:22:18 +01:00
vmwgfx drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() 2022-09-21 12:15:15 -04:00
xen Linux 5.19-rc6 2022-07-13 10:54:56 +10:00
xlnx drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
drm_agpsupport.c
drm_aperture.c drm/aperture: Fix some kerneldoc comments 2022-09-12 09:34:07 +02:00
drm_atomic_helper.c drm/atomic-helper: Fix kernel-doc 2022-09-20 09:24:35 +02:00
drm_atomic_state_helper.c drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_atomic_uapi.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_atomic.c drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_auth.c drm: use idr_init_base() to initialize master->lessee_idr 2022-07-28 15:35:55 +01:00
drm_blend.c drm/doc: Fix comment typo 2022-06-28 07:56:32 +02:00
drm_bridge_connector.c drm: Config orientation property if panel provides it 2022-06-21 08:52:59 -07:00
drm_bridge.c drm/bridge: Avoid uninitialized variable warning 2022-07-08 13:41:28 +02:00
drm_buddy.c
drm_bufs.c
drm_cache.c
drm_client_modeset.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_client.c drm/client: Use actual bpp when allocating frame buffers 2022-07-09 15:00:52 +02:00
drm_color_mgmt.c drm: fix whitespace in drm_plane_create_color_properties() 2022-08-04 15:24:46 +02:00
drm_connector.c drm/connector: Introduce drmm_connector_init 2022-07-13 10:46:06 +02:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c Driver core changes for 6.1-rc1 2022-10-07 17:04:10 -07:00
drm_crtc_internal.h drm/edid: abstract debugfs override EDID set/reset 2022-06-30 10:50:59 +03:00
drm_crtc.c drm/crtc: Introduce drmm_crtc_init_with_planes 2022-07-13 10:46:05 +02:00
drm_damage_helper.c drm: Use original src rect while initializing damage iterator 2022-09-13 14:38:33 +03:00
drm_debugfs_crc.c
drm_debugfs.c drm/edid: Handle EDID 1.4 range descriptor h/vfreq offsets 2022-09-02 16:38:51 +03:00
drm_displayid.c drm/displayid: convert to drm_edid 2022-05-13 18:55:13 +03:00
drm_dma.c
drm_drv.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
drm_encoder_slave.c
drm_encoder.c drm/encoder: Introduce drmm_encoder_init 2022-07-13 10:46:05 +02:00
drm_fb_dma_helper.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
drm_fb_helper.c drm/fb-helper: Add support for DRM_FORMAT_C[124] 2022-07-09 15:07:09 +02:00
drm_file.c drm-misc-next for v6.1: 2022-09-06 10:56:04 +02:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_xrgb2101010() 2022-09-27 19:41:51 +02:00
drm_fourcc.c drm/fourcc: Add DRM_FORMAT_D[1248] 2022-07-09 15:36:07 +02:00
drm_framebuffer.c drm/framebuffer: convert to drm_dbg_kms() 2022-09-28 10:43:30 +02:00
drm_gem_atomic_helper.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_gem_dma_helper.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
drm_gem_framebuffer_helper.c drm/gem-fb-helper: Use actual bpp for size calculations 2022-07-09 15:08:16 +02:00
drm_gem_shmem_helper.c drm-misc-next for v6.1: 2022-09-06 10:56:04 +02:00
drm_gem_ttm_helper.c drm/ttm: fix locking in vmap/vunmap TTM GEM helpers 2022-07-18 09:18:53 +02:00
drm_gem_vram_helper.c drm/ttm: rename and cleanup ttm_bo_init 2022-07-11 10:53:13 +02:00
drm_gem.c drm pull for 6.1-rc1 2022-10-05 11:24:12 -07:00
drm_hashtab.c
drm_internal.h drm/gem: Fix GEM handle release errors 2022-08-19 13:38:12 +02:00
drm_ioc32.c
drm_ioctl.c drm: Prevent drm_copy_field() to attempt copying a NULL pointer 2022-07-15 10:25:36 +02:00
drm_irq.c
drm_kms_helper_common.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_managed.c drm: Add DRM-managed mutex_init() 2022-05-05 09:04:10 +02:00
drm_memory.c
drm_mipi_dbi.c drm/probe-helper: Add drm_crtc_helper_mode_valid_fixed() 2022-09-12 09:14:26 +02:00
drm_mipi_dsi.c drm/mipi-dsi: Detach devices when removing the host 2022-07-13 10:46:05 +02:00
drm_mm.c
drm_mode_config.c drm: hide unregistered connectors from GETCONNECTOR IOCTL 2022-09-05 12:59:53 +02:00
drm_mode_object.c
drm_modes.c drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
drm_modeset_helper.c drm/plane-helper: Provide DRM_PLANE_NON_ATOMIC_FUNCS initializer macro 2022-09-20 09:42:31 +02:00
drm_modeset_lock.c
drm_nomodeset.c
drm_of.c drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add quirk for Aya Neo Air 2022-09-17 19:58:32 +02:00
drm_panel.c
drm_pci.c
drm_plane_helper.c drm/plane-helper: Warn if atomic drivers call non-atomic helpers 2022-09-20 09:42:31 +02:00
drm_plane.c drm/plane: Allocate planes with drm_universal_plane_alloc() 2022-09-20 09:41:06 +02:00
drm_prime.c drm/gem: Fix GEM handle release errors 2022-08-19 13:38:12 +02:00
drm_print.c drm_print: add _ddebug descriptor to drm_*dbg prototypes 2022-09-24 15:02:02 +02:00
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm/probe-helper: Add drm_crtc_helper_mode_valid_fixed() 2022-09-12 09:14:26 +02:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/atomic-helper: Remove _HELPER_ infix from DRM_PLANE_HELPER_NO_SCALING 2022-07-26 18:42:00 +02:00
drm_syncobj.c drm/syncobj: add missing error return code in drm_syncobj_transfer_to_timeline() 2022-06-13 08:54:16 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank_work.c
drm_vblank.c
drm_vm.c LoongArch: Add writecombine support for drm 2022-06-03 20:09:27 +08:00
drm_vma_manager.c
drm_writeback.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
Kconfig Driver core changes for 6.1-rc1 2022-10-07 17:04:10 -07:00
Makefile Driver core changes for 6.1-rc1 2022-10-07 17:04:10 -07:00