- 29 7月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
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: NMichel Dänzer <daenzer@vmware.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 15 7月, 2009 18 次提交
-
-
由 Alex Deucher 提交于
Need to adjust CUR_OFFSET for yorigin Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Alex Deucher 提交于
Allows us to hit dot clocks much closer, especially on chips with non-27 Mhz reference clocks like most IGP chips. This fixes most flickering and blanking problems with non-exact dot clocks on these chips. Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Alex Deucher 提交于
This is needed when using fractional feedback dividers on some IGP chips. Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
RN50/ES1000 is a cut-down rv100 chip used in the server market. The 3D engine on these is either not there or unverified so refuse any attempt to configure registers on it. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Doing this like the DDX seems like the most sure fire way to avoid having to reinvent it slowly and painfully. At the moment we keep getting things wrong with aper vs vram, so we know the DDX does it right. booted on PCI r100, PCIE rv370, IGP rs400. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
This add support for using dma32 memory on gpus that really need it. Currently IGPs are left without DMA32 but we might need to change that unless we can fix rs690. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
For now handle it via r/g/b offsets and disallow 16 bpp modes on big endian machines. Signed-off-by: NMichel Dänzer <daenzer@vmware.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
On powerpc, since we aren't using any hw swappers, this will get flipped around by default in hw. tested on a G5 + rv515. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
If userspace sends a zero length IB, it really shouldn't have bothered so EINVAL it. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Fix this to be correct like the DDX code, looks like a typo on transfer to the kernel. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Alex Deucher 提交于
Noticed by Rafał Miłecki on dri-devel. On r6xx/r7xx hardware, laptop panels can be driven by KLDSCP_LVTMA or UNIPHY. Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Alex Deucher 提交于
The line mux for the connector in the bios tables is used for enumerating drm connectors. Since this laptop has a quirk where the same line much is listed for both VGA and LVDS, the connectors get combined. Setting the line mux on LVDS to an unused value prevents both encoders from being combined into the same connector. This should fix bko bug 13720. Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Userspace sends us a special relocation type to sync video/exa to vlines to avoid tearing, this deals with the relocation in the kernel, it picks the correct crtc and avoids issues where crtcs are disabled. This version also parses the wait until to make sure it isn't trying to do anything evil. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Normally we are free to place VRAM where we want in the GPUs memory address space, however on IGP chips the VRAM is actual RAM, and no special translation or aperture is used inside the GPU MC. So when you move the VRAM aperture away from the TOM register, you actually move it into main memory and can trash things quite badly. This commit makes the code respect the TOM location for MC_FB_LOCATION. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
The crtc and cursor offsets on the legacy chips are offset from DISPLAY_BASE_ADDR. The code worked if display base addr was at 0, but otherwise falls to pieces. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
If there is a problem then this is hiding it, we shouldn't ever need to flush the IB. Either the buffers are: WB - caching just works. WC - no need to do explicit flush, the MB + readback will do it Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Unsigned long is incorrect for 64-bit resources on 32-bit hw. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
1. rv370 can accept 40-bit addresses - also at 24-bit shift not 4 bits 2. rs480 table can be in 40-bit space. - 4 bit shift for top 8 bits 3. rs480 table entries can be in 40-bit space. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 24 6月, 2009 4 次提交
-
-
由 Jerome Glisse 提交于
TTM need to be initialized before radeon if KMS is enabled otherwise the kernel will crash hard. Signed-off-by: NJerome Glisse <jglisse@redhat.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Michel Dänzer 提交于
Some PowerMac firmwares set up a tiling surface at the beginning of VRAM which messes us up otherwise. Signed-off-by: NMichel Dänzer <daenzer@vmware.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Michel Dänzer 提交于
Might lure userspace into trying silly things otherwise. Signed-off-by: NMichel Dänzer <daenzer@vmware.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Jerome Glisse 提交于
smem.start is a physical address which kernel can remap to access video memory of the fb buffer. We now pin the fb buffer into vram by doing so we are loosing vram but fbdev need to be reworked to allow change in framebuffer address. Signed-off-by: NJerome Glisse <jglisse@redhat.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
- 19 6月, 2009 9 次提交
-
-
由 Dave Airlie 提交于
just remove i variable left over from previous code. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jerome Glisse 提交于
For security purpose we want to make sure the userspace process doesn't access memory beyond buffer it owns. To achieve this we need to check states the userspace program. For color buffer and zbuffer we check that the clipping register will discard access beyond buffers set as color or zbuffer. For vertex buffer we check that no vertex fetch will happen beyond buffer end. For texture we check various texture states (number of mipmap level, texture size, texture depth, ...) to compute the amount of memory the texture fetcher might access. The command stream checking impact the performances so far quick benchmark shows an average of 3% decrease in fps of various applications. It can be optimized a bit more by caching result of checking and thus avoid a full recheck if no states changed since last check. Note that this patch is still incomplete on checking side as it doesn't check 2d rendering states. Signed-off-by: NJerome Glisse <jglisse@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
This makes the panel on my PowerBook light up. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
Some AGP devices can't map the aperture, radeon needs to tell TTM this. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Michel Dänzer 提交于
Mostly replacing bitfields with explicit masks and shifts. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Its quite valid to have VRAM < aperture size. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Eric Anholt 提交于
It hasn't been used in ages, and having the user tell your how much memory is being freed at free time is a recipe for disaster even if it was ever used. Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 18 6月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
This causes an issue since we fixed the drm mappings to do the right thing, so its just a copy and pasto. Signed-off-by: NDave Airlie <airlied@redhat.com> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 17 6月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
This fixes an issue where we get inited before fbcon when built-in. Ideally this should work as a non late_initcall, but this fixes it for now. We also don't suggest people build this in (at least distro maintainers). Reported-by: NRyan Hope <rmh3093@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 15 6月, 2009 2 次提交
-
-
由 Alex Deucher 提交于
COMBIOS - fallback to table values if there are no tv dac or lvds bios tables ATOMBIOS - add support for looking up these values from the bios table Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jerome Glisse 提交于
Add kernel modesetting support to radeon driver, use the ttm memory manager to manage memory and DRM/GEM to provide userspace API. In order to avoid backward compatibility issue and to allow clean design and code the radeon kernel modesetting use different code path than old radeon/drm driver. When kernel modesetting is enabled the IOCTL of radeon/drm driver are considered as invalid and an error message is printed in the log and they return failure. KMS enabled userspace will use new API to talk with the radeon/drm driver. The new API provide functions to create/destroy/share/mmap buffer object which are then managed by the kernel memory manager (here TTM). In order to submit command to the GPU the userspace provide a buffer holding the command stream, along this buffer userspace have to provide a list of buffer object used by the command stream. The kernel radeon driver will then place buffer in GPU accessible memory and will update command stream to reflect the position of the different buffers. The kernel will also perform security check on command stream provided by the user, we want to catch and forbid any illegal use of the GPU such as DMA into random system memory or into memory not owned by the process supplying the command stream. This part of the code is still incomplete and this why we propose that patch as a staging driver addition, future security might forbid current experimental userspace to run. This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX (radeon up to X1950). Works is underway to provide support for R6XX, R7XX and newer hardware (radeon from HD2XXX to HD4XXX). Authors: Jerome Glisse <jglisse@redhat.com> Dave Airlie <airlied@redhat.com> Alex Deucher <alexdeucher@gmail.com> Signed-off-by: NJerome Glisse <jglisse@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com> Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 12 6月, 2009 2 次提交
-
-
由 Alex Deucher 提交于
This adds the PCI IDs for the rv790 which are equiv to the rv770. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Alex Deucher 提交于
This adds drm support for the RV740 family of chips to the r600 support code. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 11 6月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
This shouldn't be there and is what broke r600 late in the 2.6.30 release cycle with Ben's patch. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 04 6月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
fd.o bz#21849 We were aligning to +16 dwords, instead of to the next 16dword boundary in the ring. Fix the calculation to go to the next 16dword boundary when space checking. Signed-off-by: NDave Airlie <airlied@redhat.com>
-