android_kernel_xiaomi_sm8350/drivers/gpu/drm/radeon
Arnd Bergmann ed8b670409 drm: convert drm_ioctl to unlocked_ioctl
drm_ioctl is called with the Big Kernel Lock held,
which shows up very high in statistics on vfs_ioctl.

Moving the lock into the drm_ioctl function itself
makes sure we blame the right subsystem and it gets
us one step closer to eliminating the locked version
of fops->ioctl.

Since drm_ioctl does not require the lock itself,
we only need to hold it while calling the specific
handler. The 32 bit conversion handlers do not
interact with any other code, so they don't need
the BKL here either and can just call drm_ioctl.

As a bonus, this cleans up all the other users
of drm_ioctl which now no longer have to find
the inode or call lock_kernel.

[airlied: squashed the non-driver bits
of the second patch in here, this provides
the flag for drivers to use to select unlocked
ioctls - but doesn't modify any drivers].

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: David Airlie <airlied@linux.ie>
Cc: dri-devel@lists.sourceforge.net
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-12-18 11:22:31 +10:00
..
reg_srcs drm/radeon/kms: add rn50/r100/r200 CS tracker. 2009-09-08 08:54:31 +10:00
.gitignore drm: create gitignore file for radeon 2009-09-25 13:08:21 +10:00
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/kms: add support for DP modesetting 2009-12-08 10:22:44 +10:00
atom.h drm/radeon/kms: add support to atom parser for FB read/write 2009-12-08 07:33:04 +10:00
atombios_crtc.c drm/radeon/kms/avivo: add support for new pll selection algo 2009-12-10 15:09:05 +10:00
atombios_dp.c drm/radeon/kms: enable hpd support 2009-12-08 10:48:22 +10:00
atombios.h drm/radeon/kms: get HPD info for connectors 2009-12-08 10:46:28 +10:00
avivod.h drm/radeon/kms: Convert RV515 to new init path and associated cleanup 2009-09-29 11:15:54 +10:00
Kconfig drm/kms/radeon: make kms default a runtime option 2009-09-08 11:15:59 +10:00
Makefile drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
mkregtable.c drm: radeon: Mark several functions static in mkregtable 2009-11-15 15:01:40 -08:00
ObjectID.h
r100_track.h drm/radeon/kms: fix r100->r500 CS checker for compressed textures. (v2) 2009-12-16 16:10:45 +10:00
r100.c drm/radeon/kms: fix r100->r500 CS checker for compressed textures. (v2) 2009-12-16 16:10:45 +10:00
r100d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
r200.c drm/radeon/kms: fix r100->r500 CS checker for compressed textures. (v2) 2009-12-16 16:10:45 +10:00
r300_cmdbuf.c
r300_reg.h
r300.c drm/radeon/kms: fix r100->r500 CS checker for compressed textures. (v2) 2009-12-16 16:10:45 +10:00
r300d.h drm/radeon/kms: Convert R300 to new init path 2009-10-02 08:51:48 +10:00
r420.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
r420d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
r500_reg.h drm/radeon/kms: get HPD info for connectors 2009-12-08 10:46:28 +10:00
r520.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
r520d.h drm/radeon/kms: Convert R520 to new init path and associated cleanup 2009-09-29 11:15:56 +10:00
r600_audio.c drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
r600_blit_kms.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
r600_blit_shaders.c drm/radeon/kms: add r600 KMS support 2009-09-08 11:15:52 +10:00
r600_blit_shaders.h drm/radeon/kms: add r600 KMS support 2009-09-08 11:15:52 +10:00
r600_blit.c drm/radeon/r600: only assign vb after we know space is available. 2009-10-26 13:28:21 +10:00
r600_cp.c drm/radeon/kms: add r600 KMS support 2009-09-08 11:15:52 +10:00
r600_cs.c drm/radeon/r600: CS parser updates 2009-11-10 13:41:07 +10:00
r600_hdmi.c drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
r600_reg.h drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
r600.c drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
r600d.h drm/radeon/kms: add regs and irq tracking bits for hpd 2009-12-08 10:46:34 +10:00
radeon_agp.c drm/radeon/kms: resume AGP by calling init. 2009-11-24 13:01:47 +10:00
radeon_asic.h drm/radeon/kms: add asic callbacks for hpd 2009-12-08 10:48:12 +10:00
radeon_atombios.c drm/radeon/kms/avivo: add support for new pll selection algo 2009-12-10 15:09:05 +10:00
radeon_benchmark.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_bios.c drm/radeon/kms: remove some misleading debugging output 2009-11-04 13:38:02 +10:00
radeon_clocks.c drm/radeon/kms: more r4xx lvds fixes 2009-12-08 08:53:25 +10:00
radeon_combios.c drm/radeon/kms: get HPD info for connectors 2009-12-08 10:46:28 +10:00
radeon_connectors.c drm/radeon/kms: connector fixes 2009-12-09 13:31:00 +10:00
radeon_cp.c drm/radeon: A bit of cleanup work on radeon_freelist_get() 2009-10-26 13:29:26 +10:00
radeon_cs.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_cursor.c drm/radeon/kms/r7xx: add regs for 40 bit CUR/GRPH addresses 2009-10-26 13:28:22 +10:00
radeon_device.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
radeon_display.c drm/radeon/kms/avivo: add support for new pll selection algo 2009-12-10 15:09:05 +10:00
radeon_drv.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
radeon_drv.h drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3) 2009-12-02 14:00:06 +10:00
radeon_encoders.c drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
radeon_family.h drm/radeon: consolidate family flags used in pciids. 2009-09-23 10:21:00 +10:00
radeon_fb.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_fence.c drm/radeon/kms: fix return value from fence function. 2009-12-10 15:09:04 +10:00
radeon_fixed.h drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup 2009-12-10 15:09:05 +10:00
radeon_gart.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_gem.c drm/radeon/gem: don't leak a gem object if reserve fails on get tiling (v2) 2009-12-16 15:38:56 +10:00
radeon_i2c.c drm/radeon/kms: i2c reorg 2009-12-08 10:22:41 +10:00
radeon_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
radeon_irq_kms.c drm/radeon/kms: enable hpd support 2009-12-08 10:48:22 +10:00
radeon_irq.c drm/radeon/r600: don't do interrupts 2009-09-18 14:34:06 +10:00
radeon_kms.c drm/radeon/kms: cleanup structure and module if initialization fails 2009-12-10 15:09:07 +10:00
radeon_legacy_crtc.c drm/radeon/kms: more r4xx lvds fixes 2009-12-08 08:53:25 +10:00
radeon_legacy_encoders.c drm/radeon/kms: fix LVDS setup on r4xx 2009-12-02 11:37:13 +10:00
radeon_legacy_tv.c drm/radeon/kms: add initial radeon tv-out support. 2009-09-08 09:24:37 +10:00
radeon_mem.c
radeon_mode.h drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
radeon_object.c drm/radeon/kms: Check if bo we got from ttm are radeon object or not 2009-12-16 15:38:55 +10:00
radeon_object.h drm/radeon/kms: Return to userspace on ERESTARTSYS 2009-12-16 15:39:24 +10:00
radeon_pm.c drm/radeon/kms: init pm on all chipsets 2009-12-16 15:56:15 +10:00
radeon_reg.h drm/radeon/kms: add regs and irq tracking bits for hpd 2009-12-08 10:46:34 +10:00
radeon_ring.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_state.c drm/radeon/r600: don't do interrupts 2009-09-18 14:34:06 +10:00
radeon_test.c drm/radeon/kms: Rework radeon object handling 2009-12-02 14:00:18 +10:00
radeon_ttm.c drm/radeon/kms: Check if bo we got from ttm are radeon object or not 2009-12-16 15:38:55 +10:00
radeon.h drm/radeon/kms: HDMI support for R600 KMS 2009-12-16 15:46:48 +10:00
rs100d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rs400.c drm/radeon/kms: init pm on all chipsets 2009-12-16 15:56:15 +10:00
rs400d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
rs600.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
rs600d.h drm/radeon/kms: add regs and irq tracking bits for hpd 2009-12-08 10:46:34 +10:00
rs690.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
rs690d.h drm/radeon/kms: Convert RS690/RS740 to new init path (V2). 2009-10-02 08:51:50 +10:00
rv200d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rv250d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rv350d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
rv515.c drm/radeon/kms: restore surface registers on resume. 2009-12-10 15:25:45 +10:00
rv515d.h drm/radeon/kms: Convert RV515 to new init path and associated cleanup 2009-09-29 11:15:54 +10:00
rv770.c drm/radeon/kms: make sure mc is initialized before mapping blit bo 2009-12-16 15:39:24 +10:00
rv770d.h drm/radeon/kms: fix vram_width calculation on r6xx/r7xx 2009-10-26 13:28:19 +10:00