linux/drivers/gpu/drm/radeon
Dave Airlie e024e11070 drm/radeon/kms: add initial colortiling support.
This adds new set/get tiling interfaces where the pitch
and macro/micro tiling enables can be set. Along with
a flag to decide if this object should have a surface when mapped.

The only thing we need to allocate with a mapped surface should be
the frontbuffer. Note rotate scanout shouldn't require one, and
back/depth shouldn't either, though mesa needs some fixes.

It fixes the TTM interfaces along Thomas's suggestions, and I've tested
the surface stealing code with two X servers and not seen any lockdep issues.

I've stopped tiling the fbcon frontbuffer, as I don't see there being
any advantage other than testing, I've left the testing commands in there,
just flip the fb_tiled to true in radeon_fb.c

Open: Can we integrate endian swapping in with this?

Future features:
texture tiling - need to relocate texture registers TXOFFSET* with tiling info.

This also merges Michel's cleanup surfaces regs at init time patch
even though it makes sense on its own, this patch really relies on it.

Some PowerMac firmwares set up a tiling surface at the beginning of VRAM
which messes us up otherwise.
that patch is:
Signed-off-by: Michel Dänzer <daenzer@vmware.com>

Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-07-29 15:42:18 +10:00
..
Kconfig drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
Makefile drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
ObjectID.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-bits.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-names.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-types.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atombios.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atombios_crtc.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
r100.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
r300.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
r300.h drm/radeon: command stream checker for r3xx-r5xx hardware 2009-06-19 09:32:27 +10:00
r300_cmdbuf.c drm/radeon: add regs required for occlusion queries support 2009-03-29 18:31:35 +10:00
r300_reg.h drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
r420.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r500_reg.h drm/radeon: fix support for vline relocations. 2009-07-15 17:13:08 +10:00
r520.c drm/radeon/kms: fix VRAM sizing like DDX does it. 2009-07-15 17:13:19 +10:00
r600.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
r600_cp.c drm/radeon: add support for RV790. 2009-06-12 15:56:30 +10:00
r600_microcode.h drm/radeon: add r6xx/r7xx microcode 2009-03-13 14:24:10 +10:00
r600_reg.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon.h drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_agp.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_asic.h drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_atombios.c drm/radeon/kms: fix quirk for MSI laptop 2009-07-15 17:13:11 +10:00
radeon_benchmark.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_bios.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_clocks.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_combios.c drm/radeon: Fully initialize LVDS info also when we can't get it from the ROM. 2009-06-19 09:30:06 +10:00
radeon_connectors.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_cp.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_cs.c drm/radeon/kms: drop zero length CS indirect buffers. 2009-07-15 17:13:15 +10:00
radeon_cursor.c drm/radeon/kms: fix hotspot handling on pre-avivo chips 2009-07-15 17:13:24 +10:00
radeon_device.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_display.c drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq 2009-07-15 17:13:22 +10:00
radeon_drv.c drm/radeon: fix driver initialization order so radeon kms can be builtin 2009-06-24 16:11:06 +10:00
radeon_drv.h Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-06-12 18:09:18 -07:00
radeon_encoders.c drm/radeon/kms: get lvds info for DIG LVTMA and UNIPHY encoders 2009-07-15 17:13:13 +10:00
radeon_fb.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_fence.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_fixed.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_gart.c drm/radeon/kms: fix some GART table entry bugs. 2009-07-15 17:13:02 +10:00
radeon_gem.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_i2c.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
radeon_irq.c drm/radeon: RS600: fix interrupt handling 2009-03-13 14:24:16 +10:00
radeon_irq_kms.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_kms.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_legacy_crtc.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_legacy_encoders.c radeon legacy chips: tv dac bg/dac adj updates 2009-06-15 12:02:27 +10:00
radeon_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_microcode.h drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
radeon_mode.h drm/radeon/kms: fix hotspot handling on pre-avivo chips 2009-07-15 17:13:24 +10:00
radeon_object.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
radeon_object.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
radeon_reg.h radeon: Fix CP byte order on big endian architectures with KMS. 2009-06-19 09:28:20 +10:00
radeon_ring.c drm/radeon/kms: remove IB flushing trick. 2009-07-15 17:13:04 +10:00
radeon_state.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_ttm.c drm/radeon/kms: add initial colortiling support. 2009-07-29 15:42:18 +10:00
rs400.c drm/radeon/kms: fix VRAM sizing like DDX does it. 2009-07-15 17:13:19 +10:00
rs600.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rs690.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rs780.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
rv515.c drm/radeon/kms: fix VRAM sizing like DDX does it. 2009-07-15 17:13:19 +10:00
rv770.c drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00