Commit Graph

101 Commits

Author SHA1 Message Date
mrg
bcf0a7d7e9 add r600_blit.c and radeon_cs.c. 2010-05-24 01:57:06 +00:00
mrg
4351b00b10 implement DRM_RADEON_CS ioctl, necessary for r600_dri to function.
this is mostly from freebsd (though it also exists in other versions
of the drm code) svn commits:

--
SVN rev 196470 on 2009-08-23 14:55:57Z by rnoland

Add kernel support for Radeon R6/7xx 3D.

You will still need Mesa from git and possibly an updated DDX driver,
but this is working fairly well now.
--
SVN rev 196142 on 2009-08-12 12:57:02Z by rnoland

Add support for radeon RS880 IGP chips to drm.
--
SVN rev 195501 on 2009-07-09 16:39:28Z by rnoland

Add support for Radeon HD 4770 (RV740) chips.
--
SVN rev 196471 on 2009-08-23 15:02:58Z by rnoland

Add GET_PARAM support for Z pipes.

This is needed for occulsion queries on rv530 chips.
--
SVN rev 198695 on 2009-10-30 18:07:22Z by rnoland

A bit of cleanup work on radeon_freelist_get()

  * Fix the main loop to search all buffers before sleeping.
  * Remove dead code
--
SVN rev 197606 on 2009-09-28 22:41:28Z by rnoland

Fix offset handling
--
SVN rev 197605 on 2009-09-28 22:40:29Z by rnoland

radeon_family is an enum, so ordering can be important.

sync up with what amd is shipping.
--
SVN rev 197603 on 2009-09-28 22:37:07Z by rnoland

R600 doesn't support IRQs yet, so don't try to use them.
--

special thanks to robert noland @ freebsd for making this an
easy port!
2010-05-24 01:39:06 +00:00
mrg
c049f1739e only use bus_space*() on drm_local_map_t's that have been mapped into
some bus space somewhere.  otherwise, just use normal accesses since
it is normal memory.

this fixes radeondrm on x86 since bus_space_tag_t became a pointer.

add the "GEM" and "TTM" mapping types to sysctl support (though right
now we will never have them in our list of maps.)
2010-05-19 22:14:20 +00:00
jruoho
8ad5a4d7de Update the event counters to 64-bit integers. 2010-04-12 12:04:54 +00:00
jruoho
5c7c72ca7e Add new files from ACPICA 20100121. 2010-04-08 04:37:14 +00:00
jruoho
1fc8cacd7d __UNCONST(3). 2010-04-08 04:34:22 +00:00
jruoho
bc17fdc088 Merge ACPICA 20100121 2010-04-08 04:31:48 +00:00
jruoho
3ed53cd7df Import ACPICA 20100121.
Selected changes between 20090730 and 20100121:

  * A "post-order callback" was added to AcpiWalkNamespace().

  * The ACPI_INTEGER type was removed and replaced with UINT64. Support for
    this type remains (for the time being) for compatibility reasons.

  * AcpiGetDevices() was optimized to not run extra _STA methods.

  * Fixed possible mutex acquisition errors when running _REG methods.

  * iASL was fixed not to fault when the maximum number of errors is
    reached.

  * Various miscellaneous fixes and improvements, including, for example,
    improved object repair capabilities, memory leak fixes, better type
    conversions, module-level code execution, etc.
2010-04-08 04:27:32 +00:00
mrg
c8c2757eb3 don't pass "maxaddr" as a boundary in bus_dmamap_create() like rev 1.8
did for _alloc().
2010-03-20 02:53:35 +00:00
mrg
b68c326c4a make suspend/resume actually work:
- we have to DRM_LOCK()/DRM_UNLOCK(), thus s/rad_dev/dev/ in a variable name
- only call into radeon_cp_{stop,resume}() if the device is active

with this my nforce4 dual core amd system is able to suspend/resume with both
X and drm active.
2010-03-03 03:48:39 +00:00
jruoho
cd85adf1c0 In preparation for partial modularization of the acpi(4) subtree.
* * *

XXX:	The internal memory tracking of ACPICA, available when
	ACPI_DBG_TRACK_ALLOCATIONS is defined, has been removed
	from ACPI_DEBUG.

	This is due to the instability of the ABI of ACPICA.

	If the memory tracking is enabled, ACPICA will insert a header
	to each memory allocation. As a consequence, when ACPI specific
	code is loaded as a kernel module and the running kernel has
	been compiled with ACPI_DEBUG, the result is an instant panic.
	This happens because of unaligned memory access when the code
	tries to use ACPI_FREE for a buffer obtained via ACPI_ALLOCATE,
	AcpiEvaluateObject(), and related calls.

	If the involved memory statistics are required, a separate constant
	ACPI_DEBUG_ALLOC is available in options(4) for ACPI_DEBUG kernels.

* * *

Discussed with, and ok'ed by, jmcneill@ and pooka@.
2010-02-28 12:57:11 +00:00
dyoung
c1b390d493 A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
2010-02-24 22:37:54 +00:00
jmorse
f3d653714c PR/42262: Support drm drivers (intel G33/G45) submapping pci resources 2010-01-26 08:01:26 +00:00
dyoung
3022acc4eb Expand PMF_FN_* macros. 2010-01-08 19:42:11 +00:00
kefren
df341ead56 add suspend/resume hooks for command processor 2009-12-14 21:01:07 +00:00
kefren
498a190b81 add stub pmf hook 2009-12-12 14:15:25 +00:00
dyoung
b9e4d3a3cb Delete the do-nothing device-activation hook, drm_activate(). 2009-12-06 22:51:25 +00:00
cegger
370d100bc1 make iasl build again.
patch from tnn@
2009-11-23 17:16:50 +00:00
cegger
9d14eb5043 Update ACPI_SRAT_CPU_AFFINITY to match ACPI specification 4.0.
XXX I don't know if this already happened upstream but it will sooner or later
if not.
2009-11-23 10:50:38 +00:00
jmcneill
00081f593e deregister with pmf on detach 2009-09-27 12:59:38 +00:00
jmcneill
ae0ded3a5f register with pmf 2009-09-27 12:58:51 +00:00
jmcneill
ef43763f40 Port viadrm to NetBSD and fix a bunch of compile issues:
viadrm0 at vga1: VIA P4M900 / VN896
 viadrm0: AGP at 0xf0000000 128MB
 viadrm0: Initialized via 2.11.1 20070202

xf86-video-openchrome seems happy with it, although 3d acceleration isn't
supported on the P4M900 so I can't test that part.
2009-09-27 12:39:04 +00:00
mrg
f4964bc1fa make sure to call pci_intr_*stablish() with the right first argument;
it worked by C-luck on x86, but macppc picked it up.
2009-09-27 03:48:07 +00:00
drochner
1e4e3d1be4 fix some confusion between highest DMA address and the boundary not to
be crossed in a transfer,
back out previous fixes which only added to the confusion
2009-09-12 17:16:41 +00:00
christos
5a2044242f PR/42041: Jasper Wallace: Stopgap fix for kernel assert
("(boundary & (boundary - 1)) == 0") triggers with i915drm in recent -5 kernel

Read the comment in the code for a detailed explanation. This should be fixed
properly in the i386 bus code, but it is too intrusive to do for -5.
XXX: pullup for 5.x
2009-09-10 18:11:21 +00:00
mrg
6769a80c80 - normalize netbsd drm_mtrr_del() with freebsd, removing a few #if's
- make the mtrr code do nothing on non-x86
2009-09-02 01:36:41 +00:00
mrg
2d22194137 remove a memset() that isn't necessary. 2009-09-02 01:34:34 +00:00
mrg
783fe8b458 introduce an ugly but simple hack to work around external software
requirements: set the drm pci "domain" to the pci bus unit number.
this matches what libpciaccess does for netbsd and now drm is much
happier again.
2009-08-26 01:37:10 +00:00
jmcneill
cf036af25e Hide the message about an RSDP not being found unless we are debugging. 2009-08-23 14:54:52 +00:00
mrg
60e6e5077b on netbsd with the single final close() action, make sure we clean up
all the files attached to dev->files.  we check for one per "open_count"
that is above 1.  could perhaps assert() that we are empty afterwards.

this fixes restarting X + drm after actually using drm.
2009-08-23 08:55:16 +00:00
jmcneill
932fb37c13 Use ACPI_DEBUG_PRINT instead of ACPI_INFO for AcpiNsExecModuleCodeList
debug message.
2009-08-18 18:34:39 +00:00
jmcneill
f9cf269b36 Print table header information with ACPI_DEBUG_PRINT instead of ACPI_INFO. 2009-08-18 18:28:36 +00:00
jmcneill
d24e908507 Build fixes for NetBSD. 2009-08-18 17:13:09 +00:00
jmcneill
6d58ca2204 Build fix for amd64. 2009-08-18 17:09:25 +00:00
jmcneill
1448e5faf7 config glue for acpica 2009-08-18 16:38:51 +00:00
jmcneill
2e3763cf26 Build fixes for NetBSD. 2009-08-18 16:26:10 +00:00
jmcneill
70fe0f31af initial import of acpica-20090730 2009-08-18 16:23:28 +00:00
mrg
71b88e73aa - stash the fbmap into the radeon dev_priv handle so we can ..
- call drm_rmmap() in radeon_do_cleanup_cp on the two maps created
- in several vblank functions, check to make sure we have mappings
  enabled before doing something that might blow up.  fixes PR#41715.
2009-08-08 17:59:25 +00:00
mrg
992e698d04 remove some netbsd specific code that does nothing. 2009-08-07 22:51:04 +00:00
sborrill
acb87f0c16 NetBSD doesn't support alq(9) and hence ATHHAL_DEBUG_ALQ is unusable.
Nevertheless, remove reference to old binary HAL header file in the
ATHHAL_DEBUG_ALQ section.
2009-08-07 21:01:48 +00:00
mrg
4c99008150 don't include pcidevs_data.h. 2009-06-24 19:47:15 +00:00
mrg
c33a588610 convert a DRM_ERROR() to DRM_DEBUG(). its failure is not fatal
and it tends to trigger on almost all cards.
2009-06-24 08:09:26 +00:00
mrg
8ee58c85df add a commented out section for nouveau driver.
(it's very far from being compileable.)
2009-06-23 04:42:58 +00:00
mrg
eae636e445 add a bunch of fixes mostly from rafal@.
this fixes the build for all the other drm modules.

use pci_find_device() to kill the one XXX rafal left.
2009-06-23 04:42:01 +00:00
mrg
c7c2933c33 make external drm the default. 2009-06-21 20:15:26 +00:00
mrg
44d76def57 some minor clean up:
- reduce diffs to mesa-drm where possible
- fix various formatting issues
- netbsd uses major 180 for drm (XXX)

no functional changes intended.
2009-06-20 01:07:09 +00:00
mrg
6fa8682e45 add a freshly generated drm_pciids.h 2009-06-19 03:52:20 +00:00
mrg
50fcbdf26f merge the changes from drm 85b9f737db0d2a845e4d7e2bbf9ad12ff9e2227c
with our changes and the work recently done by Arto Huusko
<arto.huusko@pp2.inet.fi> and FUKAUMI Naoki <fun@naobsd.org>.

it includes all the changes arto provided from both mesa-drm and
the r6xx-r7xx-support branch.  it does not yet include code to
handle the (deleted) drm_pciids.h file, but i'll probably just
check in a generated one for now.

i have not yet merged the changes from outside this dir.


from arto's messages to tech-x11:

The important change that was needed is that drm_scatter.c was
fixed to return pointer to all allocated pages, not just the
beginning of the allocated segments.

Other changes:

  - drm_scatter maps COHERENT memory
  - drm_drawable: drawable handle allocation is done
    inside lock
  - drm_memory: when mapping "agp" memory, store offset
    of mapped area, so that new requests to same offset
    return the same area instead of trying to remap
    and fail
  - drm_vm: use bus_space_mmap for frame buffer and registers

  - r600_cp.c: ioremapfree allocated gart range
  - radeon_cp.c: use mtsleep
  - some memset calls I had added had their args swapped,
    and no memory was cleared
2009-06-19 03:50:03 +00:00
mrg
57cc1d9fad import the missing file from mesa-drm at git change
85b9f737db0d2a845e4d7e2bbf9ad12ff9e2227c.
2009-06-19 03:38:39 +00:00
mrg
d7792ba7fe import mesa-drm git from version 85b9f737db0d2a845e4d7e2bbf9ad12ff9e2227c. 2009-06-19 03:22:23 +00:00