- Use fwohci_poll() instead of fwohci_intr() to process the first bus reest.
- Wait 2 cycles before starting the process for fast machines.
This commit is contained in:
parent
087f17b85e
commit
740b10aaa9
@ -144,7 +144,6 @@ static void fwohci_irx_post __P((struct firewire_comm *, u_int32_t *));
|
||||
static int fwohci_itxbuf_enable __P((struct firewire_comm *, int));
|
||||
static int fwohci_itx_disable __P((struct firewire_comm *, int));
|
||||
static void fwohci_timeout __P((void *));
|
||||
static void fwohci_poll __P((struct firewire_comm *, int, int));
|
||||
static void fwohci_set_intr __P((struct firewire_comm *, int));
|
||||
|
||||
static int fwohci_add_rx_buf __P((struct fwohci_dbch *, struct fwohcidb_tr *, int, struct fwdma_alloc *));
|
||||
@ -2010,7 +2009,7 @@ fwohci_intr(void *arg)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
fwohci_poll(struct firewire_comm *fc, int quick, int count)
|
||||
{
|
||||
int s;
|
||||
|
@ -317,8 +317,9 @@ fwohci_pci_attach(device_t self)
|
||||
* Clear the bus reset event flag to start transactions even when
|
||||
* interrupt is disabled during the boot process.
|
||||
*/
|
||||
DELAY(250); /* 2 cycles */
|
||||
s = splfw();
|
||||
fwohci_intr((void *)sc);
|
||||
fwohci_poll((void *)sc, 0, -1);
|
||||
splx(s);
|
||||
|
||||
return 0;
|
||||
|
@ -84,6 +84,7 @@ typedef struct fwohci_softc {
|
||||
|
||||
void fwohci_intr __P((void *arg));
|
||||
int fwohci_init __P((struct fwohci_softc *, device_t));
|
||||
void fwohci_poll __P((struct firewire_comm *, int, int));
|
||||
void fwohci_reset __P((struct fwohci_softc *, device_t));
|
||||
int fwohci_detach __P((struct fwohci_softc *, device_t));
|
||||
int fwohci_resume __P((struct fwohci_softc *, device_t));
|
||||
|
Loading…
Reference in New Issue
Block a user