26 Commits

Author SHA1 Message Date
imp
c64a2be70f o Now that I've had time to test the new interface, reintegrate it back in.
o Fix OLDCARD to use the new interface.
o Rename the offsetp argument to deltap to more closely reflect what it
  is returning (it returns the delta from the requested value to the actual
  value).
o Remove duplicate $FreeBSD$ in pccbb.c
o Allow deltap to be NULL.
o Convert new isa pcic driver and add XXX comments that this function isn't
  actually implemented there (which means that NEWCARD pccard stuff won't
  work there until it is).
o Revert attempts to make old inferface work in NEWCARD.

Subitted by: peter (Parts of the new version code)
2001-01-07 16:31:09 +00:00
imp
dc1f3a0dec Start to make code more generic so it can be used by the pccbb driver
in the future:
o Remove pcic_softc from pcic_handle and replace it with a void *
o Reduce dependence on accessing softc via a pcic_handle
Minor cleanups:
o Define a macro to count the size of an array and use it.
o Minor whitespace alignment
o make no slots found a printf not a panic.
2000-12-05 04:49:26 +00:00
imp
ca6ea62f39 Kill #define of DETACH_FORCE since it is now in card_if.m 2000-11-30 23:30:47 +00:00
imp
6830d0499d Fix arguments to kthread_create (submitted by takawata@freebsd.org).
Remove unnecessary includes
2000-10-07 05:42:43 +00:00
imp
b7be66adbf o move to using PCIC_SOFTC(dev) to get the softc
o move pcic_deactivate into pcic_detach
o Better debug messages
2000-08-19 19:20:25 +00:00
imp
037be25ed3 Remove pcic_isa_identify. I don't think it is needed.
Add pcic_detach which removes all of the pcic's children.

This lets me load/unload pcic multiple times w/o having multiple
instances of each slot attached to pcic.
2000-08-19 04:47:09 +00:00
imp
6e1779c22c Almost make loading work. This is a checkpoint. With these change we
can almost kldload this.  More work is ncessary, but I wanted to
checkpoint this now.
2000-06-18 05:25:30 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
imp
45487d7f0a OK. Next step: we read in CIS.
I've done this by having requests to allocate memory propigate up the
tree.  We'll see how well this works and reevaluate if it isn't
working well.  Also initialize ptr in the tuple.  As well as minor
reorg of memory allocation.  Likely need to do similar things for I/O
when the time comes.

I've move all defines from pccardchip.h into pccardvar.h and
eliminated pccardchip.h.
2000-04-19 08:31:21 +00:00
imp
254febffb9 checkpoint latest pccard/pcic hacking:
o Eliminate cross calls between the devices.  Instead move to using the
  newbus messaging system.  Added three new card calls: attach_card,
  detach_card, get_type.
o Eliminate interrupt routine in pccard we never use.
o Move from deactivate to detach for removing cards.
o Start mapping CIS memory, but it is broken and causes panics.  At least
  it is closer to working than before.
o Eliminate struct device everywhere.  It was bogus.
o Initialize softc for pccard device so we have valid pointers to
  ourselves.
o Implement routine to find the pcic ivar for a child device of the pccard so
  we can use it to talk to the pcic hardware.
o Lots of minor tiding up.

This version now panics when we try to read the CIS.  The next batch
of work to make this work is what was outlined in my posting to mobile
about resource allocation and such.
2000-04-13 06:42:58 +00:00
imp
9e65a575a2 Add some comments about things that have become bad as I've been
working on this code, or things that I think are layering violations.
Plus a minor whitespace cleanup in one place while I'm at it.
2000-01-10 06:17:27 +00:00
imp
a51b4e3780 Checkpoint of today's changes. We now get to the point where the pccard
layer is trying to access the now unexistant chip functions.
o Added DEVPRINTF which is like DPRINTF only calls device_printf.
o Made it possible to define PCICDEBUG
o Remove ph_parent and use the softc pointer sc instead in pcic_handle.
o Remove all references to dv_xname
o Add some debug messages.
o enable MI attach/detach calling for pccard.
o convert pcic_chip_socket_{en,dis}able to pcic_{dis,en}able_socket
  and connect them to the power_{enable,disbale}_socket.
o Remove pccard pointer from pcic_softc.
o GC some unused pccard functions.
o Convert pccard_chip_socket* to POWER_ENABLE_SOCKET
o kill pccard_attach_args.
o power_if.m updates.  More to come.
2000-01-06 07:30:28 +00:00
imp
5809f88be4 Connect interrupts and start processing them. We panic on card removal
now, but we're getting interrupts!
o Add pcic_suspend/pcic_resume so we can detach our children on suspention
  and fix the state of the pcic on resume.
o Remove some unused parts of softc.
o Centralize resource activation/deactivation for pcic bridge chip in
  the stylistic pcic_activate/pcic_deactivate.
o Add bus_print_child method so we can see the pccard attachment.
o Add pcic_identify in an attempt to make it possible to automatically id
  the pcic devices.  This works great, but we cannot divine the irq to use
  from this method, nor the memory hole.  For the moment, KLUDGE irq to be
  10 and memory hold to be 0xd0000.
o Loose the pnp probe stuff.  This may be a big mistake, but it is easy
  enough to add back later.  I did this so the identify routines can do their
  thing unmolested by pnp information.  The whole identify thing may be a bad
  idea to be ripped out later.
o change return type of pcic_intr to void, make it static and ripple
  this through the code.
o Add explicit call to bus_generic_attach at the end of pcic_attach to
  get any children probed/attached.
o add some comments about future directions/questionable things being
  done at different layers, etc.
2000-01-03 06:45:16 +00:00
imp
53a4306dc9 Delay creation of threads until after the idle thread is created, more
or less.  This is a kludge because there is no support for delayed
creation of threads early in the boot process.

NEWCARD new boots and the thread process starts and is visible from
ps.

Now, on to dev/pccard.
1999-12-21 08:32:15 +00:00
imp
a4f9c84aaa Make attach work, almost. Calling kthread_create from a
config_intrhook_establish doesn't work.  Children aren't yet attached
properly, but that's ok because pccard would likely panic in its
current shape.
o Save dev of pcic early in attach process
o save dev in pcic_handle for use in pcic_create_event_thread.
o Remove direct attachments of pccard children for now
o move establishment of pcic kthread to config_intrhook.
1999-12-20 06:47:38 +00:00
imp
8fe589f18a o Hide pcic_chip functions inside file
o Attach children in a better way than before.
o Remove some dead code
o collapse the socket attach routines into pcic_attach
1999-12-19 07:39:10 +00:00
imp
b7a50ab0f1 o Separate out alloc/release from the activation
o minor formatting nits
o remove the bus_map/unmap calls.  FreeBSD doesn't need them.
o Fix most of the compiler warnings remaining (some still remain, but they
  are releated to calling functions that are going to change, so I did
  not bother).
1999-12-17 09:00:11 +00:00
imp
0c150ca4f7 Add alloc/release resource. Need to connect functionality later. 1999-12-15 06:57:18 +00:00
imp
08ea43ec86 o Implement IRQ activation. We do this in bus_{setup,teardown}_intr,
per discussions on -arch.  This is different than -current's pccard
  code, but shouldn't have any real difference.
o More code cleanup.

Next step: convert bus_space_* mapping stuff to newbus.
1999-12-08 01:42:44 +00:00
imp
03f3b63041 Tonight's cleanups.
o Implement memory and I/O activation/deactivation.  irq not handled.
o switch pcic_chip functions around to use more convenient types.
o kill __P and most of the old K&R prototypes just to be mean.
o minor other nits
1999-12-07 06:44:38 +00:00
imp
d2ef3b0fa0 Add resource activation routines to pcic driver. Minor cleanup of
socket attach code.  We now have at least a chance for pccard devices
appearing in the future.

This is a snapshot of ongoing work.  Proceed at your own risk.
1999-11-28 21:11:13 +00:00
imp
cf802d0461 Update pccard code to latest NetBSD code. This is the last merge
before newbusification hits full steam ahead.

All:
	Adjust NetBSD labels to reflect new base versions.
dev/pcic/i82365.c:
	1.24	Interface change for kernel threads
	1.25	Massive unification for cardbus
dev/pcic/i82365var.h
	1.8	Massive unification for cardbus
dev/pcic/i82365_isasubr.c
	1.3	Massive unification for cardbus
dev/pccard/pccard_cis.c
	1.11	Massive unification for cardbus
		(better device printing, better memspace calcs)
dev/pccard/pccard_cis_quirks.c
	1.4,1.5	Lotsa 3com devices
dev/pccard/pccardchip.h
	1.4	Massive unification for cardbus
dev/pccard/pccarddevs
	1.33..1.59 Lots of devices
1999-11-28 05:49:27 +00:00
imp
9d91943c0f Latest incremental efforts on newcard:
o Delete pcic1 from NEWCARD
o Add explicit resource hints to pcic0
o Get attach working with newbus, kinda (it does all the newbus stuff,
  but doesn't try to attach the pccard yet, too many panics).
o Disable ie0 and le0 in NEWCARD config.  There appears to be a bug in
  the isa_compat code wrt memory conflicts with newbus drivers for
  reasons unknown.
o Minor cleanups.
1999-11-20 07:23:28 +00:00
imp
21f0026c85 Make these compile. Next step is to connect newbus plumbing. 1999-10-27 05:24:09 +00:00
imp
570c151d90 Very preliminary pcic device support. Will make depend, but won't
(yet) compile and link.  Renamed pcic back to pcic from pcicx, but
conditionalize its inclusion on pccard being included also.  card is
the old and pccard is the new, which is a handy way to have both in
the tree at the same time.

Obtained from: newconfig project

More to follow...
1999-10-26 16:53:57 +00:00