summaryrefslogtreecommitdiff
path: root/src/radeon_kms.c
AgeCommit message (Collapse)Author
2012-09-10radeon: don't fail to load if we have no modes and gpu driver.Dave Airlie
This ensures radeon loads on output less GPUs as a GPU driver. There are server bugs that also need to be fixed. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-04radeon: fix build against older serversDave Airlie
Another silly one. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03radeon: add capability and provider supportDave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03radeon: add pixmap sharing hooks.Dave Airlie
This hooks into EXA and the dirty tracking to add sharing and output offload support. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-09-03radeon: add platform bus loading support.Dave Airlie
This allows the radeon driver to be loaded via the platform bus mechanism. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-07-13Deal more gracefully with DRI2 being unavailable at build or run time.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-07-10Initial SI support.Michel Dänzer
Defaults to shadowfb. 3D acceleration is available with glamor. 2D acceleration is disabled until the radeonsi driver can handle glamor's shaders. v2: add chip flags (Alex Deucher) Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-07-10Initial glamor support.Michel Dänzer
Enable at build time with --enable-glamor and runtime with Option "AccelMethod" "glamor" The most notable lack of functionality is XVideo. Use something like VDPAU for now. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-06-29radeon: fix conflict with fix in master.Dave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-29Merge remote-tracking branch 'origin/kms-only'Dave Airlie
This merges the removal of the UMS code and subsequent simplifications. Hell yes. * origin/kms-only: (24 commits) radeon: fix radeonchipsets properly radeon: fix RADEONChipsets radeon: migrate remainder of radeon_driver.c to rest of driver radeon: avoid including large static struct twice. radeon: drop some more unused macros/inlines radeon: drop another unused struct member. radeon: more unused stuff radeon: drop cardType shouldn't matter to userspace. radeon: drop radeonGetPixmapOffset radeon: move more functions into texture video radeon: drop legacy memory, merge into radeon video radeon: drop unused txoffset vars. radeon: drop vb_mc_addr, not needed anymore radeon: drop offset member of r600 accel object radeon: move macros into radeon.h radeon: drop more wrapper macros. radeon: further macro cleanups. radeon: make exa copy funcs static. radeon: drop FUNC_NAME macro and ONCE_ONLY stuff radeon: drop radeon_commonfuncs. ... Conflicts: configure.ac
2012-06-27Fix up displayWidth vs. virtualX confusion in radeon_setup_kernel_mem().Michel Dänzer
It was using the pitch (displayWidth) for the virtual width (virtualX). This prevented using page flipping in some cases, as displayWidth was already overaligned for virtualX, so the DRI2 front and back buffers ended up having a different pitch. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Jerome Glisse <jglisse@redhat.com>
2012-06-18radeon: fix radeonchipsets properlyDave Airlie
2012-06-16radeon: migrate remainder of radeon_driver.c to rest of driverDave Airlie
This helps make a few more things static and the driver generally smaller. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-16radeon: avoid including large static struct twice.Dave Airlie
Just extern this in the one file that needs access. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-15radeon: more unused stuffDave Airlie
Remove all CurrentLayout stuff. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-15radeon: drop cardType shouldn't matter to userspace.Dave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-15radeon: drop all UMS/DRI1/XAA/overlay support.Dave Airlie
This overhauls the radeon driver and removes all the old UMS-only code, it drops all the UMS, DRI1, XAA, overlay Xv, video capture, tv tuners There are probably a lot more cleanups that will fall out of this afterwards. So far this is compile/build tested. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-01radeon: fix compat api for newest planned API.Dave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-01drmmode: drop flags arg to adjust frame.Dave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-24radeon: update compat-api.h for block handler + enable/disable fb.Dave Airlie
This updates the compat stuff for the latest block handler code, and the enable/disable interface. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-23compat for new server APIDave Airlie
2012-05-23ati: convert to new screen conversion APIsDave Airlie
The compat header takes care of the old server vs new server. this commit was autogenerated from util/modular/x-driver-screen-scrn-conv.sh Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-10Fail more gracefully when drm surface manager can't be initializedAnisse Astier
Should make bugs like https://bugs.freedesktop.org/show_bug.cgi?id=48138 easier to diagnose. [ Michel Dänzer: Appended newline to error message. ] Signed-off-by: Anisse Astier <anisse@astier.eu> Singed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-04-16Make radeon_setup_kernel_mem failures more graceful and verbose.Michel Dänzer
So that bugs like https://bugs.freedesktop.org/show_bug.cgi?id=48138 can be diagnosed more easily. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2012-03-20radeon/kms: add support for TN (trinity) APUsAlex Deucher
- KMS only - Includes full EXA/Xv support Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2012-03-06Re-register DRM FD wakeup handler for each server generation.Michel Dänzer
Fixes hang when trying to use DRI2 swap scheduling after a server reset. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Tested-by: Christian König <Christian.koenig@amd.com>
2012-02-13radeon: r6xx-eg use linear general when using scratch boJerome Glisse
In path where we need to use scratch bo as temporary area, consider it as linear buffer. Not linear aligned. Fix some case such as in bugs: https://bugs.freedesktop.org/show_bug.cgi?id=45827 Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2012-02-10radeon/kms: reusing fd message is not an errorAlex Deucher
It's standard behavior. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2012-02-06r600-evergreen: use common surface allocator for tiling v11Jerome Glisse
Use libdrm common surface code so mesa,ddx have same idea about tiling surface and what their pitch should be and the alignment constraint. v2 fix remaining issue add new option to conditionaly enable v3 fix fbcon copy and r600 exa copy path v4 fix non tiled path 2D tiling on GPU >= R600, set it to false as default v5 adapt to pixel/element size split of libdrm/radeon v6 update to properly handle falling back to 1d tiled v6 final fix to tile split value on evergreen and newer v7 fix default array mode on r6xx, fix height alignment issue on evergreen v8 fix tile split value v9 add stencil tile split support, simplify dri2 for stencil with evergreen v10 Try to fix xv path regarding tiling. Adapt to libdrm API change. Try to fix case where there is no surface which means non tiled bo. v11 check for proper libdrm Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2011-11-04Turn compile time check into runtime check.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2011-11-04check for xserver 1.9.4.901 to enable tiling by defaultAlex Deucher
Previous xservers had a bug in the EXA code which caused display corruption in some cases. See: https://bugs.freedesktop.org/show_bug.cgi?id=33929 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-09-20Only call radeon_dri2_close_screen() if DRI2 was enabled.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2011-09-20Remove dead variable remain_size_bytes.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2011-09-20KMS Color Tiling requires xserver which supports EXA_MIXED_PIXMAPS.Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
2011-06-22evergreen: fix num_banks for 2D tiling configAlex Deucher
The field is encoded. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-06-13kms: enable ColorTiling by default on r6xx-cayman asicsAlex Deucher
Currently only 1D tiling as 2D tiling still has some corner cases to fix up. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-24kms/cayman: stub out exa supportAlex Deucher
Just fallbacks for now. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-04fusion: fix tiling enable logicAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-04fusion: enable tiling if DFS worksAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-04radeon: add add hw DFS support for fusionDave Airlie
Fusion had a bug setting up the VM on earlier kernels so we need to work around that and only enable accel on a new enough kernel. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-03-15APU: no tiling yetAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-02kms: no accel yet for caymanAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-03-01kms: Fix warning XNFprintf is deprecated (v2)Sedat Dilek
The first take of my patch missed the breakage against pre-1.10 xservers and now I know XNFasprintf() is not a 1:1 replacement for XNFprintf(). The idea for the fix seemed to be so obvious, but as usual "really" test the patch you are sending to any ML. I am awfully sorry for the overhasty bad hack. Thanks to Alan and Alex for the help to fix it correctly, now. Tested-By: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
2011-02-28kms: don't enable tiling if accel is offAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-26Revert "kms: Fix warning XNFprintf is deprecated"Michel Dänzer
This reverts commit cb4dc7ab66016d0c980800f8dbf71bbe993889d3. Looks like this caused https://bugs.freedesktop.org/attachment.cgi?id=43852 , but even if it didn't, the following needs to be addressed first: cc1: warnings being treated as errors ../../src/radeon_kms.c: In function ‘radeon_open_drm_master’: ../../src/radeon_kms.c:413: error: passing argument 1 of ‘XNFasprintf’ from incompatible pointer type /usr/local/include/xorg/Xprintf.h:57: note: expected ‘char **’ but argument is of type ‘char *’ ../../src/radeon_kms.c:413: error: passing argument 2 of ‘XNFasprintf’ makes pointer from integer without a cast /usr/local/include/xorg/Xprintf.h:57: note: expected ‘const char * restrict’ but argument is of type ‘uint16_t’ ../../src/radeon_kms.c:413: error: assignment makes pointer from integer without a cast make[2]: *** [radeon_kms.lo] Error 1
2011-02-25kms: Fix warning XNFprintf is deprecatedSedat Dilek
Noticed when building ati/radeon ddx against xserver 1.10-rc3. [ build.log ] ../../src/radeon_kms.c:412:5: warning: 'XNFprintf' is deprecated (declared at /usr/include/xorg/os.h:273) agd5f: don't break the build against pre-1.10 xservers. Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com> Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-16kms: add tiling support for evergreen/NIAlex Deucher
- requires 2.6.37 or newer - 1D only at the moment - disabled by default Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-12kms: use worst case base/pitch align if we don't have drm tiling infoAlex Deucher
To avoid CS rejection. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-12kms: always get the tiling info even if we aren't tilingAlex Deucher
We need the proper group size to calculate alignment so the ddx and drm agree. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-11kms/6xx+: endian swap cursor uploadsCédric Cano
agd5f: remove kms surface for cursor since we now do the swap in the cursor load to avoid breaking pre-6xx cards with BE. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>