Commit Graph

82 Commits

Author SHA1 Message Date
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
mrg
f70233658c XXX: drm_close_pid() went away, and the hack i tried to avoid it
XXX: ended up looping forever.  replace it with a hack that doesn't
XXX: hang the system.
2009-03-30 01:48:31 +00:00
mrg
d28a4dfebd - set dev->device to the device_t
- fix a DEBUG message
- apply from sys/dev:
revision 1.20
date: 2009/01/18 10:04:35;  author: mrg;  state: Exp;  lines: +6 -2
Don't attempt to unload a DRM device that's in use.  (Note:
Unloading doesn't work right in any case -- it doesn't clean up the
sysctl tree, among other things.  This code needs Work, but at least
this prevents it crashing randomly due to autounload while X is
running.)  Also, fix the dependency list for radeondrm.

contributed anonymously.
2009-03-30 01:47:36 +00:00
mrg
881136fdf4 apply from sys/dev:
revision 1.11
date: 2009/03/29 19:50:17;  author: mrg;  state: Exp;  lines: +9 -6
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.



however, this doesn't get radeon working on amd64 here :(
2009-03-30 01:45:41 +00:00
mrg
65df1447f7 - apply from sys/dev:
revision 1.14
date: 2009/03/29 19:39:10;  author: mrg;  state: Exp;  lines: +4 -3
include the size in a falled allocation message.

- use BUS_DMA_ALLOCNOW in bus_dmamap_create() call

- remove a redundant check for NULL
2009-03-30 01:44:41 +00:00
mrg
db9cd6b98c - apply from sys/dev:
revision 1.33
date: 2009/03/29 17:00:50;  author: mrg;  state: Exp;  lines: +12 -4
add a comment explaining DRM_NETBSD_ADDR2HANDLE/DRM_NETBSD_HANDLE2ADDR:

 * This hack strips the top bit from amd64 addresses, which avoid
 * udv_attach() returning NULL for "negative" offset.
 * A better hack would be to encode the offset of some kernel data
 * structure..

add a new DRM_HANDLE_NEEDS_MASK macro to check whether the above need to
be applied for various mapping types (_DRM_SHM and _DRM_SCATTER_GATHER.)


also:
- use IPL_VM for now
- use a lot of bus_space
- struct drm_device now has a pointer to the device_t
2009-03-30 01:42:20 +00:00
mrg
4d27c3c2b1 apply from sys/dev:
revision 1.12
date: 2009/03/29 19:37:25;  author: mrg;  state: Exp;  lines: +9 -3
XXX:  for now, add the DRM_NETBSD_HANDLE2ADDR() hack in a few places.
update a debug message.
2009-03-30 01:38:21 +00:00
mrg
3d4337fb88 fix a device_t-ification. 2009-03-29 23:46:34 +00:00
martin
bce5c2205a Now that we compile the Atheros HAL from source we pass all the right
flags to the compiler so it obeys the same ABI as the rest of the kernel.
Remove the hacks used to work around the abi differences (using %s7 as
curlwp) intruduced for the binary hal.
2009-03-24 21:36:46 +00:00
mrg
7c9a97ab4a initialise some variables whined about by gcc -O3. 2009-01-06 06:03:57 +00:00
christos
d1018e8baf KNF.
NB: These were not imported properly. The Id RCS keyword lines were not
cleaned up, and there were no NetBSD keywords added. Perhaps Re-import
correctly?
2008-12-31 14:08:46 +00:00
phil
806ddf688c Add a return HAL_OK in the AR_EEP_MACADDR case. Without this
it falls through to the next case and returns a register value.
Found by Aran Clauson.
2008-12-31 07:24:01 +00:00
alc
0a5dd2a285 Restore a valid call to ath_hal_wait() and wrap the if() statement with curly bracket.
Fix build wrt the original HAL, prevent the next call to OS_REG_WRITE() to be skipped
if HALDEBUG() is not defined.

pointed out by <sam>
2008-12-13 05:16:28 +00:00
alc
c3d9f7dbb1 Don't display the global kernel symbol `version' but the *eeprom* version, as done in the original code. 2008-12-12 21:31:49 +00:00
cegger
9d34af294b make i386 ALL kernel compile 2008-12-12 21:01:59 +00:00
alc
26688c3395 Add HAL standard option and file list.
I forgot to `cvs add' them :).
2008-12-11 14:11:43 +00:00
alc
b297f5e6b5 Import HAL's OS dependent code and config(9)'s interface header. 2008-12-11 05:37:40 +00:00