linux/drivers/gpu/drm/radeon
Alex Deucher c21b328ea8 drm/radeon: fix VM page table setup on SI
Cayman and trinity allow for variable sized VM page
tables, but SI requires that all page tables be the
same size.  The current code assumes variablely sized
VM page tables so SI may end up with part of each page
table overlapping with other memory which could end
up being interpreted by the VM hw as garbage.

Change the code to better accomodate SI.  Allocate enough
space for at least 2 full page tables and always set
last_pfn to max_pfn on SI so each VM is backed by a full
page table.  This limits us to only 2 VMs active at any
given time on SI.  This will be rectified and the code can
be reunified once we move to two level page tables.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-29 15:13:07 +01:00
..
reg_srcs drm/radeon/kms: add htile support to the cs checker v3 2012-03-26 09:53:22 +01:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/kms: fix fans after resume 2012-04-02 11:07:42 +01:00
atom.h drm/radeon/kms: fix fans after resume 2012-04-02 11:07:42 +01:00
atombios_crtc.c drm/radeon: SI tiling fixes for display 2012-06-20 19:55:56 +01:00
atombios_dp.c drm/radeon/dp: Probe branch/sink OUIs 2012-05-22 10:19:03 +01:00
atombios_encoders.c drm/radeon: enable HDMI on DCE5 (AKA NI excluding Aruba) 2012-06-16 11:21:19 +01:00
atombios_i2c.c drm/radeon/kms/dce3+: add support for hw i2c using atom 2012-02-03 09:38:05 +00:00
atombios.h drm/radeon/kms: upstream power table updates 2012-03-21 06:55:50 +00:00
avivod.h
cayman_blit_shaders.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
cayman_blit_shaders.h drm/radeon/kms: add blit support for cayman (v2) 2011-05-26 09:19:31 +10:00
evergreen_blit_kms.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
evergreen_blit_shaders.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: fix tiling and command stream checking on evergreen v3 2012-06-10 17:41:46 +01:00
evergreen_hdmi.c drm/radeon: enable HDMI on DCE5 (AKA NI excluding Aruba) 2012-06-16 11:21:19 +01:00
evergreen_reg.h drm/radeon/kms: get rid of hdmi_config_offset 2012-05-01 10:57:52 +01:00
evergreen.c drm/radeon: add some additional 6xx/7xx/EG register init 2012-06-16 14:30:47 +01:00
evergreend.h drm/radeon: add some additional 6xx/7xx/EG register init 2012-06-16 14:30:47 +01:00
Kconfig drm/radeon/kms: clean up the radeon kms Kconfig 2011-05-26 09:22:05 +10:00
Makefile drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
mkregtable.c radeon mkregtable: Add missing fclose() calls 2011-02-14 09:22:54 +10:00
ni_reg.h drm/radeon/kms: add ni_reg.h 2011-01-07 14:11:38 +10:00
ni.c drm/radeon: enable HDMI on DCE5 (AKA NI excluding Aruba) 2012-06-16 11:21:19 +01:00
nid.h drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4) 2012-06-01 17:00:14 +01:00
ObjectID.h drm/radeon/kms: Upstream ObjectID.h updates 2012-03-21 06:55:49 +00:00
r100_track.h drm/radeon: Remove more bogus inlines in the radeon driver. 2011-10-18 09:44:52 +01:00
r100.c drm/radeon: check kmalloc() for failures 2012-05-17 11:13:03 +01:00
r100d.h drm/radeon: Definition of R_0003C2_GENMO_WT seems wrong 2010-12-21 12:55:33 +10:00
r200.c drm/radeon: make the ib an inline object 2012-05-09 17:22:55 +01:00
r300_cmdbuf.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
r300_reg.h Fix common misspellings 2011-03-31 11:26:23 -03:00
r300.c drm/radeon: make the ib an inline object 2012-05-09 17:22:55 +01:00
r300d.h drm/radeon/kms: manage r300 CMASK RAM access and allow CMASK clear 2011-01-06 13:00:45 +10:00
r420.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r420d.h
r500_reg.h drm/radeon/kms: add wait_for_vblank asic callback 2012-02-27 14:46:13 +00:00
r520.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r520d.h
r600_audio.c drm/radeon: enable HDMI on DCE5 (AKA NI excluding Aruba) 2012-06-16 11:21:19 +01:00
r600_blit_kms.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
r600_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
r600_blit_shaders.h
r600_blit.c drm/radeon: drop inlines in r600_blit.c 2011-10-18 09:44:38 +01:00
r600_cp.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
r600_cs.c drm/radeon: add support for STRMOUT_BASE_UPDATE on 7xx 2012-06-16 14:30:56 +01:00
r600_hdmi.c drm/radeon: enable HDMI on DCE5 (AKA NI excluding Aruba) 2012-06-16 11:21:19 +01:00
r600_reg.h drm/radeon/hdmi: store info about all AFMT blocks 2012-05-17 12:15:40 +01:00
r600.c drm/radeon: add some additional 6xx/7xx/EG register init 2012-06-16 14:30:47 +01:00
r600d.h drm/radeon: add support for STRMOUT_BASE_UPDATE on 7xx 2012-06-16 14:30:56 +01:00
radeon_acpi.c drm/radeon/kms: Skip ACPI call to ATIF when possible 2011-12-01 09:57:34 +00:00
radeon_agp.c
radeon_asic.c drm/radeon: remove cayman_gpu_is_lockup 2012-05-03 09:16:42 +01:00
radeon_asic.h drm/radeon/hdmi: compile audio status in 1 function 2012-05-22 10:14:16 +01:00
radeon_atombios.c drm/radeon: fix XFX quirk 2012-05-29 11:08:19 +01:00
radeon_atpx_handler.c drm/radeon: fix use after free in ATRM bios reading code. 2012-02-02 15:25:16 +00:00
radeon_benchmark.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_bios.c drm/radeon: finish getting bios earlier 2012-01-24 17:34:32 +00:00
radeon_blit_common.h drm/radeon/kms: common definitions for blit copy code 2012-02-03 09:31:14 +00:00
radeon_clocks.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
radeon_combios.c drm/radeon: add connector table for SAM440ep embedded board 2012-05-03 09:19:08 +01:00
radeon_connectors.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
radeon_cp.c radeon_cp: Remove unneeded tests for NULL before calling release_firmware() 2012-04-30 13:15:31 +02:00
radeon_cs.c drm/radeon: fix regression in UMS CS ioctl 2012-06-01 17:00:21 +01:00
radeon_cursor.c drm/radeon: Drop radeon_gem_object_(un)pin. 2012-03-20 08:47:50 +00:00
radeon_device.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_display.c drm: Constify drm_mode_config_funcs pointer 2012-05-22 10:35:07 +01:00
radeon_drv.c drm/radeon: add support for STRMOUT_BASE_UPDATE on 7xx 2012-06-16 14:30:56 +01:00
radeon_drv.h Fix common misspellings 2011-03-31 11:26:23 -03:00
radeon_encoders.c drm/radeon/kms: update duallink checks for DCE6 2012-03-21 06:55:58 +00:00
radeon_family.h drm/radeon/kms: add trinity (TN) chip family 2012-03-21 06:55:55 +00:00
radeon_fb.c drm/radeon: Restrict offset for legacy display engine. 2012-03-20 08:47:46 +00:00
radeon_fence.c drm/radeon/kms: fix warning on 32-bit in atomic fence printing 2012-05-09 17:56:24 +01:00
radeon_gart.c drm/radeon: fix VM page table setup on SI 2012-06-29 15:13:07 +01:00
radeon_gem.c Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2012-05-24 12:42:54 -07:00
radeon_i2c.c drm/radeon: only add the mm i2c bus if the hw_i2c module param is set 2012-04-11 09:36:53 +01:00
radeon_ioc32.c
radeon_irq_kms.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
radeon_irq.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_kms.c drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +01:00
radeon_legacy_crtc.c drm/radeon: Restrict offset for legacy display engine. 2012-03-20 08:47:46 +00:00
radeon_legacy_encoders.c drm/backlight: initialize struct backlight_properties properly 2012-05-22 10:29:46 +01:00
radeon_legacy_tv.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_mem.c drivers: use kzalloc/kcalloc instead of 'kmalloc+memset', where possible 2011-07-25 20:57:13 -07:00
radeon_mode.h drm/radeon/hdmi: use new AFMT structs 2012-05-17 12:16:03 +01:00
radeon_object.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_object.h drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_pm.c drm/radeon: fix regression in dynpm due to multi-ring rework 2012-06-16 11:12:13 +01:00
radeon_prime.c drm/radeon/prime: reserve/unreserve around pin 2012-06-16 11:14:05 +01:00
radeon_reg.h drm/radeon/kms: fix up atom HPD gpio parsing for DCE6 2012-03-21 06:55:50 +00:00
radeon_ring.c radeon: make radeon_cs_update_pages static. 2012-05-29 11:01:45 +01:00
radeon_sa.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_semaphore.c drm/radeon: rip out the ib pool 2012-05-09 17:22:41 +01:00
radeon_state.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_test.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_trace_points.c drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_trace.h drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_ttm.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon.h drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +01:00
rs100d.h
rs400.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rs400d.h
rs600.c drm/radeon: make audio_init consistent across asics 2012-06-05 09:24:33 +01:00
rs600d.h drm/radeon/kms: add register definitions for audio 2012-04-24 09:50:13 +01:00
rs690.c drm/radeon: make audio_init consistent across asics 2012-06-05 09:24:33 +01:00
rs690d.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rv515d.h
rv770.c drm/radeon: add some additional 6xx/7xx/EG register init 2012-06-16 14:30:47 +01:00
rv770d.h drm/radeon: add some additional 6xx/7xx/EG register init 2012-06-16 14:30:47 +01:00
si_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
si_blit_shaders.h drm/radeon/kms: add support for CP setup on SI 2012-03-21 06:55:54 +00:00
si_reg.h drm/radeon: SI tiling fixes for display 2012-06-20 19:55:56 +01:00
si.c drm/radeon: fix VM page table setup on SI 2012-06-29 15:13:07 +01:00
sid.h drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +01:00