linux/drivers/gpu/drm/radeon
Jerome Glisse d26098759c drm/radeon: fix tiling and command stream checking on evergreen v3
Fix regresson since the introduction of command stream checking on
evergreen (thread referenced below). Issue is cause by ddx allocating
bo with formula width*height*bpp while programming the GPU command
stream with ALIGN(height, 8). In some case (where page alignment does
not hide the extra size bo should be according to height alignment)
the kernel will reject the command stream.

This patch reprogram the command stream to slice - 1 (slice is
a derivative value from height) which avoid rejecting the command
stream while keeping the value of command stream checking from a
security point of view.

This patch also fix wrong computation of layer size for 2D tiled
surface. Which should fix issue when 2D color tiling is enabled.
This dump the radeon KMS_DRIVER_MINOR so userspace can know if
they are on a fixed kernel or not.

https://lkml.org/lkml/2012/6/3/80
https://bugs.freedesktop.org/show_bug.cgi?id=50892
https://bugs.freedesktop.org/show_bug.cgi?id=50857

!!! STABLE need a custom version of this patch for 3.4 !!!

v2: actually bump the minor version and add comment about stable
v3: do compute the height the ddx was trying to use

[airlied: drop left over debug]

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-10 17:41:46 +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.h drm/radeon/kms: upstream power table updates 2012-03-21 06:55:50 +00:00
atombios_crtc.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
atombios_dp.c drm/radeon/dp: Probe branch/sink OUIs 2012-05-22 10:19:03 +01:00
atombios_encoders.c drm/radeon/hdmi: use new AFMT structs 2012-05-17 12:16:03 +01:00
atombios_i2c.c
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
evergreen.c drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4) 2012-06-01 17:00:14 +01: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/hdmi: use new AFMT structs 2012-05-17 12:16:03 +01:00
evergreen_reg.h drm/radeon/kms: get rid of hdmi_config_offset 2012-05-01 10:57:52 +01:00
evergreend.h drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4) 2012-06-01 17:00:14 +01:00
Kconfig
Makefile drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
mkregtable.c
ni.c drm/radeon/kms: add new Trinity PCI ids 2012-06-05 15:11:09 +01:00
ni_reg.h
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.c drm/radeon: check kmalloc() for failures 2012-05-17 11:13:03 +01:00
r100_track.h
r100d.h
r200.c drm/radeon: make the ib an inline object 2012-05-09 17:22:55 +01:00
r300.c drm/radeon: make the ib an inline object 2012-05-09 17:22:55 +01:00
r300_cmdbuf.c
r300_reg.h
r300d.h
r420.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r420d.h
r500_reg.h
r520.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r520d.h
r600.c drm/radeon: make audio_init consistent across asics 2012-06-05 09:24:33 +01:00
r600_audio.c drm/radeon/audio: don't hardcode CRTC id 2012-06-05 09:25:01 +01:00
r600_blit.c
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_cp.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
r600_cs.c drm/radeon: make the ib an inline object 2012-05-09 17:22:55 +01:00
r600_hdmi.c drm/radeon/hdmi: don't set SEND_MAX_PACKETS bit 2012-06-05 09:25:33 +01:00
r600_reg.h drm/radeon/hdmi: store info about all AFMT blocks 2012-05-17 12:15:40 +01:00
r600d.h drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4) 2012-06-01 17:00:14 +01:00
radeon.h drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +01:00
radeon_acpi.c
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
radeon_benchmark.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_bios.c
radeon_blit_common.h
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: fix tiling and command stream checking on evergreen v3 2012-06-10 17:41:46 +01:00
radeon_drv.h
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 deadlocks on cayman 2012-06-05 09:27:23 +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.c
radeon_irq_kms.c Linux 3.4-rc6 2012-05-07 14:02:14 +02: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
radeon_mem.c
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: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
radeon_prime.c radeon: add radeon prime vmap support. 2012-05-31 14:14:01 +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
radeon_test.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +01:00
radeon_trace.h
radeon_trace_points.c
radeon_ttm.c drm/radeon: add PRIME support (v2) 2012-05-23 10:47:11 +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: make audio_init consistent across asics 2012-06-05 09:24:33 +01:00
rv770d.h drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4) 2012-06-01 17:00:14 +01:00
si.c drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +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/kms: fix up atom HPD gpio parsing for DCE6 2012-03-21 06:55:50 +00:00
sid.h drm/radeon: fix gpu_init on si 2012-06-05 09:25:54 +01:00