Skip to content
Commit 59055851 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

fbdev: Put mmap for deferred I/O into drivers



The fbdev mmap function fb_mmap() unconditionally overrides the
driver's implementation if deferred I/O has been activated. This
makes it hard to implement mmap with anything but a vmalloc()'ed
software buffer. That is specifically a problem for DRM, where
video memory is maintained by a memory manager.

Leave the mmap handling to drivers and expect them to call the
helper for deferred I/O by thmeselves.

v4:
	* unlock mm_lock in fb_mmap() error path (Dan)
v3:
	* fix warning if fb_mmap is missing (kernel test robot)
v2:
	* print a helpful error message if the defio setup is
	  incorrect (Javier)

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220429100834.18898-2-tzimmermann@suse.de
parent 594e9c04
  • mirror @mirror

    mentioned in commit 0dad8f4a

    ·

    mentioned in commit 0dad8f4a

    Toggle commit list
  • mirror @mirror

    mentioned in commit 700b720170776b77c59e11b74f5c87b0ff5df080

    ·

    mentioned in commit 700b720170776b77c59e11b74f5c87b0ff5df080

    Toggle commit list
  • mirror @mirror

    mentioned in commit af177c1f088be4f87b03626b14717850cc1e5237

    ·

    mentioned in commit af177c1f088be4f87b03626b14717850cc1e5237

    Toggle commit list
  • mirror @mirror

    mentioned in commit 0074c86ad279d840f2df7d36d89971ef41693969

    ·

    mentioned in commit 0074c86ad279d840f2df7d36d89971ef41693969

    Toggle commit list
  • mirror @mirror

    mentioned in commit 298cd01d1a41e31f0e79fc9ac0d136299f2d4c34

    ·

    mentioned in commit 298cd01d1a41e31f0e79fc9ac0d136299f2d4c34

    Toggle commit list
  • mirror @mirror

    mentioned in commit 406b26d943105637b73d26ef02c3609e56a4ae25

    ·

    mentioned in commit 406b26d943105637b73d26ef02c3609e56a4ae25

    Toggle commit list
  • mirror @mirror

    mentioned in commit dac595fcbc9ccbcbc74edcf315d04a7e54158579

    ·

    mentioned in commit dac595fcbc9ccbcbc74edcf315d04a7e54158579

    Toggle commit list
  • mirror @mirror

    mentioned in commit a3e6f17c8a3281b7d704328592cecfff6ec44f3b

    ·

    mentioned in commit a3e6f17c8a3281b7d704328592cecfff6ec44f3b

    Toggle commit list
  • mirror @mirror

    mentioned in commit 29d556484acd466ba2a53368dd706580a382bba5

    ·

    mentioned in commit 29d556484acd466ba2a53368dd706580a382bba5

    Toggle commit list
  • mirror @mirror

    mentioned in commit 7970dff4765665016bd3e247a7faecdbd50624a3

    ·

    mentioned in commit 7970dff4765665016bd3e247a7faecdbd50624a3

    Toggle commit list
  • mirror @mirror

    mentioned in commit ad9f1ea38ddf4cb2cba3f6ed592b4d903965e60f

    ·

    mentioned in commit ad9f1ea38ddf4cb2cba3f6ed592b4d903965e60f

    Toggle commit list
  • mirror @mirror

    mentioned in commit 162f58860b5cc9e5ecaaf20a9abbfbe2c5cf192d

    ·

    mentioned in commit 162f58860b5cc9e5ecaaf20a9abbfbe2c5cf192d

    Toggle commit list
  • mirror @mirror

    mentioned in commit e026cd08386057e5de2e2da23fffe66a4b968634

    ·

    mentioned in commit e026cd08386057e5de2e2da23fffe66a4b968634

    Toggle commit list
  • mirror @mirror

    mentioned in commit 59bbbc90dca8d5cc404cda6951e272606deb3a27

    ·

    mentioned in commit 59bbbc90dca8d5cc404cda6951e272606deb3a27

    Toggle commit list
  • mirror @mirror

    mentioned in commit 05fecc35

    ·

    mentioned in commit 05fecc35

    Toggle commit list
  • mirror @mirror

    mentioned in commit f6e432dc7c577fedad84db63de216e801a76bcec

    ·

    mentioned in commit f6e432dc7c577fedad84db63de216e801a76bcec

    Toggle commit list
  • mirror @mirror

    mentioned in commit a1970f647a37cb95b480c515597dcb63eebb64d4

    ·

    mentioned in commit a1970f647a37cb95b480c515597dcb63eebb64d4

    Toggle commit list
  • mirror @mirror

    mentioned in commit 433696632f80361c05c55d23f6e34878a72d2d25

    ·

    mentioned in commit 433696632f80361c05c55d23f6e34878a72d2d25

    Toggle commit list
  • mirror @mirror

    mentioned in commit 7b3fc3c145a6b05889d50194217028397604e804

    ·

    mentioned in commit 7b3fc3c145a6b05889d50194217028397604e804

    Toggle commit list
  • mirror @mirror

    mentioned in commit e8c4a31d763566faa65356c25f06034ff67047b8

    ·

    mentioned in commit e8c4a31d763566faa65356c25f06034ff67047b8

    Toggle commit list
  • mirror @mirror

    mentioned in commit 643dfcfbaea39860b205a078c19fdd7b115b9226

    ·

    mentioned in commit 643dfcfbaea39860b205a078c19fdd7b115b9226

    Toggle commit list
  • mirror @mirror

    mentioned in commit f61a07624bfb760e2a9be3b0276d7b77eedc9fcd

    ·

    mentioned in commit f61a07624bfb760e2a9be3b0276d7b77eedc9fcd

    Toggle commit list
  • mirror @mirror

    mentioned in commit e037bd87313f543b18820077a11bebbf839b2a62

    ·

    mentioned in commit e037bd87313f543b18820077a11bebbf839b2a62

    Toggle commit list
  • mirror @mirror

    mentioned in commit 2c5fe264344367f07d9013f7866a9c9f5d689e22

    ·

    mentioned in commit 2c5fe264344367f07d9013f7866a9c9f5d689e22

    Toggle commit list
  • mirror @mirror

    mentioned in commit 1e59717ed5d880a027950d07bd9b48d702254aab

    ·

    mentioned in commit 1e59717ed5d880a027950d07bd9b48d702254aab

    Toggle commit list
  • mirror @mirror

    mentioned in commit 83264b2fe8345c821838c541ef9319264833fa8c

    ·

    mentioned in commit 83264b2fe8345c821838c541ef9319264833fa8c

    Toggle commit list
  • mirror @mirror

    mentioned in commit ebec3947101acc274b68d0a1485bd7add6c36752

    ·

    mentioned in commit ebec3947101acc274b68d0a1485bd7add6c36752

    Toggle commit list
  • mirror @mirror

    mentioned in commit ffee2ee9cbbe3c62487b8923ed97791ed35b1f68

    ·

    mentioned in commit ffee2ee9cbbe3c62487b8923ed97791ed35b1f68

    Toggle commit list
  • mirror @mirror

    mentioned in commit 6fd797b5d0e73c0ec09ca776fc146e57d7a1709a

    ·

    mentioned in commit 6fd797b5d0e73c0ec09ca776fc146e57d7a1709a

    Toggle commit list
  • mirror @mirror

    mentioned in commit f451cf9e834aa8942495e1a9aaae3a534b139923

    ·

    mentioned in commit f451cf9e834aa8942495e1a9aaae3a534b139923

    Toggle commit list
  • mirror @mirror

    mentioned in commit b529b8ec85c6697f000255447ca6e35406b8a071

    ·

    mentioned in commit b529b8ec85c6697f000255447ca6e35406b8a071

    Toggle commit list
  • mirror @mirror

    mentioned in commit 38aa871f

    ·

    mentioned in commit 38aa871f

    Toggle commit list
  • mirror @mirror

    mentioned in commit 4b6a166fbc3f7b6934dd4ca515e70cdc7af6bc6d

    ·

    mentioned in commit 4b6a166fbc3f7b6934dd4ca515e70cdc7af6bc6d

    Toggle commit list
  • mirror @mirror

    mentioned in commit 7c7891764d53a8a27a86e8fc7bec159f7b053f11

    ·

    mentioned in commit 7c7891764d53a8a27a86e8fc7bec159f7b053f11

    Toggle commit list
  • mirror @mirror

    mentioned in commit 77bb5f4093b84f2332cda36dd6f810af6ff551d0

    ·

    mentioned in commit 77bb5f4093b84f2332cda36dd6f810af6ff551d0

    Toggle commit list
  • mirror @mirror

    mentioned in commit 69ea1db5d60797a69a6c6994ab084fb34241da63

    ·

    mentioned in commit 69ea1db5d60797a69a6c6994ab084fb34241da63

    Toggle commit list
  • mirror @mirror

    mentioned in commit 51c1f591aa9d23a916a8f68eb2fbcb96c8405abd

    ·

    mentioned in commit 51c1f591aa9d23a916a8f68eb2fbcb96c8405abd

    Toggle commit list
  • mirror @mirror

    mentioned in commit f64c7f97debf2ad7da950e496578a40568a2ed8f

    ·

    mentioned in commit f64c7f97debf2ad7da950e496578a40568a2ed8f

    Toggle commit list
  • mirror @mirror

    mentioned in commit e3816c91

    ·

    mentioned in commit e3816c91

    Toggle commit list
  • mirror @mirror

    mentioned in commit 35b5a893

    ·

    mentioned in commit 35b5a893

    Toggle commit list
  • mirror @mirror

    mentioned in commit 01336b61863e14971ece8feae560378f1e739d4d

    ·

    mentioned in commit 01336b61863e14971ece8feae560378f1e739d4d

    Toggle commit list
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment