aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/ohci1394.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394/ohci1394.c')
-rw-r--r--drivers/ieee1394/ohci1394.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index 06fac0d21264..5dadfd296f79 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -507,9 +507,8 @@ static void ohci_initialize(struct ti_ohci *ohci)
507 /* Set up self-id dma buffer */ 507 /* Set up self-id dma buffer */
508 reg_write(ohci, OHCI1394_SelfIDBuffer, ohci->selfid_buf_bus); 508 reg_write(ohci, OHCI1394_SelfIDBuffer, ohci->selfid_buf_bus);
509 509
510 /* enable self-id and phys */ 510 /* enable self-id */
511 reg_write(ohci, OHCI1394_LinkControlSet, OHCI1394_LinkControl_RcvSelfID | 511 reg_write(ohci, OHCI1394_LinkControlSet, OHCI1394_LinkControl_RcvSelfID);
512 OHCI1394_LinkControl_RcvPhyPkt);
513 512
514 /* Set the Config ROM mapping register */ 513 /* Set the Config ROM mapping register */
515 reg_write(ohci, OHCI1394_ConfigROMmap, ohci->csr_config_rom_bus); 514 reg_write(ohci, OHCI1394_ConfigROMmap, ohci->csr_config_rom_bus);
@@ -518,9 +517,6 @@ static void ohci_initialize(struct ti_ohci *ohci)
518 ohci->max_packet_size = 517 ohci->max_packet_size =
519 1<<(((reg_read(ohci, OHCI1394_BusOptions)>>12)&0xf)+1); 518 1<<(((reg_read(ohci, OHCI1394_BusOptions)>>12)&0xf)+1);
520 519
521 /* Don't accept phy packets into AR request context */
522 reg_write(ohci, OHCI1394_LinkControlClear, 0x00000400);
523
524 /* Clear the interrupt mask */ 520 /* Clear the interrupt mask */
525 reg_write(ohci, OHCI1394_IsoRecvIntMaskClear, 0xffffffff); 521 reg_write(ohci, OHCI1394_IsoRecvIntMaskClear, 0xffffffff);
526 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, 0xffffffff); 522 reg_write(ohci, OHCI1394_IsoRecvIntEventClear, 0xffffffff);
@@ -617,7 +613,7 @@ static void ohci_initialize(struct ti_ohci *ohci)
617#endif 613#endif
618 614
619 PRINT(KERN_DEBUG, "Serial EEPROM has suspicious values, " 615 PRINT(KERN_DEBUG, "Serial EEPROM has suspicious values, "
620 "attempting to setting max_packet_size to 512 bytes"); 616 "attempting to set max_packet_size to 512 bytes");
621 reg_write(ohci, OHCI1394_BusOptions, 617 reg_write(ohci, OHCI1394_BusOptions,
622 (reg_read(ohci, OHCI1394_BusOptions) & 0xf007) | 0x8002); 618 (reg_read(ohci, OHCI1394_BusOptions) & 0xf007) | 0x8002);
623 ohci->max_packet_size = 512; 619 ohci->max_packet_size = 512;
@@ -2377,6 +2373,7 @@ static irqreturn_t ohci_irq_handler(int irq, void *dev_id)
2377 if (event & OHCI1394_postedWriteErr) { 2373 if (event & OHCI1394_postedWriteErr) {
2378 PRINT(KERN_ERR, "physical posted write error"); 2374 PRINT(KERN_ERR, "physical posted write error");
2379 /* no recovery strategy yet, had to involve protocol drivers */ 2375 /* no recovery strategy yet, had to involve protocol drivers */
2376 event &= ~OHCI1394_postedWriteErr;
2380 } 2377 }
2381 if (event & OHCI1394_cycleTooLong) { 2378 if (event & OHCI1394_cycleTooLong) {
2382 if(printk_ratelimit()) 2379 if(printk_ratelimit())
@@ -3658,6 +3655,7 @@ static struct pci_driver ohci1394_pci_driver = {
3658/* essentially the only purpose of this code is to allow another 3655/* essentially the only purpose of this code is to allow another
3659 module to hook into ohci's interrupt handler */ 3656 module to hook into ohci's interrupt handler */
3660 3657
3658/* returns zero if successful, one if DMA context is locked up */
3661int ohci1394_stop_context(struct ti_ohci *ohci, int reg, char *msg) 3659int ohci1394_stop_context(struct ti_ohci *ohci, int reg, char *msg)
3662{ 3660{
3663 int i=0; 3661 int i=0;