Commit Graph

98 Commits

Author SHA1 Message Date
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
reinoud 8aafc997af Fix prototypes to match the functions. The prototypes had `int' specified for
parameters or result where they should have been the corresponding enums.

gcc won't bitch on them but conceptually they are different and could be
stored in a different width. Compiling with pcc brought this to light.
2009-05-14 09:07:49 +00:00
joerg a0fa8c3062 softc split as needed by the rest of the drm code. Add basic
suspend/resume hooks.
2009-05-09 01:29:01 +00:00
mrg 64b0361105 apply from sys/dev:
revision 1.17
date: 2009/03/29 19:50:17;  author: mrg;  state: Exp;  lines: +7 -7
drm_addmap():
- for _DRM_CONSISTENT mappings, keep the handle.
- use DRM_HANDLE_NEEDS_MASK()

drm_mapbufs():
- use DRM_HANDLE_NEEDS_MASK()

drm_mmap():
- use DRM_HANDLE_NEEDS_MASK()
- for _DRM_SCATTER_GATHER and _DRM_SHM, use vtophys() on the
  adjusted offset. XXX

this is gets radeon working on amd64 with an older PCI 9250 card.

XXX: need to excise vtophys() usage.
XXX: need to finish porting these fixes to external.


yay!  this takes care of one of the XXX's.  still not quite working.
2009-03-30 01:51:40 +00:00