summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
AgeCommit message (Collapse)Author
2009-06-07Support for HDMI 1600x1200 50Hz interlaced resolution.upstream-unstable-with-frc-patchesThomas Hilber
- now supports HDMI 1600x1200 50Hz interlaced resolution - adjustment control now operates at lower speed which is still fairly sufficient Signed-off-by: Thomas Hilber <sparkie@lowbyte.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
2009-06-07Improved field timing debug support.Thomas Hilber
Signed-off-by: Thomas Hilber <sparkie@lowbyte.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
2009-06-02Add new scheduling option.Thomas Hilber
- new scheduling option added Signed-off-by: Thomas Hilber <sparkie@lowbyte.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
2009-06-01New options for xorg.conf and start with disconnected monitor.Thomas Hilber
- introduced new xorg.conf options for both intel and radeon FRC patches - FRC (aka sync_fields) switch (default on) - process priority (default 0) - FRC debug output (default off) - intel Xserver now starts even with disconnected monitor Signed-off-by: Thomas Hilber <sparkie@lowbyte.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
2009-06-01Add frame rate control.Thomas Hilber
- Full functionality of Radeon based original patch now ported to recent Intel graphics hardware. This includes support for i945G chipsets as found on EEE PCs and D945GCLF[2] boards. - Exploits some special features of i945G chipsets like vertical phase registers and fine tuning of vertical scaling. This enables us to compensate for interference effects observed when driving modern digital displays through a SCART interface. Signed-off-by: Thomas Hilber <sparkie@lowbyte.de> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
2009-04-15Clarify that the default acceleration is UXA if KMS is available.Carl Worth
Stale documentation considered harmful of course. (cherry picked from commit 506c810f8f3db89048dda9777902f142ffeb86aa)
2009-04-06Fix offset in begin_gtt_access caseJesse Barnes
Don't use bo->virtual in the begin_gtt_access case, use the framebuffer mapping and bo offset instead. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> (cherry picked from commit 6cd914ef315036ce8e91c7b6492994353e8ed2d8)
2009-03-31Tiling fixes, third setJesse Barnes
Hopefully this concludes the fixes necessary to deal with the various combinations of kernel and user level tiling. We have several cases to handle: 1) KMS (kernel handles all tiling) 2) UMS w/memory management + kexec fencing (kernel handles all tiling) 3) UMS w/memory mangement but no kexec fencing (userland handles tiling) 4) UMS w/o memory management (userland handles tiling) For cases (1) & (2) we can use GTT mapping, which will give us good performance and take care of allocating fence registers as needed. It's important *not* to have userland set up fence regs in this case, since the kernel will be using all of them. For case (3), we use the begin/end GTT map functions provided by libdrm, in combination with pinning and fence register setup in i830_memory.c to deal with tiled surfaces. This also gives us good performance and correctness. For case (4) we use the old style virtual mapping + offset for dealing with surfaces; note that UXA doesn't seem to work in this configuration regardless of these fixes. Fixes bug #20803. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> (cherry picked from commit 8dabcc40747bfd478f296728741240241698f165)
2009-03-19Drop Legacy3D option, only use fixed texture space with non-gem.Kristian Høgsberg
With this change, we always expect the 3D driver to use GEM textures when the 2D driver uses GEM. When GEM is not available or disabled, we fall back to legacy fixed textures. (cherry picked from commit 73db44e7ac524e84e5f0fda2d60069a9e954ad1b)
2009-03-19Create known output configuration at EnterVT timeJesse Barnes
Since we added the pipe A force quirk (leaving pipe A on all the time), DPMS calls to disable it have silently returned, leaving the pipe on. If another driver (like vesafb) has enabled it, we may end up with a bad configuration, leading to hangs or blank screens at VT switch time. Fixes bug #19603. (cherry picked from commit 6deb26ae7bd796e88a5dd90df5f6c35fbc44e798)
2009-03-16Use UXA when KMS is activeJesse Barnes
EXA doesn't support KMS, so force UXA on if KMS is detected. And warn the user if they've specified something other than UXA in their xorg.conf. Fixes bug #20620. (cherry picked from commit 3ef9d85371a97ea5baee0c47787b3bb3cdaf5135)
2009-03-06clean up arguments to i830_allocate_framebuffer since zaphod removal.Eric Anholt
Signed-off-by: Eric Anholt <eric@anholt.net>
2009-03-06Remove configurable support for disabling XV.Eric Anholt
google shows one instance of this being used a year and a half ago.
2009-03-06Remove configured SW cursor support.Eric Anholt
Any time we actually need SW cursors, it gets enabled automatically.
2009-03-06Remove StolenOnly support.Eric Anholt
We rely on having AGPGART present to successfully allocate video memory as we configure it by default. Admit that fact, and remove support for non-AGPGART/KMS setups.
2009-03-06intel: Nuke shared-entity support (zaphod mode).Eric Anholt
It's been broken for years now, and KMS offers a much better chance of getting this working sensibly without making a mess of the 2D driver.
2009-03-06remove more page flipping leftovers.Eric Anholt
2009-03-04Use drmSetMaster() and drmDropMaster() in enter/leave VTKristian Høgsberg
This allows multiple X server to use DRI and makes it possible to run multiple X servers under KMS. This requires a 2.6.29 kernel to work. On older kernels it will just log a warning and DRI will fail to initialize for the second X server.
2009-02-26Intel video driver patchShaohua Li
This is the intel video driver patch for a new chip, which is G33-like and has some clocking setting related register changes. This patch adds the pci id and DPLx/FPx register changes. The gtt tool should just work to me, as the chip hasn't any changes against G33 on this side. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
2009-02-26Fix UXA for server 1.4.Eric Anholt
2009-02-26Disable fb resizing for DRI1-only server so that DRI1 can initialize.Eric Anholt
2009-02-24Don't do AdjustFrame in KMS mode.Eric Anholt
This was hit by xv86vm's SwitchMode path, and for that the CRTC offsets get set at mode setting time anyway.
2009-02-21Move disable_render_standby to EnterVT instead of startup.Helge Bahmann
Otherwise, with a pre-2.6.28 older kernel the disable would be lost at resume time and cause hangs. Bug #20214
2009-02-20Dont allocate overlay registers in KMS mode.Kristian Høgsberg
2009-02-18Make Xv used a buffer object instead of i830_memory.Kristian Høgsberg
We still pin the buffer object in case of overlay, but for textured video we're now no longer using i830_memory for Xv anymore.
2009-02-16Safely init SDVO found variableZhenyu Wang
Found by Michael Fu for my last SDVO detect fix.
2009-02-13Fix SDVO/HDMI detectZhenyu Wang
SDVOC detect bit is only valid for HDMIC. And for SDVO devices, SDVOB detect bit should be used to probe all possible SDVO outputs.
2009-02-13SDVO: remove ForceSDVODetect optionZhenyu Wang
Which is just a hack to hide our SDVO detect drawback, we will have SDVO/HDMI detect fix later.
2009-02-02Un-revert the I915_SETPARAM_NUM_USED_FENCES commit reverted by accident.Kristian Høgsberg
Oops, my bad. Reverted 8d4bc36fae50b09a73ba2cfab920adb32141a358 since my kernel doesn't yet have the new param, committed the revert by accident.
2009-02-02Fix last-minute "cleanup" that broke the patch.Kristian Høgsberg
2009-02-01Implement front buffer resize for KMS.Kristian Høgsberg
This adds back the resize hook so we can resize the front buffer under kernel mode setting as well. The patch also pulls the drmmode_* structs from drmmode_display.h into drmmode_display.c and eliminates the header file.
2009-01-27Support tiled back/depth on 915-class hardware with DRI2.Jesse Barnes
Set alignments, tile settings and flags correctly in the 2D driver to support tiled rendering. UXA's create pixmap function currently assumes the worst about the alignment constraints; that should probably be fixed. Some of the 1M alignment fixes could probably be done more cleanly as well.
2009-01-21Don't run in KD_TEXT mode even with KMSJesse Barnes
Leaving the VT in KD_TEXT mode keeps the kernel's blanking code active, so when a DPMS event happens, the fb console is restored rather than X's configuration. On the downside it means the kernel won't print messages in the background, which would be visible if a panic or emergency switch occurred. The proper fix here is a new kernel mode, which we can move to when ready.
2009-01-21Tear down batchbuffers unconditionally on LeaveVTJesse Barnes
Even if KMS is enabled we should do this, to avoid running batches that depend on other state we tear down in LeaveVT.
2009-01-20Remove the pageflipping infrastructure.Owain G. Ainsworth
It was broken on current kernels, and deprecated anyway.
2009-01-20Remove triple-buffering supportOwain G. Ainsworth
It never worked with any upstream linux kernel, and is quite heavily deprecated. A new solution based around DRI2 will probably be forthcoming. Pageflipping itself is next.
2009-01-16Re-emit i915 composite setup when the batchbuffer wraps.Eric Anholt
This also introduces tests to make sure that we asked for enough reserved space and that we don't allow wrapping at the wrong time. This fixes a hang during text rendering with DRI2 and a GL client running, but could potentially affect text rendering with GEM in general with an exceptional batchbuffer setup.
2009-01-14use ifdef __linux__ where needed.Owain G. Ainsworth
since modesetting is compiled by default now, ifdef __linux__ the linux only includes and ioctls.
2009-01-06Resize framebuffer on screen size change (requires UXA and DRI2)Keith Packard
Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-30Don't touch the pipestat regs for detecting FIFO underrun. The kernel owns them.Eric Anholt
Since we don't perform any synchronization with the kernel on these regs, we could race with the kernel to write stale values and end up not having vblank interrupts enabled when somebody was waiting on one.
2008-12-29warning fix.Eric Anholt
2008-12-29Remove logical context setup.Eric Anholt
This should be a noop. If it wasn't a noop, it means that on pre-g33 chipsets we were spamming some data into a page of system memory because we used a virtual instead of a physical address. It was also supposed to not work when we submit it from a batchbuffer, as we have been doing for some time now. This code has existed since about the beginning of the driver's existence, with no justification.
2008-12-29Add PCI write posting to LeaveVT path when we're about to wait on write results.Eric Anholt
2008-12-29intel: don't call enter/leave VT for KMS enabled systemsDave Airlie
Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-12-12Fix directRenderingType checkZhenyu Wang
Don't miss classic texture memory allocation in DRI.
2008-12-11Try to always probe SDVOC on 965G/965GMZhenyu Wang
Detect bit of SDVOC is reserved on 965G/965GM, instead of ignore SDVOC this trys to always probe it on these chipsets.
2008-12-08i965: Add batch_flush_notify hook to create new vertex-buffer boCarl Worth
This avoids mapping a buffer object which is being referenced by a batch that has already been flushed, (which is a terribly expensive operation). On my machine this brings the performance of x11perf -aa10text from 85k back to 150k, (where it was before a recent kernel upgrade). Also, before this patch, when I used my X server actively performance would drop as low as 15k---hopefully that bug is gone with this change.
2008-12-06Make sure DRI/DRI2 can initialize properly with KMS.Kristian Høgsberg
2008-12-06Simplify crtc preinit a bit.Kristian Høgsberg
2008-12-04Move i965 video cc state to BOs.Eric Anholt