linux_dsm_epyc7002/drivers/gpu/drm/radeon
Thierry Reding 10a2310265 drm: Introduce drm_fb_helper_prepare()
To implement hotplug detection in a race-free manner, drivers must call
drm_kms_helper_poll_init() before hotplug events can be triggered. Such
events can be triggered right after any of the encoders or connectors
are initialized. At the same time, if the drm_fb_helper_hotplug_event()
helper is used by a driver, then the poll helper requires some parts of
the FB helper to be initialized to prevent a crash.

At the same time, drm_fb_helper_init() requires information that is not
necessarily available at such an early stage (number of CRTCs and
connectors), so it cannot be used yet.

Add a new helper, drm_fb_helper_prepare(), that initializes the bare
minimum needed to allow drm_kms_helper_poll_init() to execute and any
subsequent hotplug events to be processed properly.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-07-08 11:31:28 +10:00
..
reg_srcs drm/radeon: allow geom rings to be setup on r600/r700 (v2) 2014-02-06 12:13:52 +10:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/atom: initialize more atom interpretor elements to 0 2013-07-30 17:24:12 -04:00
atom.h
atombios_crtc.c drm/radeon: Use dce5/6 hdmi deep color clock setup also on dce8+ 2014-06-18 16:30:46 -04:00
atombios_dp.c drm/radeon: Use only one line for whole DPCD debug output 2014-07-01 11:31:39 -04:00
atombios_encoders.c drm/radeon/atom: fix dithering on certain panels 2014-06-02 10:25:15 -04:00
atombios_i2c.c drm/radeon: add a i2c bus mutex 2014-06-02 10:25:02 -04:00
atombios.h drm/radeon: atombios.h updates for hawaii 2013-11-08 12:33:45 -05:00
avivod.h
btc_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
btc_dpm.h drm/radeon/dpm: fetch the max clk from voltage dep tables helper 2013-09-23 10:29:51 -04:00
btcd.h drm/radeon/dpm: use the driver state for dpm debugfs 2014-02-06 12:22:46 -05:00
cayman_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon: re-enable mclk dpm on R7 260X asics 2014-04-17 13:59:53 +02:00
ci_dpm.h drm/radeon/dpm: track uvd gated state for ci 2013-08-30 16:31:06 -04:00
ci_smc.c drivers: gpu: Include appropriate header file in ci_smc.c 2014-01-07 12:29:04 -05:00
cik_blit_shaders.c drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_blit_shaders.h drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_reg.h drm/radeon: add indirect accessors for dift registers on CIK 2013-08-30 16:30:09 -04:00
cik_sdma.c drm/radeon: use lower_32_bits where appropriate 2014-06-09 22:06:48 -04:00
cik.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
cikd.h drm/radeon/cik: fix typo in EOP packet 2014-07-02 14:10:19 -04:00
clearstate_cayman.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_ci.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_defs.h drm/radeon: properly set up the RLC on ON/LN/TN (v3) 2013-06-27 10:49:18 -04:00
clearstate_evergreen.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_si.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
cypress_dpm.c drm/radeon/dpm: fix typo in vddci setup for eg/btc 2014-07-01 12:15:17 -04:00
cypress_dpm.h drm/radeon/dpm: add pre/post_set_power_state callback (BTC) 2013-06-27 19:16:19 -04:00
dce3_1_afmt.c drm/radeon/hdmi: use separated file for DCE 3.1/3.2 code 2014-06-02 10:25:04 -04:00
dce6_afmt.c drm/radeon: fix audio pin counts for DCE6+ (v2) 2014-04-08 17:43:48 +02:00
evergreen_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
evergreen_dma.c drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
evergreen_hdmi.c drm/radeon: replace drm_get_connector_name() with direct name field use 2014-06-04 13:17:30 +10:00
evergreen_reg.h drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout. 2014-06-13 12:22:30 -04:00
evergreen_smc.h drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 2014-03-06 16:46:58 -05:00
evergreen.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
evergreend.h drm/radeon: Setup HDMI_CONTROL for hdmi deep color gcp's (v2) 2014-06-02 18:37:33 -04:00
Kconfig
kv_dpm.c drm/radeon: enable bapm by default on KV/KB 2014-07-01 11:16:10 -04:00
kv_dpm.h drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
kv_smc.c drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
Makefile drm/radeon/hdmi: use separated file for DCE 3.1/3.2 code 2014-06-02 10:25:04 -04:00
mkregtable.c mkregtable: Fix sscanf handling 2014-01-10 15:28:10 +01:00
ni_dma.c drm/radeon: drop radeon_ring_force_activity 2014-02-18 17:50:00 +01:00
ni_dpm.c drm/radeon/dpm: fix vddci setup typo on cayman 2014-07-01 12:15:53 -04:00
ni_dpm.h drm/radeon/dpm: implement vblank_too_short callback for si 2013-07-08 17:41:11 -04:00
ni_reg.h
ni.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
nid.h drm/radeon: add proper support for RADEON_VM_BLOCK_SIZE v2 2014-06-02 10:25:03 -04:00
nislands_smc.h drm/radeon/kms: add dpm support for cayman (v5) 2013-06-27 19:16:10 -04:00
ObjectID.h drm/radeon: upstream ObjectID.h updates (v2) 2013-06-26 16:11:34 -04:00
ppsmc.h drm/radeon/dpm: handle bapm on trinity 2013-09-11 11:44:37 -04:00
pptable.h drm/radeon: fix pptable.h portability 2014-01-03 11:34:21 -05:00
r100_track.h
r100.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
r100d.h
r200.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
r300_cmdbuf.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
r300_reg.h
r300.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
r300d.h
r420.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r420d.h
r500_reg.h drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout. 2014-06-13 12:22:30 -04:00
r520.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r520d.h
r600_audio.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
r600_blit_shaders.c
r600_blit_shaders.h drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_blit.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_cp.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
r600_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
r600_dma.c drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
r600_dpm.c drm/radeon/pm: don't walk the crtc list before it has been initialized (v2) 2014-04-22 16:51:19 +02:00
r600_dpm.h drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
r600_hdmi.c drm/radeon/hdmi: DCE2: simplify audio workaround 2014-06-02 10:25:06 -04:00
r600_reg.h drm/radeon: add indirect accessors for UVD CTX registers 2013-06-27 19:16:30 -04:00
r600.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
r600d.h drm/radeon/hdmi: DCE2: update setmode 2014-06-02 10:25:05 -04:00
radeon_acpi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
radeon_acpi.h
radeon_agp.c radeon: Remove useless quirk for zx1/FireGL X1 combo introduced with fdo #7770 2014-06-02 10:25:08 -04:00
radeon_asic.c drm/radeon: use the SDMA on for buffer moves on CIK again 2014-06-09 22:06:52 -04:00
radeon_asic.h drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
radeon_atombios.c drm/radeon: adjust default dispclk on DCE6 (v2) 2014-07-01 11:16:08 -04:00
radeon_atpx_handler.c drm/radeon: fix ATPX detection on non-VGA GPUs 2014-04-22 16:51:20 +02:00
radeon_benchmark.c drm/radeon/benchmark: allow same domains for dma copy 2013-03-15 18:47:18 -04:00
radeon_bios.c drm: Remove spurious ';' 2014-06-10 09:35:42 +10:00
radeon_clocks.c
radeon_combios.c drivers: gpu: Move prototype declarations to header file radeon_mode.h from radeon_atombios.c and radeon_combios.c 2014-01-07 13:06:31 -05:00
radeon_connectors.c Merge tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-08 11:04:35 +10:00
radeon_cp.c drm: Kill DRM_*MEMORYBARRIER 2013-12-18 11:35:21 +10:00
radeon_cs.c drm/radeon: rename alt_domain to allowed_domains 2014-06-09 22:06:52 -04:00
radeon_cursor.c drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_device.c drm/radeon: make vm_block_size a module parameter 2014-06-09 22:06:54 -04:00
radeon_display.c drm/radeon: Track the status of a page flip more explicitly 2014-07-01 12:26:48 -04:00
radeon_drv.c drm/radeon: add a module parameter to control deep color support 2014-07-01 11:23:03 -04:00
radeon_drv.h drm: Kill DRM_IRQ_ARGS 2013-12-18 11:33:46 +10:00
radeon_encoders.c
radeon_family.h drm/radeon: add Mullins chip family 2014-05-06 12:19:57 +02:00
radeon_fb.c drm: Introduce drm_fb_helper_prepare() 2014-07-08 11:31:28 +10:00
radeon_fence.c drm/radeon: add debugfs file to trigger GPU reset 2014-06-09 22:06:55 -04:00
radeon_gart.c drm/radeon: separate gart and vm functions 2014-03-03 11:03:34 +01:00
radeon_gem.c drm/radeon: deduplicate code in radeon_gem_busy_ioctl 2014-03-03 10:57:10 +01:00
radeon_i2c.c drm/dp: add a hw mutex around the transfer functions. (v2) 2014-06-05 09:54:29 +10:00
radeon_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_irq_kms.c drm: pass the irq explicitly to drm_irq_install 2014-04-23 10:32:50 +02:00
radeon_irq.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_kms.c Merge branch 'drm-next-3.16' of git://people.freedesktop.org/~agd5f/linux into drm-next 2014-06-10 13:09:01 +10:00
radeon_legacy_crtc.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
radeon_legacy_encoders.c drm/sysfs: sort out minor and connector device object lifetimes. 2013-10-22 09:37:40 +01:00
radeon_legacy_tv.c
radeon_mem.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_mode.h drm/radeon: Track the status of a page flip more explicitly 2014-07-01 12:26:48 -04:00
radeon_object.c drm/radeon: rename alt_domain to allowed_domains 2014-06-09 22:06:52 -04:00
radeon_object.h drm/radeon: use NULL instead of zero in object functions 2014-06-02 10:25:06 -04:00
radeon_pm.c drm/radeon: only apply bapm changes for AC power on ARUBA 2014-07-01 11:16:09 -04:00
radeon_prime.c drm/radeon: remove stale gem->driver_private access 2013-08-19 09:34:47 +10:00
radeon_reg.h drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_ring.c drm/radeon: clear needs_reset flag if IB test fails 2014-04-03 12:35:40 +02:00
radeon_sa.c drm/radeon: drop non blocking allocations from sub allocator 2014-03-03 11:26:39 +01:00
radeon_semaphore.c drm/radeon: drop non blocking allocations from sub allocator 2014-03-03 11:26:39 +01:00
radeon_state.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_test.c drm/radeon: initial VCE support v4 2014-02-18 16:11:22 +01:00
radeon_trace_points.c
radeon_trace.h drm/radeon: add ring to fence trace functions 2014-01-29 15:23:03 -05:00
radeon_ttm.c Merge branch 'drm-next' of git://people.freedesktop.org/~dvdhrm/linux into drm-next 2014-03-18 19:17:02 +10:00
radeon_ucode.h drm/radeon: update cik init for Mullins. 2014-05-06 12:19:59 +02:00
radeon_uvd.c Revert "drm/radeon: use variable UVD clocks" 2014-06-09 22:06:56 -04:00
radeon_vce.c drm/radeon: add missing vce init case for hawaii 2014-06-09 22:06:48 -04:00
radeon_vm.c drm/radeon: page table BOs are kernel allocations 2014-07-02 15:52:21 -04:00
radeon.h drm/radeon: use RADEON_MAX_CRTCS, RADEON_MAX_AFMT_BLOCKS (v2) 2014-07-01 11:44:18 -04:00
rs100d.h
rs400.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
rs400d.h
rs600.c drm/radeon: remove range check from *_gart_set_page 2014-06-09 22:06:51 -04:00
rs600d.h
rs690.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rs780_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rs780_dpm.h drm/radeon/kms: add dpm support for rs780/rs880 2013-06-27 10:49:25 -04:00
rs780d.h drm/radeon/dpm: add debugfs support for RS780/RS880 (v3) 2013-07-17 16:47:52 -04:00
rv6xx_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rv6xx_dpm.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv6xxd.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rv515d.h
rv730_dpm.c drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv730d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv740_dpm.c drm/radeon/dpm/rv7xx: restructure code 2013-06-27 19:16:12 -04:00
rv740d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv770_dma.c drm/radeon: drm/radeon: add missing radeon_semaphore_free to error path 2014-05-06 12:18:41 +02:00
rv770_dpm.c Merge branch 'drm-next-3.15' of git://people.freedesktop.org/~deathsimple/linux into drm-next 2014-02-27 14:39:30 +10:00
rv770_dpm.h drm/radeon/dpm: switch on new late_enable callback 2013-12-24 17:56:50 -05:00
rv770_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770_smc.h drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
rv770d.h drm/radeon: implement pci config reset for r6xx/7xx (v3) 2014-01-08 18:42:22 -05:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: use lower_32_bits where appropriate 2014-06-09 22:06:48 -04:00
si_dpm.c drm/radeon/dpm: powertune updates for SI 2014-06-09 22:06:57 -04:00
si_dpm.h drm/radeon/kms: add dpm support for SI (v7) 2013-06-27 19:40:05 -04:00
si_reg.h
si_smc.c drivers: gpu: Include appropriate header file in si_smc.c and remove prototype declaration from header file sislands_smc.h 2014-01-07 11:45:38 -05:00
si.c drm/radeon: add query for number of active CUs 2014-06-09 22:06:55 -04:00
sid.h Merge commit '9e9a928eed8796a0a1aaed7e0b676db86ba84594' into drm-next 2014-06-05 20:28:59 +10:00
sislands_smc.h drivers: gpu: Include appropriate header file in si_smc.c and remove prototype declaration from header file sislands_smc.h 2014-01-07 11:45:38 -05:00
smu7_discrete.h drm/radeon: add dpm support for CI dGPUs (v2) 2013-08-30 16:30:29 -04:00
smu7_fusion.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
smu7.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
sumo_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
sumo_dpm.h drm/radeon/sumo add helper to go from vid7 to vid2 2013-08-30 16:30:10 -04:00
sumo_smc.c drm/radeon/dpm: make some functions static for sumo 2014-01-07 12:55:50 -05:00
sumod.h drm/radeon: add dpm UVD handling for sumo asics 2013-06-27 19:15:48 -04:00
trinity_dpm.c drm/radeon: enable bapm by default on desktop TN/RL boards 2014-07-01 11:16:10 -04:00
trinity_dpm.h drm/radeon/dpm: add bapm callback for trinity 2013-09-11 11:44:39 -04:00
trinity_smc.c drm/radeon/dpm: make some functions static for TN 2014-01-07 12:55:57 -05:00
trinityd.h drm/radeon: add dpm UVD handling for TN asics (v2) 2013-06-27 19:15:48 -04:00
uvd_v1_0.c drm/radeon/uvd: use lower clocks on old UVD to boot v2 2014-05-01 10:17:44 +02:00
uvd_v2_2.c drm/radeon: use lower_32_bits where appropriate 2014-06-09 22:06:48 -04:00
uvd_v3_1.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v4_2.c drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume 2013-08-30 16:31:12 -04:00
vce_v1_0.c drm/radeon: drop drivers copy of the rptr 2014-02-18 17:49:19 +01:00
vce_v2_0.c drm/radeon: add support for vce 2.0 clock gating 2014-02-18 16:11:44 +01:00